// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: Mail.proto

package pb.xiugou.x1.protobuf.mail;

public final class Mail {
  private Mail() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface MailInfoResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.MailInfoResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *邮件数据
     * </pre>
     *
     * <code>repeated .pb.PbMailData mails = 1;</code>
     */
    java.util.List<pb.xiugou.x1.protobuf.mail.Mail.PbMailData> 
        getMailsList();
    /**
     * <pre>
     *邮件数据
     * </pre>
     *
     * <code>repeated .pb.PbMailData mails = 1;</code>
     */
    pb.xiugou.x1.protobuf.mail.Mail.PbMailData getMails(int index);
    /**
     * <pre>
     *邮件数据
     * </pre>
     *
     * <code>repeated .pb.PbMailData mails = 1;</code>
     */
    int getMailsCount();
    /**
     * <pre>
     *邮件数据
     * </pre>
     *
     * <code>repeated .pb.PbMailData mails = 1;</code>
     */
    java.util.List<? extends pb.xiugou.x1.protobuf.mail.Mail.PbMailDataOrBuilder> 
        getMailsOrBuilderList();
    /**
     * <pre>
     *邮件数据
     * </pre>
     *
     * <code>repeated .pb.PbMailData mails = 1;</code>
     */
    pb.xiugou.x1.protobuf.mail.Mail.PbMailDataOrBuilder getMailsOrBuilder(
        int index);
  }
  /**
   * <pre>
   *邮件数据
   * </pre>
   *
   * Protobuf type {@code pb.MailInfoResponse}
   */
  public  static final class MailInfoResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.MailInfoResponse)
      MailInfoResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use MailInfoResponse.newBuilder() to construct.
    private MailInfoResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private MailInfoResponse() {
      mails_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new MailInfoResponse();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private MailInfoResponse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                mails_ = new java.util.ArrayList<pb.xiugou.x1.protobuf.mail.Mail.PbMailData>();
                mutable_bitField0_ |= 0x00000001;
              }
              mails_.add(
                  input.readMessage(pb.xiugou.x1.protobuf.mail.Mail.PbMailData.parser(), extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          mails_ = java.util.Collections.unmodifiableList(mails_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailInfoResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailInfoResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse.class, pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.MailInfoResponse.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 600001;</code>
       */
      ID(600001),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 600001;</code>
       */
      public static final int ID_VALUE = 600001;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 600001: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

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

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.MailInfoResponse.Proto)
    }

    public static final int MAILS_FIELD_NUMBER = 1;
    private java.util.List<pb.xiugou.x1.protobuf.mail.Mail.PbMailData> mails_;
    /**
     * <pre>
     *邮件数据
     * </pre>
     *
     * <code>repeated .pb.PbMailData mails = 1;</code>
     */
    public java.util.List<pb.xiugou.x1.protobuf.mail.Mail.PbMailData> getMailsList() {
      return mails_;
    }
    /**
     * <pre>
     *邮件数据
     * </pre>
     *
     * <code>repeated .pb.PbMailData mails = 1;</code>
     */
    public java.util.List<? extends pb.xiugou.x1.protobuf.mail.Mail.PbMailDataOrBuilder> 
        getMailsOrBuilderList() {
      return mails_;
    }
    /**
     * <pre>
     *邮件数据
     * </pre>
     *
     * <code>repeated .pb.PbMailData mails = 1;</code>
     */
    public int getMailsCount() {
      return mails_.size();
    }
    /**
     * <pre>
     *邮件数据
     * </pre>
     *
     * <code>repeated .pb.PbMailData mails = 1;</code>
     */
    public pb.xiugou.x1.protobuf.mail.Mail.PbMailData getMails(int index) {
      return mails_.get(index);
    }
    /**
     * <pre>
     *邮件数据
     * </pre>
     *
     * <code>repeated .pb.PbMailData mails = 1;</code>
     */
    public pb.xiugou.x1.protobuf.mail.Mail.PbMailDataOrBuilder getMailsOrBuilder(
        int index) {
      return mails_.get(index);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < mails_.size(); i++) {
        output.writeMessage(1, mails_.get(i));
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < mails_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, mails_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse other = (pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse) obj;

      if (!getMailsList()
          .equals(other.getMailsList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getMailsCount() > 0) {
        hash = (37 * hash) + MAILS_FIELD_NUMBER;
        hash = (53 * hash) + getMailsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *邮件数据
     * </pre>
     *
     * Protobuf type {@code pb.MailInfoResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.MailInfoResponse)
        pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailInfoResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailInfoResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse.class, pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getMailsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (mailsBuilder_ == null) {
          mails_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          mailsBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailInfoResponse_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse build() {
        pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse buildPartial() {
        pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse result = new pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse(this);
        int from_bitField0_ = bitField0_;
        if (mailsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            mails_ = java.util.Collections.unmodifiableList(mails_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.mails_ = mails_;
        } else {
          result.mails_ = mailsBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse) {
          return mergeFrom((pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse other) {
        if (other == pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse.getDefaultInstance()) return this;
        if (mailsBuilder_ == null) {
          if (!other.mails_.isEmpty()) {
            if (mails_.isEmpty()) {
              mails_ = other.mails_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureMailsIsMutable();
              mails_.addAll(other.mails_);
            }
            onChanged();
          }
        } else {
          if (!other.mails_.isEmpty()) {
            if (mailsBuilder_.isEmpty()) {
              mailsBuilder_.dispose();
              mailsBuilder_ = null;
              mails_ = other.mails_;
              bitField0_ = (bitField0_ & ~0x00000001);
              mailsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getMailsFieldBuilder() : null;
            } else {
              mailsBuilder_.addAllMessages(other.mails_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.util.List<pb.xiugou.x1.protobuf.mail.Mail.PbMailData> mails_ =
        java.util.Collections.emptyList();
      private void ensureMailsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          mails_ = new java.util.ArrayList<pb.xiugou.x1.protobuf.mail.Mail.PbMailData>(mails_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          pb.xiugou.x1.protobuf.mail.Mail.PbMailData, pb.xiugou.x1.protobuf.mail.Mail.PbMailData.Builder, pb.xiugou.x1.protobuf.mail.Mail.PbMailDataOrBuilder> mailsBuilder_;

      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public java.util.List<pb.xiugou.x1.protobuf.mail.Mail.PbMailData> getMailsList() {
        if (mailsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(mails_);
        } else {
          return mailsBuilder_.getMessageList();
        }
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public int getMailsCount() {
        if (mailsBuilder_ == null) {
          return mails_.size();
        } else {
          return mailsBuilder_.getCount();
        }
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public pb.xiugou.x1.protobuf.mail.Mail.PbMailData getMails(int index) {
        if (mailsBuilder_ == null) {
          return mails_.get(index);
        } else {
          return mailsBuilder_.getMessage(index);
        }
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public Builder setMails(
          int index, pb.xiugou.x1.protobuf.mail.Mail.PbMailData value) {
        if (mailsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureMailsIsMutable();
          mails_.set(index, value);
          onChanged();
        } else {
          mailsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public Builder setMails(
          int index, pb.xiugou.x1.protobuf.mail.Mail.PbMailData.Builder builderForValue) {
        if (mailsBuilder_ == null) {
          ensureMailsIsMutable();
          mails_.set(index, builderForValue.build());
          onChanged();
        } else {
          mailsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public Builder addMails(pb.xiugou.x1.protobuf.mail.Mail.PbMailData value) {
        if (mailsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureMailsIsMutable();
          mails_.add(value);
          onChanged();
        } else {
          mailsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public Builder addMails(
          int index, pb.xiugou.x1.protobuf.mail.Mail.PbMailData value) {
        if (mailsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureMailsIsMutable();
          mails_.add(index, value);
          onChanged();
        } else {
          mailsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public Builder addMails(
          pb.xiugou.x1.protobuf.mail.Mail.PbMailData.Builder builderForValue) {
        if (mailsBuilder_ == null) {
          ensureMailsIsMutable();
          mails_.add(builderForValue.build());
          onChanged();
        } else {
          mailsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public Builder addMails(
          int index, pb.xiugou.x1.protobuf.mail.Mail.PbMailData.Builder builderForValue) {
        if (mailsBuilder_ == null) {
          ensureMailsIsMutable();
          mails_.add(index, builderForValue.build());
          onChanged();
        } else {
          mailsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public Builder addAllMails(
          java.lang.Iterable<? extends pb.xiugou.x1.protobuf.mail.Mail.PbMailData> values) {
        if (mailsBuilder_ == null) {
          ensureMailsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, mails_);
          onChanged();
        } else {
          mailsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public Builder clearMails() {
        if (mailsBuilder_ == null) {
          mails_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          mailsBuilder_.clear();
        }
        return this;
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public Builder removeMails(int index) {
        if (mailsBuilder_ == null) {
          ensureMailsIsMutable();
          mails_.remove(index);
          onChanged();
        } else {
          mailsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public pb.xiugou.x1.protobuf.mail.Mail.PbMailData.Builder getMailsBuilder(
          int index) {
        return getMailsFieldBuilder().getBuilder(index);
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public pb.xiugou.x1.protobuf.mail.Mail.PbMailDataOrBuilder getMailsOrBuilder(
          int index) {
        if (mailsBuilder_ == null) {
          return mails_.get(index);  } else {
          return mailsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public java.util.List<? extends pb.xiugou.x1.protobuf.mail.Mail.PbMailDataOrBuilder> 
           getMailsOrBuilderList() {
        if (mailsBuilder_ != null) {
          return mailsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(mails_);
        }
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public pb.xiugou.x1.protobuf.mail.Mail.PbMailData.Builder addMailsBuilder() {
        return getMailsFieldBuilder().addBuilder(
            pb.xiugou.x1.protobuf.mail.Mail.PbMailData.getDefaultInstance());
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public pb.xiugou.x1.protobuf.mail.Mail.PbMailData.Builder addMailsBuilder(
          int index) {
        return getMailsFieldBuilder().addBuilder(
            index, pb.xiugou.x1.protobuf.mail.Mail.PbMailData.getDefaultInstance());
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public java.util.List<pb.xiugou.x1.protobuf.mail.Mail.PbMailData.Builder> 
           getMailsBuilderList() {
        return getMailsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          pb.xiugou.x1.protobuf.mail.Mail.PbMailData, pb.xiugou.x1.protobuf.mail.Mail.PbMailData.Builder, pb.xiugou.x1.protobuf.mail.Mail.PbMailDataOrBuilder> 
          getMailsFieldBuilder() {
        if (mailsBuilder_ == null) {
          mailsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              pb.xiugou.x1.protobuf.mail.Mail.PbMailData, pb.xiugou.x1.protobuf.mail.Mail.PbMailData.Builder, pb.xiugou.x1.protobuf.mail.Mail.PbMailDataOrBuilder>(
                  mails_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          mails_ = null;
        }
        return mailsBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.MailInfoResponse)
    }

    // @@protoc_insertion_point(class_scope:pb.MailInfoResponse)
    private static final pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse();
    }

    public static pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<MailInfoResponse>
        PARSER = new com.google.protobuf.AbstractParser<MailInfoResponse>() {
      @java.lang.Override
      public MailInfoResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new MailInfoResponse(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<MailInfoResponse> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<MailInfoResponse> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.mail.Mail.MailInfoResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface MailReceiveOneRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.MailReceiveOneRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *邮件ID
     * </pre>
     *
     * <code>int64 id = 1;</code>
     * @return The id.
     */
    long getId();
  }
  /**
   * <pre>
   *领取附件奖励
   * </pre>
   *
   * Protobuf type {@code pb.MailReceiveOneRequest}
   */
  public  static final class MailReceiveOneRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.MailReceiveOneRequest)
      MailReceiveOneRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use MailReceiveOneRequest.newBuilder() to construct.
    private MailReceiveOneRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private MailReceiveOneRequest() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new MailReceiveOneRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private MailReceiveOneRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {

              id_ = input.readInt64();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailReceiveOneRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailReceiveOneRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest.class, pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.MailReceiveOneRequest.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 600002;</code>
       */
      ID(600002),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 600002;</code>
       */
      public static final int ID_VALUE = 600002;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 600002: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

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

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.MailReceiveOneRequest.Proto)
    }

    public static final int ID_FIELD_NUMBER = 1;
    private long id_;
    /**
     * <pre>
     *邮件ID
     * </pre>
     *
     * <code>int64 id = 1;</code>
     * @return The id.
     */
    public long getId() {
      return id_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (id_ != 0L) {
        output.writeInt64(1, id_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (id_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, id_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest other = (pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest) obj;

      if (getId()
          != other.getId()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getId());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *领取附件奖励
     * </pre>
     *
     * Protobuf type {@code pb.MailReceiveOneRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.MailReceiveOneRequest)
        pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailReceiveOneRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailReceiveOneRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest.class, pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        id_ = 0L;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailReceiveOneRequest_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest build() {
        pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest buildPartial() {
        pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest result = new pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest(this);
        result.id_ = id_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest) {
          return mergeFrom((pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest other) {
        if (other == pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest.getDefaultInstance()) return this;
        if (other.getId() != 0L) {
          setId(other.getId());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long id_ ;
      /**
       * <pre>
       *邮件ID
       * </pre>
       *
       * <code>int64 id = 1;</code>
       * @return The id.
       */
      public long getId() {
        return id_;
      }
      /**
       * <pre>
       *邮件ID
       * </pre>
       *
       * <code>int64 id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(long value) {
        
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *邮件ID
       * </pre>
       *
       * <code>int64 id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        
        id_ = 0L;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.MailReceiveOneRequest)
    }

    // @@protoc_insertion_point(class_scope:pb.MailReceiveOneRequest)
    private static final pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest();
    }

    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<MailReceiveOneRequest>
        PARSER = new com.google.protobuf.AbstractParser<MailReceiveOneRequest>() {
      @java.lang.Override
      public MailReceiveOneRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new MailReceiveOneRequest(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<MailReceiveOneRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<MailReceiveOneRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface MailReceiveOneResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.MailReceiveOneResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *邮件ID
     * </pre>
     *
     * <code>int64 id = 1;</code>
     * @return The id.
     */
    long getId();

    /**
     * <pre>
     *是否已领
     * </pre>
     *
     * <code>bool receive = 2;</code>
     * @return The receive.
     */
    boolean getReceive();
  }
  /**
   * Protobuf type {@code pb.MailReceiveOneResponse}
   */
  public  static final class MailReceiveOneResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.MailReceiveOneResponse)
      MailReceiveOneResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use MailReceiveOneResponse.newBuilder() to construct.
    private MailReceiveOneResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private MailReceiveOneResponse() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new MailReceiveOneResponse();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private MailReceiveOneResponse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {

              id_ = input.readInt64();
              break;
            }
            case 16: {

              receive_ = input.readBool();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailReceiveOneResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailReceiveOneResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse.class, pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.MailReceiveOneResponse.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 600002;</code>
       */
      ID(600002),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 600002;</code>
       */
      public static final int ID_VALUE = 600002;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 600002: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

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

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.MailReceiveOneResponse.Proto)
    }

    public static final int ID_FIELD_NUMBER = 1;
    private long id_;
    /**
     * <pre>
     *邮件ID
     * </pre>
     *
     * <code>int64 id = 1;</code>
     * @return The id.
     */
    public long getId() {
      return id_;
    }

    public static final int RECEIVE_FIELD_NUMBER = 2;
    private boolean receive_;
    /**
     * <pre>
     *是否已领
     * </pre>
     *
     * <code>bool receive = 2;</code>
     * @return The receive.
     */
    public boolean getReceive() {
      return receive_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (id_ != 0L) {
        output.writeInt64(1, id_);
      }
      if (receive_ != false) {
        output.writeBool(2, receive_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (id_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, id_);
      }
      if (receive_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(2, receive_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse other = (pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse) obj;

      if (getId()
          != other.getId()) return false;
      if (getReceive()
          != other.getReceive()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getId());
      hash = (37 * hash) + RECEIVE_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getReceive());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code pb.MailReceiveOneResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.MailReceiveOneResponse)
        pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailReceiveOneResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailReceiveOneResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse.class, pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        id_ = 0L;

        receive_ = false;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailReceiveOneResponse_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse build() {
        pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse buildPartial() {
        pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse result = new pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse(this);
        result.id_ = id_;
        result.receive_ = receive_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse) {
          return mergeFrom((pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse other) {
        if (other == pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse.getDefaultInstance()) return this;
        if (other.getId() != 0L) {
          setId(other.getId());
        }
        if (other.getReceive() != false) {
          setReceive(other.getReceive());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long id_ ;
      /**
       * <pre>
       *邮件ID
       * </pre>
       *
       * <code>int64 id = 1;</code>
       * @return The id.
       */
      public long getId() {
        return id_;
      }
      /**
       * <pre>
       *邮件ID
       * </pre>
       *
       * <code>int64 id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(long value) {
        
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *邮件ID
       * </pre>
       *
       * <code>int64 id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        
        id_ = 0L;
        onChanged();
        return this;
      }

      private boolean receive_ ;
      /**
       * <pre>
       *是否已领
       * </pre>
       *
       * <code>bool receive = 2;</code>
       * @return The receive.
       */
      public boolean getReceive() {
        return receive_;
      }
      /**
       * <pre>
       *是否已领
       * </pre>
       *
       * <code>bool receive = 2;</code>
       * @param value The receive to set.
       * @return This builder for chaining.
       */
      public Builder setReceive(boolean value) {
        
        receive_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *是否已领
       * </pre>
       *
       * <code>bool receive = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearReceive() {
        
        receive_ = false;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.MailReceiveOneResponse)
    }

    // @@protoc_insertion_point(class_scope:pb.MailReceiveOneResponse)
    private static final pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse();
    }

    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<MailReceiveOneResponse>
        PARSER = new com.google.protobuf.AbstractParser<MailReceiveOneResponse>() {
      @java.lang.Override
      public MailReceiveOneResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new MailReceiveOneResponse(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<MailReceiveOneResponse> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<MailReceiveOneResponse> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.mail.Mail.MailReceiveOneResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface MailReceiveBatchRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.MailReceiveBatchRequest)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * <pre>
   *批量领取，一键领取
   * </pre>
   *
   * Protobuf type {@code pb.MailReceiveBatchRequest}
   */
  public  static final class MailReceiveBatchRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.MailReceiveBatchRequest)
      MailReceiveBatchRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use MailReceiveBatchRequest.newBuilder() to construct.
    private MailReceiveBatchRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private MailReceiveBatchRequest() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new MailReceiveBatchRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private MailReceiveBatchRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailReceiveBatchRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailReceiveBatchRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest.class, pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.MailReceiveBatchRequest.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 600003;</code>
       */
      ID(600003),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 600003;</code>
       */
      public static final int ID_VALUE = 600003;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 600003: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

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

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.MailReceiveBatchRequest.Proto)
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest other = (pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest) obj;

      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *批量领取，一键领取
     * </pre>
     *
     * Protobuf type {@code pb.MailReceiveBatchRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.MailReceiveBatchRequest)
        pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailReceiveBatchRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailReceiveBatchRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest.class, pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailReceiveBatchRequest_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest build() {
        pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest buildPartial() {
        pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest result = new pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest) {
          return mergeFrom((pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest other) {
        if (other == pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.MailReceiveBatchRequest)
    }

    // @@protoc_insertion_point(class_scope:pb.MailReceiveBatchRequest)
    private static final pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest();
    }

    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<MailReceiveBatchRequest>
        PARSER = new com.google.protobuf.AbstractParser<MailReceiveBatchRequest>() {
      @java.lang.Override
      public MailReceiveBatchRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new MailReceiveBatchRequest(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<MailReceiveBatchRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<MailReceiveBatchRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface MailReceiveBatchResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.MailReceiveBatchResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *变为已读已领取的邮件ID
     * </pre>
     *
     * <code>repeated int64 ids = 1;</code>
     * @return A list containing the ids.
     */
    java.util.List<java.lang.Long> getIdsList();
    /**
     * <pre>
     *变为已读已领取的邮件ID
     * </pre>
     *
     * <code>repeated int64 ids = 1;</code>
     * @return The count of ids.
     */
    int getIdsCount();
    /**
     * <pre>
     *变为已读已领取的邮件ID
     * </pre>
     *
     * <code>repeated int64 ids = 1;</code>
     * @param index The index of the element to return.
     * @return The ids at the given index.
     */
    long getIds(int index);

    /**
     * <pre>
     *批量领取到的奖励
     * </pre>
     *
     * <code>repeated .pb.PbThing things = 2;</code>
     */
    java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing> 
        getThingsList();
    /**
     * <pre>
     *批量领取到的奖励
     * </pre>
     *
     * <code>repeated .pb.PbThing things = 2;</code>
     */
    pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing getThings(int index);
    /**
     * <pre>
     *批量领取到的奖励
     * </pre>
     *
     * <code>repeated .pb.PbThing things = 2;</code>
     */
    int getThingsCount();
    /**
     * <pre>
     *批量领取到的奖励
     * </pre>
     *
     * <code>repeated .pb.PbThing things = 2;</code>
     */
    java.util.List<? extends pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThingOrBuilder> 
        getThingsOrBuilderList();
    /**
     * <pre>
     *批量领取到的奖励
     * </pre>
     *
     * <code>repeated .pb.PbThing things = 2;</code>
     */
    pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThingOrBuilder getThingsOrBuilder(
        int index);

    /**
     * <pre>
     *背包是否已经满了
     * </pre>
     *
     * <code>bool has_full = 3;</code>
     * @return The hasFull.
     */
    boolean getHasFull();
  }
  /**
   * Protobuf type {@code pb.MailReceiveBatchResponse}
   */
  public  static final class MailReceiveBatchResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.MailReceiveBatchResponse)
      MailReceiveBatchResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use MailReceiveBatchResponse.newBuilder() to construct.
    private MailReceiveBatchResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private MailReceiveBatchResponse() {
      ids_ = emptyLongList();
      things_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new MailReceiveBatchResponse();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private MailReceiveBatchResponse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                ids_ = newLongList();
                mutable_bitField0_ |= 0x00000001;
              }
              ids_.addLong(input.readInt64());
              break;
            }
            case 10: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) {
                ids_ = newLongList();
                mutable_bitField0_ |= 0x00000001;
              }
              while (input.getBytesUntilLimit() > 0) {
                ids_.addLong(input.readInt64());
              }
              input.popLimit(limit);
              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                things_ = new java.util.ArrayList<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing>();
                mutable_bitField0_ |= 0x00000002;
              }
              things_.add(
                  input.readMessage(pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing.parser(), extensionRegistry));
              break;
            }
            case 24: {

              hasFull_ = input.readBool();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          ids_.makeImmutable(); // C
        }
        if (((mutable_bitField0_ & 0x00000002) != 0)) {
          things_ = java.util.Collections.unmodifiableList(things_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailReceiveBatchResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailReceiveBatchResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse.class, pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.MailReceiveBatchResponse.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 600003;</code>
       */
      ID(600003),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 600003;</code>
       */
      public static final int ID_VALUE = 600003;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 600003: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

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

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.MailReceiveBatchResponse.Proto)
    }

    public static final int IDS_FIELD_NUMBER = 1;
    private com.google.protobuf.Internal.LongList ids_;
    /**
     * <pre>
     *变为已读已领取的邮件ID
     * </pre>
     *
     * <code>repeated int64 ids = 1;</code>
     * @return A list containing the ids.
     */
    public java.util.List<java.lang.Long>
        getIdsList() {
      return ids_;
    }
    /**
     * <pre>
     *变为已读已领取的邮件ID
     * </pre>
     *
     * <code>repeated int64 ids = 1;</code>
     * @return The count of ids.
     */
    public int getIdsCount() {
      return ids_.size();
    }
    /**
     * <pre>
     *变为已读已领取的邮件ID
     * </pre>
     *
     * <code>repeated int64 ids = 1;</code>
     * @param index The index of the element to return.
     * @return The ids at the given index.
     */
    public long getIds(int index) {
      return ids_.getLong(index);
    }
    private int idsMemoizedSerializedSize = -1;

    public static final int THINGS_FIELD_NUMBER = 2;
    private java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing> things_;
    /**
     * <pre>
     *批量领取到的奖励
     * </pre>
     *
     * <code>repeated .pb.PbThing things = 2;</code>
     */
    public java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing> getThingsList() {
      return things_;
    }
    /**
     * <pre>
     *批量领取到的奖励
     * </pre>
     *
     * <code>repeated .pb.PbThing things = 2;</code>
     */
    public java.util.List<? extends pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThingOrBuilder> 
        getThingsOrBuilderList() {
      return things_;
    }
    /**
     * <pre>
     *批量领取到的奖励
     * </pre>
     *
     * <code>repeated .pb.PbThing things = 2;</code>
     */
    public int getThingsCount() {
      return things_.size();
    }
    /**
     * <pre>
     *批量领取到的奖励
     * </pre>
     *
     * <code>repeated .pb.PbThing things = 2;</code>
     */
    public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing getThings(int index) {
      return things_.get(index);
    }
    /**
     * <pre>
     *批量领取到的奖励
     * </pre>
     *
     * <code>repeated .pb.PbThing things = 2;</code>
     */
    public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThingOrBuilder getThingsOrBuilder(
        int index) {
      return things_.get(index);
    }

    public static final int HAS_FULL_FIELD_NUMBER = 3;
    private boolean hasFull_;
    /**
     * <pre>
     *背包是否已经满了
     * </pre>
     *
     * <code>bool has_full = 3;</code>
     * @return The hasFull.
     */
    public boolean getHasFull() {
      return hasFull_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (getIdsList().size() > 0) {
        output.writeUInt32NoTag(10);
        output.writeUInt32NoTag(idsMemoizedSerializedSize);
      }
      for (int i = 0; i < ids_.size(); i++) {
        output.writeInt64NoTag(ids_.getLong(i));
      }
      for (int i = 0; i < things_.size(); i++) {
        output.writeMessage(2, things_.get(i));
      }
      if (hasFull_ != false) {
        output.writeBool(3, hasFull_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      {
        int dataSize = 0;
        for (int i = 0; i < ids_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeInt64SizeNoTag(ids_.getLong(i));
        }
        size += dataSize;
        if (!getIdsList().isEmpty()) {
          size += 1;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        idsMemoizedSerializedSize = dataSize;
      }
      for (int i = 0; i < things_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, things_.get(i));
      }
      if (hasFull_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(3, hasFull_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse other = (pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse) obj;

      if (!getIdsList()
          .equals(other.getIdsList())) return false;
      if (!getThingsList()
          .equals(other.getThingsList())) return false;
      if (getHasFull()
          != other.getHasFull()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getIdsCount() > 0) {
        hash = (37 * hash) + IDS_FIELD_NUMBER;
        hash = (53 * hash) + getIdsList().hashCode();
      }
      if (getThingsCount() > 0) {
        hash = (37 * hash) + THINGS_FIELD_NUMBER;
        hash = (53 * hash) + getThingsList().hashCode();
      }
      hash = (37 * hash) + HAS_FULL_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getHasFull());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code pb.MailReceiveBatchResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.MailReceiveBatchResponse)
        pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailReceiveBatchResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailReceiveBatchResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse.class, pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getThingsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        ids_ = emptyLongList();
        bitField0_ = (bitField0_ & ~0x00000001);
        if (thingsBuilder_ == null) {
          things_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          thingsBuilder_.clear();
        }
        hasFull_ = false;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailReceiveBatchResponse_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse build() {
        pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse buildPartial() {
        pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse result = new pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse(this);
        int from_bitField0_ = bitField0_;
        if (((bitField0_ & 0x00000001) != 0)) {
          ids_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.ids_ = ids_;
        if (thingsBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0)) {
            things_ = java.util.Collections.unmodifiableList(things_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.things_ = things_;
        } else {
          result.things_ = thingsBuilder_.build();
        }
        result.hasFull_ = hasFull_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse) {
          return mergeFrom((pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse other) {
        if (other == pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse.getDefaultInstance()) return this;
        if (!other.ids_.isEmpty()) {
          if (ids_.isEmpty()) {
            ids_ = other.ids_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureIdsIsMutable();
            ids_.addAll(other.ids_);
          }
          onChanged();
        }
        if (thingsBuilder_ == null) {
          if (!other.things_.isEmpty()) {
            if (things_.isEmpty()) {
              things_ = other.things_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureThingsIsMutable();
              things_.addAll(other.things_);
            }
            onChanged();
          }
        } else {
          if (!other.things_.isEmpty()) {
            if (thingsBuilder_.isEmpty()) {
              thingsBuilder_.dispose();
              thingsBuilder_ = null;
              things_ = other.things_;
              bitField0_ = (bitField0_ & ~0x00000002);
              thingsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getThingsFieldBuilder() : null;
            } else {
              thingsBuilder_.addAllMessages(other.things_);
            }
          }
        }
        if (other.getHasFull() != false) {
          setHasFull(other.getHasFull());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private com.google.protobuf.Internal.LongList ids_ = emptyLongList();
      private void ensureIdsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          ids_ = mutableCopy(ids_);
          bitField0_ |= 0x00000001;
         }
      }
      /**
       * <pre>
       *变为已读已领取的邮件ID
       * </pre>
       *
       * <code>repeated int64 ids = 1;</code>
       * @return A list containing the ids.
       */
      public java.util.List<java.lang.Long>
          getIdsList() {
        return ((bitField0_ & 0x00000001) != 0) ?
                 java.util.Collections.unmodifiableList(ids_) : ids_;
      }
      /**
       * <pre>
       *变为已读已领取的邮件ID
       * </pre>
       *
       * <code>repeated int64 ids = 1;</code>
       * @return The count of ids.
       */
      public int getIdsCount() {
        return ids_.size();
      }
      /**
       * <pre>
       *变为已读已领取的邮件ID
       * </pre>
       *
       * <code>repeated int64 ids = 1;</code>
       * @param index The index of the element to return.
       * @return The ids at the given index.
       */
      public long getIds(int index) {
        return ids_.getLong(index);
      }
      /**
       * <pre>
       *变为已读已领取的邮件ID
       * </pre>
       *
       * <code>repeated int64 ids = 1;</code>
       * @param index The index to set the value at.
       * @param value The ids to set.
       * @return This builder for chaining.
       */
      public Builder setIds(
          int index, long value) {
        ensureIdsIsMutable();
        ids_.setLong(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *变为已读已领取的邮件ID
       * </pre>
       *
       * <code>repeated int64 ids = 1;</code>
       * @param value The ids to add.
       * @return This builder for chaining.
       */
      public Builder addIds(long value) {
        ensureIdsIsMutable();
        ids_.addLong(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *变为已读已领取的邮件ID
       * </pre>
       *
       * <code>repeated int64 ids = 1;</code>
       * @param values The ids to add.
       * @return This builder for chaining.
       */
      public Builder addAllIds(
          java.lang.Iterable<? extends java.lang.Long> values) {
        ensureIdsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, ids_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *变为已读已领取的邮件ID
       * </pre>
       *
       * <code>repeated int64 ids = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearIds() {
        ids_ = emptyLongList();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }

      private java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing> things_ =
        java.util.Collections.emptyList();
      private void ensureThingsIsMutable() {
        if (!((bitField0_ & 0x00000002) != 0)) {
          things_ = new java.util.ArrayList<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing>(things_);
          bitField0_ |= 0x00000002;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing.Builder, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThingOrBuilder> thingsBuilder_;

      /**
       * <pre>
       *批量领取到的奖励
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing> getThingsList() {
        if (thingsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(things_);
        } else {
          return thingsBuilder_.getMessageList();
        }
      }
      /**
       * <pre>
       *批量领取到的奖励
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public int getThingsCount() {
        if (thingsBuilder_ == null) {
          return things_.size();
        } else {
          return thingsBuilder_.getCount();
        }
      }
      /**
       * <pre>
       *批量领取到的奖励
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing getThings(int index) {
        if (thingsBuilder_ == null) {
          return things_.get(index);
        } else {
          return thingsBuilder_.getMessage(index);
        }
      }
      /**
       * <pre>
       *批量领取到的奖励
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public Builder setThings(
          int index, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing value) {
        if (thingsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureThingsIsMutable();
          things_.set(index, value);
          onChanged();
        } else {
          thingsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       *批量领取到的奖励
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public Builder setThings(
          int index, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing.Builder builderForValue) {
        if (thingsBuilder_ == null) {
          ensureThingsIsMutable();
          things_.set(index, builderForValue.build());
          onChanged();
        } else {
          thingsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *批量领取到的奖励
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public Builder addThings(pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing value) {
        if (thingsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureThingsIsMutable();
          things_.add(value);
          onChanged();
        } else {
          thingsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <pre>
       *批量领取到的奖励
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public Builder addThings(
          int index, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing value) {
        if (thingsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureThingsIsMutable();
          things_.add(index, value);
          onChanged();
        } else {
          thingsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       *批量领取到的奖励
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public Builder addThings(
          pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing.Builder builderForValue) {
        if (thingsBuilder_ == null) {
          ensureThingsIsMutable();
          things_.add(builderForValue.build());
          onChanged();
        } else {
          thingsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *批量领取到的奖励
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public Builder addThings(
          int index, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing.Builder builderForValue) {
        if (thingsBuilder_ == null) {
          ensureThingsIsMutable();
          things_.add(index, builderForValue.build());
          onChanged();
        } else {
          thingsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *批量领取到的奖励
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public Builder addAllThings(
          java.lang.Iterable<? extends pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing> values) {
        if (thingsBuilder_ == null) {
          ensureThingsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, things_);
          onChanged();
        } else {
          thingsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <pre>
       *批量领取到的奖励
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public Builder clearThings() {
        if (thingsBuilder_ == null) {
          things_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          thingsBuilder_.clear();
        }
        return this;
      }
      /**
       * <pre>
       *批量领取到的奖励
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public Builder removeThings(int index) {
        if (thingsBuilder_ == null) {
          ensureThingsIsMutable();
          things_.remove(index);
          onChanged();
        } else {
          thingsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <pre>
       *批量领取到的奖励
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing.Builder getThingsBuilder(
          int index) {
        return getThingsFieldBuilder().getBuilder(index);
      }
      /**
       * <pre>
       *批量领取到的奖励
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThingOrBuilder getThingsOrBuilder(
          int index) {
        if (thingsBuilder_ == null) {
          return things_.get(index);  } else {
          return thingsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <pre>
       *批量领取到的奖励
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public java.util.List<? extends pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThingOrBuilder> 
           getThingsOrBuilderList() {
        if (thingsBuilder_ != null) {
          return thingsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(things_);
        }
      }
      /**
       * <pre>
       *批量领取到的奖励
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing.Builder addThingsBuilder() {
        return getThingsFieldBuilder().addBuilder(
            pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing.getDefaultInstance());
      }
      /**
       * <pre>
       *批量领取到的奖励
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing.Builder addThingsBuilder(
          int index) {
        return getThingsFieldBuilder().addBuilder(
            index, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing.getDefaultInstance());
      }
      /**
       * <pre>
       *批量领取到的奖励
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing.Builder> 
           getThingsBuilderList() {
        return getThingsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing.Builder, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThingOrBuilder> 
          getThingsFieldBuilder() {
        if (thingsBuilder_ == null) {
          thingsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing.Builder, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThingOrBuilder>(
                  things_,
                  ((bitField0_ & 0x00000002) != 0),
                  getParentForChildren(),
                  isClean());
          things_ = null;
        }
        return thingsBuilder_;
      }

      private boolean hasFull_ ;
      /**
       * <pre>
       *背包是否已经满了
       * </pre>
       *
       * <code>bool has_full = 3;</code>
       * @return The hasFull.
       */
      public boolean getHasFull() {
        return hasFull_;
      }
      /**
       * <pre>
       *背包是否已经满了
       * </pre>
       *
       * <code>bool has_full = 3;</code>
       * @param value The hasFull to set.
       * @return This builder for chaining.
       */
      public Builder setHasFull(boolean value) {
        
        hasFull_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *背包是否已经满了
       * </pre>
       *
       * <code>bool has_full = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearHasFull() {
        
        hasFull_ = false;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.MailReceiveBatchResponse)
    }

    // @@protoc_insertion_point(class_scope:pb.MailReceiveBatchResponse)
    private static final pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse();
    }

    public static pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<MailReceiveBatchResponse>
        PARSER = new com.google.protobuf.AbstractParser<MailReceiveBatchResponse>() {
      @java.lang.Override
      public MailReceiveBatchResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new MailReceiveBatchResponse(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<MailReceiveBatchResponse> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<MailReceiveBatchResponse> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.mail.Mail.MailReceiveBatchResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface MailDeleteBatchRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.MailDeleteBatchRequest)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * <pre>
   *批量删除已读邮件
   * </pre>
   *
   * Protobuf type {@code pb.MailDeleteBatchRequest}
   */
  public  static final class MailDeleteBatchRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.MailDeleteBatchRequest)
      MailDeleteBatchRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use MailDeleteBatchRequest.newBuilder() to construct.
    private MailDeleteBatchRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private MailDeleteBatchRequest() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new MailDeleteBatchRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private MailDeleteBatchRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailDeleteBatchRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailDeleteBatchRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest.class, pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.MailDeleteBatchRequest.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 600004;</code>
       */
      ID(600004),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 600004;</code>
       */
      public static final int ID_VALUE = 600004;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 600004: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

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

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.MailDeleteBatchRequest.Proto)
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest other = (pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest) obj;

      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *批量删除已读邮件
     * </pre>
     *
     * Protobuf type {@code pb.MailDeleteBatchRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.MailDeleteBatchRequest)
        pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailDeleteBatchRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailDeleteBatchRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest.class, pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailDeleteBatchRequest_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest build() {
        pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest buildPartial() {
        pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest result = new pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest) {
          return mergeFrom((pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest other) {
        if (other == pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.MailDeleteBatchRequest)
    }

    // @@protoc_insertion_point(class_scope:pb.MailDeleteBatchRequest)
    private static final pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest();
    }

    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<MailDeleteBatchRequest>
        PARSER = new com.google.protobuf.AbstractParser<MailDeleteBatchRequest>() {
      @java.lang.Override
      public MailDeleteBatchRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new MailDeleteBatchRequest(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<MailDeleteBatchRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<MailDeleteBatchRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface MailDeleteBatchResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.MailDeleteBatchResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *成功删除的邮件
     * </pre>
     *
     * <code>repeated int64 ids = 1;</code>
     * @return A list containing the ids.
     */
    java.util.List<java.lang.Long> getIdsList();
    /**
     * <pre>
     *成功删除的邮件
     * </pre>
     *
     * <code>repeated int64 ids = 1;</code>
     * @return The count of ids.
     */
    int getIdsCount();
    /**
     * <pre>
     *成功删除的邮件
     * </pre>
     *
     * <code>repeated int64 ids = 1;</code>
     * @param index The index of the element to return.
     * @return The ids at the given index.
     */
    long getIds(int index);
  }
  /**
   * Protobuf type {@code pb.MailDeleteBatchResponse}
   */
  public  static final class MailDeleteBatchResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.MailDeleteBatchResponse)
      MailDeleteBatchResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use MailDeleteBatchResponse.newBuilder() to construct.
    private MailDeleteBatchResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private MailDeleteBatchResponse() {
      ids_ = emptyLongList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new MailDeleteBatchResponse();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private MailDeleteBatchResponse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                ids_ = newLongList();
                mutable_bitField0_ |= 0x00000001;
              }
              ids_.addLong(input.readInt64());
              break;
            }
            case 10: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) {
                ids_ = newLongList();
                mutable_bitField0_ |= 0x00000001;
              }
              while (input.getBytesUntilLimit() > 0) {
                ids_.addLong(input.readInt64());
              }
              input.popLimit(limit);
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          ids_.makeImmutable(); // C
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailDeleteBatchResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailDeleteBatchResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse.class, pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.MailDeleteBatchResponse.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 600004;</code>
       */
      ID(600004),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 600004;</code>
       */
      public static final int ID_VALUE = 600004;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 600004: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

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

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.MailDeleteBatchResponse.Proto)
    }

    public static final int IDS_FIELD_NUMBER = 1;
    private com.google.protobuf.Internal.LongList ids_;
    /**
     * <pre>
     *成功删除的邮件
     * </pre>
     *
     * <code>repeated int64 ids = 1;</code>
     * @return A list containing the ids.
     */
    public java.util.List<java.lang.Long>
        getIdsList() {
      return ids_;
    }
    /**
     * <pre>
     *成功删除的邮件
     * </pre>
     *
     * <code>repeated int64 ids = 1;</code>
     * @return The count of ids.
     */
    public int getIdsCount() {
      return ids_.size();
    }
    /**
     * <pre>
     *成功删除的邮件
     * </pre>
     *
     * <code>repeated int64 ids = 1;</code>
     * @param index The index of the element to return.
     * @return The ids at the given index.
     */
    public long getIds(int index) {
      return ids_.getLong(index);
    }
    private int idsMemoizedSerializedSize = -1;

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (getIdsList().size() > 0) {
        output.writeUInt32NoTag(10);
        output.writeUInt32NoTag(idsMemoizedSerializedSize);
      }
      for (int i = 0; i < ids_.size(); i++) {
        output.writeInt64NoTag(ids_.getLong(i));
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      {
        int dataSize = 0;
        for (int i = 0; i < ids_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeInt64SizeNoTag(ids_.getLong(i));
        }
        size += dataSize;
        if (!getIdsList().isEmpty()) {
          size += 1;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        idsMemoizedSerializedSize = dataSize;
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse other = (pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse) obj;

      if (!getIdsList()
          .equals(other.getIdsList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getIdsCount() > 0) {
        hash = (37 * hash) + IDS_FIELD_NUMBER;
        hash = (53 * hash) + getIdsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code pb.MailDeleteBatchResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.MailDeleteBatchResponse)
        pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailDeleteBatchResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailDeleteBatchResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse.class, pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        ids_ = emptyLongList();
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailDeleteBatchResponse_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse build() {
        pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse buildPartial() {
        pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse result = new pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse(this);
        int from_bitField0_ = bitField0_;
        if (((bitField0_ & 0x00000001) != 0)) {
          ids_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.ids_ = ids_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse) {
          return mergeFrom((pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse other) {
        if (other == pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse.getDefaultInstance()) return this;
        if (!other.ids_.isEmpty()) {
          if (ids_.isEmpty()) {
            ids_ = other.ids_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureIdsIsMutable();
            ids_.addAll(other.ids_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private com.google.protobuf.Internal.LongList ids_ = emptyLongList();
      private void ensureIdsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          ids_ = mutableCopy(ids_);
          bitField0_ |= 0x00000001;
         }
      }
      /**
       * <pre>
       *成功删除的邮件
       * </pre>
       *
       * <code>repeated int64 ids = 1;</code>
       * @return A list containing the ids.
       */
      public java.util.List<java.lang.Long>
          getIdsList() {
        return ((bitField0_ & 0x00000001) != 0) ?
                 java.util.Collections.unmodifiableList(ids_) : ids_;
      }
      /**
       * <pre>
       *成功删除的邮件
       * </pre>
       *
       * <code>repeated int64 ids = 1;</code>
       * @return The count of ids.
       */
      public int getIdsCount() {
        return ids_.size();
      }
      /**
       * <pre>
       *成功删除的邮件
       * </pre>
       *
       * <code>repeated int64 ids = 1;</code>
       * @param index The index of the element to return.
       * @return The ids at the given index.
       */
      public long getIds(int index) {
        return ids_.getLong(index);
      }
      /**
       * <pre>
       *成功删除的邮件
       * </pre>
       *
       * <code>repeated int64 ids = 1;</code>
       * @param index The index to set the value at.
       * @param value The ids to set.
       * @return This builder for chaining.
       */
      public Builder setIds(
          int index, long value) {
        ensureIdsIsMutable();
        ids_.setLong(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *成功删除的邮件
       * </pre>
       *
       * <code>repeated int64 ids = 1;</code>
       * @param value The ids to add.
       * @return This builder for chaining.
       */
      public Builder addIds(long value) {
        ensureIdsIsMutable();
        ids_.addLong(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *成功删除的邮件
       * </pre>
       *
       * <code>repeated int64 ids = 1;</code>
       * @param values The ids to add.
       * @return This builder for chaining.
       */
      public Builder addAllIds(
          java.lang.Iterable<? extends java.lang.Long> values) {
        ensureIdsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, ids_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *成功删除的邮件
       * </pre>
       *
       * <code>repeated int64 ids = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearIds() {
        ids_ = emptyLongList();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.MailDeleteBatchResponse)
    }

    // @@protoc_insertion_point(class_scope:pb.MailDeleteBatchResponse)
    private static final pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse();
    }

    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<MailDeleteBatchResponse>
        PARSER = new com.google.protobuf.AbstractParser<MailDeleteBatchResponse>() {
      @java.lang.Override
      public MailDeleteBatchResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new MailDeleteBatchResponse(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<MailDeleteBatchResponse> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<MailDeleteBatchResponse> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.mail.Mail.MailDeleteBatchResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface MailDeleteOneRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.MailDeleteOneRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *邮件ID
     * </pre>
     *
     * <code>int64 id = 1;</code>
     * @return The id.
     */
    long getId();
  }
  /**
   * <pre>
   *删除一封邮件
   * </pre>
   *
   * Protobuf type {@code pb.MailDeleteOneRequest}
   */
  public  static final class MailDeleteOneRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.MailDeleteOneRequest)
      MailDeleteOneRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use MailDeleteOneRequest.newBuilder() to construct.
    private MailDeleteOneRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private MailDeleteOneRequest() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new MailDeleteOneRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private MailDeleteOneRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {

              id_ = input.readInt64();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailDeleteOneRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailDeleteOneRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest.class, pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.MailDeleteOneRequest.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 600005;</code>
       */
      ID(600005),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 600005;</code>
       */
      public static final int ID_VALUE = 600005;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 600005: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

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

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.MailDeleteOneRequest.Proto)
    }

    public static final int ID_FIELD_NUMBER = 1;
    private long id_;
    /**
     * <pre>
     *邮件ID
     * </pre>
     *
     * <code>int64 id = 1;</code>
     * @return The id.
     */
    public long getId() {
      return id_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (id_ != 0L) {
        output.writeInt64(1, id_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (id_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, id_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest other = (pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest) obj;

      if (getId()
          != other.getId()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getId());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *删除一封邮件
     * </pre>
     *
     * Protobuf type {@code pb.MailDeleteOneRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.MailDeleteOneRequest)
        pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailDeleteOneRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailDeleteOneRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest.class, pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        id_ = 0L;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailDeleteOneRequest_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest build() {
        pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest buildPartial() {
        pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest result = new pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest(this);
        result.id_ = id_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest) {
          return mergeFrom((pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest other) {
        if (other == pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest.getDefaultInstance()) return this;
        if (other.getId() != 0L) {
          setId(other.getId());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long id_ ;
      /**
       * <pre>
       *邮件ID
       * </pre>
       *
       * <code>int64 id = 1;</code>
       * @return The id.
       */
      public long getId() {
        return id_;
      }
      /**
       * <pre>
       *邮件ID
       * </pre>
       *
       * <code>int64 id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(long value) {
        
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *邮件ID
       * </pre>
       *
       * <code>int64 id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        
        id_ = 0L;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.MailDeleteOneRequest)
    }

    // @@protoc_insertion_point(class_scope:pb.MailDeleteOneRequest)
    private static final pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest();
    }

    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<MailDeleteOneRequest>
        PARSER = new com.google.protobuf.AbstractParser<MailDeleteOneRequest>() {
      @java.lang.Override
      public MailDeleteOneRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new MailDeleteOneRequest(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<MailDeleteOneRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<MailDeleteOneRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface MailDeleteOneResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.MailDeleteOneResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *邮件ID
     * </pre>
     *
     * <code>int64 id = 1;</code>
     * @return The id.
     */
    long getId();
  }
  /**
   * Protobuf type {@code pb.MailDeleteOneResponse}
   */
  public  static final class MailDeleteOneResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.MailDeleteOneResponse)
      MailDeleteOneResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use MailDeleteOneResponse.newBuilder() to construct.
    private MailDeleteOneResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private MailDeleteOneResponse() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new MailDeleteOneResponse();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private MailDeleteOneResponse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {

              id_ = input.readInt64();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailDeleteOneResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailDeleteOneResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse.class, pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.MailDeleteOneResponse.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 600005;</code>
       */
      ID(600005),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 600005;</code>
       */
      public static final int ID_VALUE = 600005;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 600005: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

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

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.MailDeleteOneResponse.Proto)
    }

    public static final int ID_FIELD_NUMBER = 1;
    private long id_;
    /**
     * <pre>
     *邮件ID
     * </pre>
     *
     * <code>int64 id = 1;</code>
     * @return The id.
     */
    public long getId() {
      return id_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (id_ != 0L) {
        output.writeInt64(1, id_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (id_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, id_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse other = (pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse) obj;

      if (getId()
          != other.getId()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getId());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code pb.MailDeleteOneResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.MailDeleteOneResponse)
        pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailDeleteOneResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailDeleteOneResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse.class, pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        id_ = 0L;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailDeleteOneResponse_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse build() {
        pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse buildPartial() {
        pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse result = new pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse(this);
        result.id_ = id_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse) {
          return mergeFrom((pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse other) {
        if (other == pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse.getDefaultInstance()) return this;
        if (other.getId() != 0L) {
          setId(other.getId());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long id_ ;
      /**
       * <pre>
       *邮件ID
       * </pre>
       *
       * <code>int64 id = 1;</code>
       * @return The id.
       */
      public long getId() {
        return id_;
      }
      /**
       * <pre>
       *邮件ID
       * </pre>
       *
       * <code>int64 id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(long value) {
        
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *邮件ID
       * </pre>
       *
       * <code>int64 id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        
        id_ = 0L;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.MailDeleteOneResponse)
    }

    // @@protoc_insertion_point(class_scope:pb.MailDeleteOneResponse)
    private static final pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse();
    }

    public static pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<MailDeleteOneResponse>
        PARSER = new com.google.protobuf.AbstractParser<MailDeleteOneResponse>() {
      @java.lang.Override
      public MailDeleteOneResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new MailDeleteOneResponse(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<MailDeleteOneResponse> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<MailDeleteOneResponse> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.mail.Mail.MailDeleteOneResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface MailReadRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.MailReadRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *邮件ID
     * </pre>
     *
     * <code>int64 id = 1;</code>
     * @return The id.
     */
    long getId();
  }
  /**
   * <pre>
   *读邮件
   * </pre>
   *
   * Protobuf type {@code pb.MailReadRequest}
   */
  public  static final class MailReadRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.MailReadRequest)
      MailReadRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use MailReadRequest.newBuilder() to construct.
    private MailReadRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private MailReadRequest() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new MailReadRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private MailReadRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {

              id_ = input.readInt64();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailReadRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailReadRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest.class, pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.MailReadRequest.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 600006;</code>
       */
      ID(600006),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 600006;</code>
       */
      public static final int ID_VALUE = 600006;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 600006: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

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

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.MailReadRequest.Proto)
    }

    public static final int ID_FIELD_NUMBER = 1;
    private long id_;
    /**
     * <pre>
     *邮件ID
     * </pre>
     *
     * <code>int64 id = 1;</code>
     * @return The id.
     */
    public long getId() {
      return id_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (id_ != 0L) {
        output.writeInt64(1, id_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (id_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, id_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest other = (pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest) obj;

      if (getId()
          != other.getId()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getId());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *读邮件
     * </pre>
     *
     * Protobuf type {@code pb.MailReadRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.MailReadRequest)
        pb.xiugou.x1.protobuf.mail.Mail.MailReadRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailReadRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailReadRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest.class, pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        id_ = 0L;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailReadRequest_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest build() {
        pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest buildPartial() {
        pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest result = new pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest(this);
        result.id_ = id_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest) {
          return mergeFrom((pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest other) {
        if (other == pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest.getDefaultInstance()) return this;
        if (other.getId() != 0L) {
          setId(other.getId());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long id_ ;
      /**
       * <pre>
       *邮件ID
       * </pre>
       *
       * <code>int64 id = 1;</code>
       * @return The id.
       */
      public long getId() {
        return id_;
      }
      /**
       * <pre>
       *邮件ID
       * </pre>
       *
       * <code>int64 id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(long value) {
        
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *邮件ID
       * </pre>
       *
       * <code>int64 id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        
        id_ = 0L;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.MailReadRequest)
    }

    // @@protoc_insertion_point(class_scope:pb.MailReadRequest)
    private static final pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest();
    }

    public static pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<MailReadRequest>
        PARSER = new com.google.protobuf.AbstractParser<MailReadRequest>() {
      @java.lang.Override
      public MailReadRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new MailReadRequest(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<MailReadRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<MailReadRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.mail.Mail.MailReadRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface MailReadResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.MailReadResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *邮件ID
     * </pre>
     *
     * <code>int64 id = 1;</code>
     * @return The id.
     */
    long getId();

    /**
     * <pre>
     *是否已读
     * </pre>
     *
     * <code>bool read = 2;</code>
     * @return The read.
     */
    boolean getRead();
  }
  /**
   * Protobuf type {@code pb.MailReadResponse}
   */
  public  static final class MailReadResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.MailReadResponse)
      MailReadResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use MailReadResponse.newBuilder() to construct.
    private MailReadResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private MailReadResponse() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new MailReadResponse();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private MailReadResponse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {

              id_ = input.readInt64();
              break;
            }
            case 16: {

              read_ = input.readBool();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailReadResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailReadResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse.class, pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.MailReadResponse.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 600006;</code>
       */
      ID(600006),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 600006;</code>
       */
      public static final int ID_VALUE = 600006;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 600006: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

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

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.MailReadResponse.Proto)
    }

    public static final int ID_FIELD_NUMBER = 1;
    private long id_;
    /**
     * <pre>
     *邮件ID
     * </pre>
     *
     * <code>int64 id = 1;</code>
     * @return The id.
     */
    public long getId() {
      return id_;
    }

    public static final int READ_FIELD_NUMBER = 2;
    private boolean read_;
    /**
     * <pre>
     *是否已读
     * </pre>
     *
     * <code>bool read = 2;</code>
     * @return The read.
     */
    public boolean getRead() {
      return read_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (id_ != 0L) {
        output.writeInt64(1, id_);
      }
      if (read_ != false) {
        output.writeBool(2, read_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (id_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, id_);
      }
      if (read_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(2, read_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse other = (pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse) obj;

      if (getId()
          != other.getId()) return false;
      if (getRead()
          != other.getRead()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getId());
      hash = (37 * hash) + READ_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getRead());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code pb.MailReadResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.MailReadResponse)
        pb.xiugou.x1.protobuf.mail.Mail.MailReadResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailReadResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailReadResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse.class, pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        id_ = 0L;

        read_ = false;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailReadResponse_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse build() {
        pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse buildPartial() {
        pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse result = new pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse(this);
        result.id_ = id_;
        result.read_ = read_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse) {
          return mergeFrom((pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse other) {
        if (other == pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse.getDefaultInstance()) return this;
        if (other.getId() != 0L) {
          setId(other.getId());
        }
        if (other.getRead() != false) {
          setRead(other.getRead());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long id_ ;
      /**
       * <pre>
       *邮件ID
       * </pre>
       *
       * <code>int64 id = 1;</code>
       * @return The id.
       */
      public long getId() {
        return id_;
      }
      /**
       * <pre>
       *邮件ID
       * </pre>
       *
       * <code>int64 id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(long value) {
        
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *邮件ID
       * </pre>
       *
       * <code>int64 id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        
        id_ = 0L;
        onChanged();
        return this;
      }

      private boolean read_ ;
      /**
       * <pre>
       *是否已读
       * </pre>
       *
       * <code>bool read = 2;</code>
       * @return The read.
       */
      public boolean getRead() {
        return read_;
      }
      /**
       * <pre>
       *是否已读
       * </pre>
       *
       * <code>bool read = 2;</code>
       * @param value The read to set.
       * @return This builder for chaining.
       */
      public Builder setRead(boolean value) {
        
        read_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *是否已读
       * </pre>
       *
       * <code>bool read = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearRead() {
        
        read_ = false;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.MailReadResponse)
    }

    // @@protoc_insertion_point(class_scope:pb.MailReadResponse)
    private static final pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse();
    }

    public static pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<MailReadResponse>
        PARSER = new com.google.protobuf.AbstractParser<MailReadResponse>() {
      @java.lang.Override
      public MailReadResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new MailReadResponse(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<MailReadResponse> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<MailReadResponse> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.mail.Mail.MailReadResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface MailPushMessageOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.MailPushMessage)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *邮件数据
     * </pre>
     *
     * <code>repeated .pb.PbMailData mails = 1;</code>
     */
    java.util.List<pb.xiugou.x1.protobuf.mail.Mail.PbMailData> 
        getMailsList();
    /**
     * <pre>
     *邮件数据
     * </pre>
     *
     * <code>repeated .pb.PbMailData mails = 1;</code>
     */
    pb.xiugou.x1.protobuf.mail.Mail.PbMailData getMails(int index);
    /**
     * <pre>
     *邮件数据
     * </pre>
     *
     * <code>repeated .pb.PbMailData mails = 1;</code>
     */
    int getMailsCount();
    /**
     * <pre>
     *邮件数据
     * </pre>
     *
     * <code>repeated .pb.PbMailData mails = 1;</code>
     */
    java.util.List<? extends pb.xiugou.x1.protobuf.mail.Mail.PbMailDataOrBuilder> 
        getMailsOrBuilderList();
    /**
     * <pre>
     *邮件数据
     * </pre>
     *
     * <code>repeated .pb.PbMailData mails = 1;</code>
     */
    pb.xiugou.x1.protobuf.mail.Mail.PbMailDataOrBuilder getMailsOrBuilder(
        int index);
  }
  /**
   * <pre>
   *新邮件推送
   * </pre>
   *
   * Protobuf type {@code pb.MailPushMessage}
   */
  public  static final class MailPushMessage extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.MailPushMessage)
      MailPushMessageOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use MailPushMessage.newBuilder() to construct.
    private MailPushMessage(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private MailPushMessage() {
      mails_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new MailPushMessage();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private MailPushMessage(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                mails_ = new java.util.ArrayList<pb.xiugou.x1.protobuf.mail.Mail.PbMailData>();
                mutable_bitField0_ |= 0x00000001;
              }
              mails_.add(
                  input.readMessage(pb.xiugou.x1.protobuf.mail.Mail.PbMailData.parser(), extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          mails_ = java.util.Collections.unmodifiableList(mails_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailPushMessage_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailPushMessage_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage.class, pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.MailPushMessage.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 600007;</code>
       */
      ID(600007),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 600007;</code>
       */
      public static final int ID_VALUE = 600007;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 600007: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

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

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.MailPushMessage.Proto)
    }

    public static final int MAILS_FIELD_NUMBER = 1;
    private java.util.List<pb.xiugou.x1.protobuf.mail.Mail.PbMailData> mails_;
    /**
     * <pre>
     *邮件数据
     * </pre>
     *
     * <code>repeated .pb.PbMailData mails = 1;</code>
     */
    public java.util.List<pb.xiugou.x1.protobuf.mail.Mail.PbMailData> getMailsList() {
      return mails_;
    }
    /**
     * <pre>
     *邮件数据
     * </pre>
     *
     * <code>repeated .pb.PbMailData mails = 1;</code>
     */
    public java.util.List<? extends pb.xiugou.x1.protobuf.mail.Mail.PbMailDataOrBuilder> 
        getMailsOrBuilderList() {
      return mails_;
    }
    /**
     * <pre>
     *邮件数据
     * </pre>
     *
     * <code>repeated .pb.PbMailData mails = 1;</code>
     */
    public int getMailsCount() {
      return mails_.size();
    }
    /**
     * <pre>
     *邮件数据
     * </pre>
     *
     * <code>repeated .pb.PbMailData mails = 1;</code>
     */
    public pb.xiugou.x1.protobuf.mail.Mail.PbMailData getMails(int index) {
      return mails_.get(index);
    }
    /**
     * <pre>
     *邮件数据
     * </pre>
     *
     * <code>repeated .pb.PbMailData mails = 1;</code>
     */
    public pb.xiugou.x1.protobuf.mail.Mail.PbMailDataOrBuilder getMailsOrBuilder(
        int index) {
      return mails_.get(index);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < mails_.size(); i++) {
        output.writeMessage(1, mails_.get(i));
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < mails_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, mails_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage other = (pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage) obj;

      if (!getMailsList()
          .equals(other.getMailsList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getMailsCount() > 0) {
        hash = (37 * hash) + MAILS_FIELD_NUMBER;
        hash = (53 * hash) + getMailsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *新邮件推送
     * </pre>
     *
     * Protobuf type {@code pb.MailPushMessage}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.MailPushMessage)
        pb.xiugou.x1.protobuf.mail.Mail.MailPushMessageOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailPushMessage_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailPushMessage_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage.class, pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getMailsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (mailsBuilder_ == null) {
          mails_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          mailsBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_MailPushMessage_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage build() {
        pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage buildPartial() {
        pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage result = new pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage(this);
        int from_bitField0_ = bitField0_;
        if (mailsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            mails_ = java.util.Collections.unmodifiableList(mails_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.mails_ = mails_;
        } else {
          result.mails_ = mailsBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage) {
          return mergeFrom((pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage other) {
        if (other == pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage.getDefaultInstance()) return this;
        if (mailsBuilder_ == null) {
          if (!other.mails_.isEmpty()) {
            if (mails_.isEmpty()) {
              mails_ = other.mails_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureMailsIsMutable();
              mails_.addAll(other.mails_);
            }
            onChanged();
          }
        } else {
          if (!other.mails_.isEmpty()) {
            if (mailsBuilder_.isEmpty()) {
              mailsBuilder_.dispose();
              mailsBuilder_ = null;
              mails_ = other.mails_;
              bitField0_ = (bitField0_ & ~0x00000001);
              mailsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getMailsFieldBuilder() : null;
            } else {
              mailsBuilder_.addAllMessages(other.mails_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.util.List<pb.xiugou.x1.protobuf.mail.Mail.PbMailData> mails_ =
        java.util.Collections.emptyList();
      private void ensureMailsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          mails_ = new java.util.ArrayList<pb.xiugou.x1.protobuf.mail.Mail.PbMailData>(mails_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          pb.xiugou.x1.protobuf.mail.Mail.PbMailData, pb.xiugou.x1.protobuf.mail.Mail.PbMailData.Builder, pb.xiugou.x1.protobuf.mail.Mail.PbMailDataOrBuilder> mailsBuilder_;

      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public java.util.List<pb.xiugou.x1.protobuf.mail.Mail.PbMailData> getMailsList() {
        if (mailsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(mails_);
        } else {
          return mailsBuilder_.getMessageList();
        }
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public int getMailsCount() {
        if (mailsBuilder_ == null) {
          return mails_.size();
        } else {
          return mailsBuilder_.getCount();
        }
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public pb.xiugou.x1.protobuf.mail.Mail.PbMailData getMails(int index) {
        if (mailsBuilder_ == null) {
          return mails_.get(index);
        } else {
          return mailsBuilder_.getMessage(index);
        }
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public Builder setMails(
          int index, pb.xiugou.x1.protobuf.mail.Mail.PbMailData value) {
        if (mailsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureMailsIsMutable();
          mails_.set(index, value);
          onChanged();
        } else {
          mailsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public Builder setMails(
          int index, pb.xiugou.x1.protobuf.mail.Mail.PbMailData.Builder builderForValue) {
        if (mailsBuilder_ == null) {
          ensureMailsIsMutable();
          mails_.set(index, builderForValue.build());
          onChanged();
        } else {
          mailsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public Builder addMails(pb.xiugou.x1.protobuf.mail.Mail.PbMailData value) {
        if (mailsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureMailsIsMutable();
          mails_.add(value);
          onChanged();
        } else {
          mailsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public Builder addMails(
          int index, pb.xiugou.x1.protobuf.mail.Mail.PbMailData value) {
        if (mailsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureMailsIsMutable();
          mails_.add(index, value);
          onChanged();
        } else {
          mailsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public Builder addMails(
          pb.xiugou.x1.protobuf.mail.Mail.PbMailData.Builder builderForValue) {
        if (mailsBuilder_ == null) {
          ensureMailsIsMutable();
          mails_.add(builderForValue.build());
          onChanged();
        } else {
          mailsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public Builder addMails(
          int index, pb.xiugou.x1.protobuf.mail.Mail.PbMailData.Builder builderForValue) {
        if (mailsBuilder_ == null) {
          ensureMailsIsMutable();
          mails_.add(index, builderForValue.build());
          onChanged();
        } else {
          mailsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public Builder addAllMails(
          java.lang.Iterable<? extends pb.xiugou.x1.protobuf.mail.Mail.PbMailData> values) {
        if (mailsBuilder_ == null) {
          ensureMailsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, mails_);
          onChanged();
        } else {
          mailsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public Builder clearMails() {
        if (mailsBuilder_ == null) {
          mails_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          mailsBuilder_.clear();
        }
        return this;
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public Builder removeMails(int index) {
        if (mailsBuilder_ == null) {
          ensureMailsIsMutable();
          mails_.remove(index);
          onChanged();
        } else {
          mailsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public pb.xiugou.x1.protobuf.mail.Mail.PbMailData.Builder getMailsBuilder(
          int index) {
        return getMailsFieldBuilder().getBuilder(index);
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public pb.xiugou.x1.protobuf.mail.Mail.PbMailDataOrBuilder getMailsOrBuilder(
          int index) {
        if (mailsBuilder_ == null) {
          return mails_.get(index);  } else {
          return mailsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public java.util.List<? extends pb.xiugou.x1.protobuf.mail.Mail.PbMailDataOrBuilder> 
           getMailsOrBuilderList() {
        if (mailsBuilder_ != null) {
          return mailsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(mails_);
        }
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public pb.xiugou.x1.protobuf.mail.Mail.PbMailData.Builder addMailsBuilder() {
        return getMailsFieldBuilder().addBuilder(
            pb.xiugou.x1.protobuf.mail.Mail.PbMailData.getDefaultInstance());
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public pb.xiugou.x1.protobuf.mail.Mail.PbMailData.Builder addMailsBuilder(
          int index) {
        return getMailsFieldBuilder().addBuilder(
            index, pb.xiugou.x1.protobuf.mail.Mail.PbMailData.getDefaultInstance());
      }
      /**
       * <pre>
       *邮件数据
       * </pre>
       *
       * <code>repeated .pb.PbMailData mails = 1;</code>
       */
      public java.util.List<pb.xiugou.x1.protobuf.mail.Mail.PbMailData.Builder> 
           getMailsBuilderList() {
        return getMailsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          pb.xiugou.x1.protobuf.mail.Mail.PbMailData, pb.xiugou.x1.protobuf.mail.Mail.PbMailData.Builder, pb.xiugou.x1.protobuf.mail.Mail.PbMailDataOrBuilder> 
          getMailsFieldBuilder() {
        if (mailsBuilder_ == null) {
          mailsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              pb.xiugou.x1.protobuf.mail.Mail.PbMailData, pb.xiugou.x1.protobuf.mail.Mail.PbMailData.Builder, pb.xiugou.x1.protobuf.mail.Mail.PbMailDataOrBuilder>(
                  mails_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          mails_ = null;
        }
        return mailsBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.MailPushMessage)
    }

    // @@protoc_insertion_point(class_scope:pb.MailPushMessage)
    private static final pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage();
    }

    public static pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<MailPushMessage>
        PARSER = new com.google.protobuf.AbstractParser<MailPushMessage>() {
      @java.lang.Override
      public MailPushMessage parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new MailPushMessage(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<MailPushMessage> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<MailPushMessage> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.mail.Mail.MailPushMessage getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PbMailDataOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.PbMailData)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *邮件ID
     * </pre>
     *
     * <code>int64 id = 1;</code>
     * @return The id.
     */
    long getId();

    /**
     * <pre>
     *邮件模板ID
     * </pre>
     *
     * <code>int32 template_id = 2;</code>
     * @return The templateId.
     */
    int getTemplateId();

    /**
     * <pre>
     *邮件标题参数
     * </pre>
     *
     * <code>repeated string title = 3;</code>
     * @return A list containing the title.
     */
    java.util.List<java.lang.String>
        getTitleList();
    /**
     * <pre>
     *邮件标题参数
     * </pre>
     *
     * <code>repeated string title = 3;</code>
     * @return The count of title.
     */
    int getTitleCount();
    /**
     * <pre>
     *邮件标题参数
     * </pre>
     *
     * <code>repeated string title = 3;</code>
     * @param index The index of the element to return.
     * @return The title at the given index.
     */
    java.lang.String getTitle(int index);
    /**
     * <pre>
     *邮件标题参数
     * </pre>
     *
     * <code>repeated string title = 3;</code>
     * @param index The index of the value to return.
     * @return The bytes of the title at the given index.
     */
    com.google.protobuf.ByteString
        getTitleBytes(int index);

    /**
     * <pre>
     *邮件内容参数
     * </pre>
     *
     * <code>repeated string content = 4;</code>
     * @return A list containing the content.
     */
    java.util.List<java.lang.String>
        getContentList();
    /**
     * <pre>
     *邮件内容参数
     * </pre>
     *
     * <code>repeated string content = 4;</code>
     * @return The count of content.
     */
    int getContentCount();
    /**
     * <pre>
     *邮件内容参数
     * </pre>
     *
     * <code>repeated string content = 4;</code>
     * @param index The index of the element to return.
     * @return The content at the given index.
     */
    java.lang.String getContent(int index);
    /**
     * <pre>
     *邮件内容参数
     * </pre>
     *
     * <code>repeated string content = 4;</code>
     * @param index The index of the value to return.
     * @return The bytes of the content at the given index.
     */
    com.google.protobuf.ByteString
        getContentBytes(int index);

    /**
     * <pre>
     *附件
     * </pre>
     *
     * <code>repeated .pb.PbItem attachment = 5;</code>
     */
    java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem> 
        getAttachmentList();
    /**
     * <pre>
     *附件
     * </pre>
     *
     * <code>repeated .pb.PbItem attachment = 5;</code>
     */
    pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem getAttachment(int index);
    /**
     * <pre>
     *附件
     * </pre>
     *
     * <code>repeated .pb.PbItem attachment = 5;</code>
     */
    int getAttachmentCount();
    /**
     * <pre>
     *附件
     * </pre>
     *
     * <code>repeated .pb.PbItem attachment = 5;</code>
     */
    java.util.List<? extends pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItemOrBuilder> 
        getAttachmentOrBuilderList();
    /**
     * <pre>
     *附件
     * </pre>
     *
     * <code>repeated .pb.PbItem attachment = 5;</code>
     */
    pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItemOrBuilder getAttachmentOrBuilder(
        int index);

    /**
     * <pre>
     *是否已读
     * </pre>
     *
     * <code>bool read = 6;</code>
     * @return The read.
     */
    boolean getRead();

    /**
     * <pre>
     *是否已领
     * </pre>
     *
     * <code>bool receive = 7;</code>
     * @return The receive.
     */
    boolean getReceive();

    /**
     * <pre>
     *发送时间，毫秒
     * </pre>
     *
     * <code>int64 send_time = 8;</code>
     * @return The sendTime.
     */
    long getSendTime();
  }
  /**
   * Protobuf type {@code pb.PbMailData}
   */
  public  static final class PbMailData extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.PbMailData)
      PbMailDataOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PbMailData.newBuilder() to construct.
    private PbMailData(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PbMailData() {
      title_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      content_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      attachment_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new PbMailData();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private PbMailData(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {

              id_ = input.readInt64();
              break;
            }
            case 16: {

              templateId_ = input.readInt32();
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                title_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              title_.add(s);
              break;
            }
            case 34: {
              java.lang.String s = input.readStringRequireUtf8();
              if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                content_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000002;
              }
              content_.add(s);
              break;
            }
            case 42: {
              if (!((mutable_bitField0_ & 0x00000004) != 0)) {
                attachment_ = new java.util.ArrayList<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem>();
                mutable_bitField0_ |= 0x00000004;
              }
              attachment_.add(
                  input.readMessage(pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem.parser(), extensionRegistry));
              break;
            }
            case 48: {

              read_ = input.readBool();
              break;
            }
            case 56: {

              receive_ = input.readBool();
              break;
            }
            case 64: {

              sendTime_ = input.readInt64();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          title_ = title_.getUnmodifiableView();
        }
        if (((mutable_bitField0_ & 0x00000002) != 0)) {
          content_ = content_.getUnmodifiableView();
        }
        if (((mutable_bitField0_ & 0x00000004) != 0)) {
          attachment_ = java.util.Collections.unmodifiableList(attachment_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_PbMailData_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_PbMailData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.mail.Mail.PbMailData.class, pb.xiugou.x1.protobuf.mail.Mail.PbMailData.Builder.class);
    }

    public static final int ID_FIELD_NUMBER = 1;
    private long id_;
    /**
     * <pre>
     *邮件ID
     * </pre>
     *
     * <code>int64 id = 1;</code>
     * @return The id.
     */
    public long getId() {
      return id_;
    }

    public static final int TEMPLATE_ID_FIELD_NUMBER = 2;
    private int templateId_;
    /**
     * <pre>
     *邮件模板ID
     * </pre>
     *
     * <code>int32 template_id = 2;</code>
     * @return The templateId.
     */
    public int getTemplateId() {
      return templateId_;
    }

    public static final int TITLE_FIELD_NUMBER = 3;
    private com.google.protobuf.LazyStringList title_;
    /**
     * <pre>
     *邮件标题参数
     * </pre>
     *
     * <code>repeated string title = 3;</code>
     * @return A list containing the title.
     */
    public com.google.protobuf.ProtocolStringList
        getTitleList() {
      return title_;
    }
    /**
     * <pre>
     *邮件标题参数
     * </pre>
     *
     * <code>repeated string title = 3;</code>
     * @return The count of title.
     */
    public int getTitleCount() {
      return title_.size();
    }
    /**
     * <pre>
     *邮件标题参数
     * </pre>
     *
     * <code>repeated string title = 3;</code>
     * @param index The index of the element to return.
     * @return The title at the given index.
     */
    public java.lang.String getTitle(int index) {
      return title_.get(index);
    }
    /**
     * <pre>
     *邮件标题参数
     * </pre>
     *
     * <code>repeated string title = 3;</code>
     * @param index The index of the value to return.
     * @return The bytes of the title at the given index.
     */
    public com.google.protobuf.ByteString
        getTitleBytes(int index) {
      return title_.getByteString(index);
    }

    public static final int CONTENT_FIELD_NUMBER = 4;
    private com.google.protobuf.LazyStringList content_;
    /**
     * <pre>
     *邮件内容参数
     * </pre>
     *
     * <code>repeated string content = 4;</code>
     * @return A list containing the content.
     */
    public com.google.protobuf.ProtocolStringList
        getContentList() {
      return content_;
    }
    /**
     * <pre>
     *邮件内容参数
     * </pre>
     *
     * <code>repeated string content = 4;</code>
     * @return The count of content.
     */
    public int getContentCount() {
      return content_.size();
    }
    /**
     * <pre>
     *邮件内容参数
     * </pre>
     *
     * <code>repeated string content = 4;</code>
     * @param index The index of the element to return.
     * @return The content at the given index.
     */
    public java.lang.String getContent(int index) {
      return content_.get(index);
    }
    /**
     * <pre>
     *邮件内容参数
     * </pre>
     *
     * <code>repeated string content = 4;</code>
     * @param index The index of the value to return.
     * @return The bytes of the content at the given index.
     */
    public com.google.protobuf.ByteString
        getContentBytes(int index) {
      return content_.getByteString(index);
    }

    public static final int ATTACHMENT_FIELD_NUMBER = 5;
    private java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem> attachment_;
    /**
     * <pre>
     *附件
     * </pre>
     *
     * <code>repeated .pb.PbItem attachment = 5;</code>
     */
    public java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem> getAttachmentList() {
      return attachment_;
    }
    /**
     * <pre>
     *附件
     * </pre>
     *
     * <code>repeated .pb.PbItem attachment = 5;</code>
     */
    public java.util.List<? extends pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItemOrBuilder> 
        getAttachmentOrBuilderList() {
      return attachment_;
    }
    /**
     * <pre>
     *附件
     * </pre>
     *
     * <code>repeated .pb.PbItem attachment = 5;</code>
     */
    public int getAttachmentCount() {
      return attachment_.size();
    }
    /**
     * <pre>
     *附件
     * </pre>
     *
     * <code>repeated .pb.PbItem attachment = 5;</code>
     */
    public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem getAttachment(int index) {
      return attachment_.get(index);
    }
    /**
     * <pre>
     *附件
     * </pre>
     *
     * <code>repeated .pb.PbItem attachment = 5;</code>
     */
    public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItemOrBuilder getAttachmentOrBuilder(
        int index) {
      return attachment_.get(index);
    }

    public static final int READ_FIELD_NUMBER = 6;
    private boolean read_;
    /**
     * <pre>
     *是否已读
     * </pre>
     *
     * <code>bool read = 6;</code>
     * @return The read.
     */
    public boolean getRead() {
      return read_;
    }

    public static final int RECEIVE_FIELD_NUMBER = 7;
    private boolean receive_;
    /**
     * <pre>
     *是否已领
     * </pre>
     *
     * <code>bool receive = 7;</code>
     * @return The receive.
     */
    public boolean getReceive() {
      return receive_;
    }

    public static final int SEND_TIME_FIELD_NUMBER = 8;
    private long sendTime_;
    /**
     * <pre>
     *发送时间，毫秒
     * </pre>
     *
     * <code>int64 send_time = 8;</code>
     * @return The sendTime.
     */
    public long getSendTime() {
      return sendTime_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (id_ != 0L) {
        output.writeInt64(1, id_);
      }
      if (templateId_ != 0) {
        output.writeInt32(2, templateId_);
      }
      for (int i = 0; i < title_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, title_.getRaw(i));
      }
      for (int i = 0; i < content_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, content_.getRaw(i));
      }
      for (int i = 0; i < attachment_.size(); i++) {
        output.writeMessage(5, attachment_.get(i));
      }
      if (read_ != false) {
        output.writeBool(6, read_);
      }
      if (receive_ != false) {
        output.writeBool(7, receive_);
      }
      if (sendTime_ != 0L) {
        output.writeInt64(8, sendTime_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (id_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(1, id_);
      }
      if (templateId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, templateId_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < title_.size(); i++) {
          dataSize += computeStringSizeNoTag(title_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getTitleList().size();
      }
      {
        int dataSize = 0;
        for (int i = 0; i < content_.size(); i++) {
          dataSize += computeStringSizeNoTag(content_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getContentList().size();
      }
      for (int i = 0; i < attachment_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, attachment_.get(i));
      }
      if (read_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(6, read_);
      }
      if (receive_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(7, receive_);
      }
      if (sendTime_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(8, sendTime_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.mail.Mail.PbMailData)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.mail.Mail.PbMailData other = (pb.xiugou.x1.protobuf.mail.Mail.PbMailData) obj;

      if (getId()
          != other.getId()) return false;
      if (getTemplateId()
          != other.getTemplateId()) return false;
      if (!getTitleList()
          .equals(other.getTitleList())) return false;
      if (!getContentList()
          .equals(other.getContentList())) return false;
      if (!getAttachmentList()
          .equals(other.getAttachmentList())) return false;
      if (getRead()
          != other.getRead()) return false;
      if (getReceive()
          != other.getReceive()) return false;
      if (getSendTime()
          != other.getSendTime()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getId());
      hash = (37 * hash) + TEMPLATE_ID_FIELD_NUMBER;
      hash = (53 * hash) + getTemplateId();
      if (getTitleCount() > 0) {
        hash = (37 * hash) + TITLE_FIELD_NUMBER;
        hash = (53 * hash) + getTitleList().hashCode();
      }
      if (getContentCount() > 0) {
        hash = (37 * hash) + CONTENT_FIELD_NUMBER;
        hash = (53 * hash) + getContentList().hashCode();
      }
      if (getAttachmentCount() > 0) {
        hash = (37 * hash) + ATTACHMENT_FIELD_NUMBER;
        hash = (53 * hash) + getAttachmentList().hashCode();
      }
      hash = (37 * hash) + READ_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getRead());
      hash = (37 * hash) + RECEIVE_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getReceive());
      hash = (37 * hash) + SEND_TIME_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getSendTime());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.mail.Mail.PbMailData parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.PbMailData parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.PbMailData parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.PbMailData parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.PbMailData parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.PbMailData parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.PbMailData parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.PbMailData parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.PbMailData parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.PbMailData parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.PbMailData parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.mail.Mail.PbMailData parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.mail.Mail.PbMailData prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code pb.PbMailData}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.PbMailData)
        pb.xiugou.x1.protobuf.mail.Mail.PbMailDataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_PbMailData_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_PbMailData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.mail.Mail.PbMailData.class, pb.xiugou.x1.protobuf.mail.Mail.PbMailData.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.mail.Mail.PbMailData.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getAttachmentFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        id_ = 0L;

        templateId_ = 0;

        title_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        content_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        if (attachmentBuilder_ == null) {
          attachment_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
        } else {
          attachmentBuilder_.clear();
        }
        read_ = false;

        receive_ = false;

        sendTime_ = 0L;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.mail.Mail.internal_static_pb_PbMailData_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.PbMailData getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.mail.Mail.PbMailData.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.PbMailData build() {
        pb.xiugou.x1.protobuf.mail.Mail.PbMailData result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.mail.Mail.PbMailData buildPartial() {
        pb.xiugou.x1.protobuf.mail.Mail.PbMailData result = new pb.xiugou.x1.protobuf.mail.Mail.PbMailData(this);
        int from_bitField0_ = bitField0_;
        result.id_ = id_;
        result.templateId_ = templateId_;
        if (((bitField0_ & 0x00000001) != 0)) {
          title_ = title_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.title_ = title_;
        if (((bitField0_ & 0x00000002) != 0)) {
          content_ = content_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.content_ = content_;
        if (attachmentBuilder_ == null) {
          if (((bitField0_ & 0x00000004) != 0)) {
            attachment_ = java.util.Collections.unmodifiableList(attachment_);
            bitField0_ = (bitField0_ & ~0x00000004);
          }
          result.attachment_ = attachment_;
        } else {
          result.attachment_ = attachmentBuilder_.build();
        }
        result.read_ = read_;
        result.receive_ = receive_;
        result.sendTime_ = sendTime_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.mail.Mail.PbMailData) {
          return mergeFrom((pb.xiugou.x1.protobuf.mail.Mail.PbMailData)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.mail.Mail.PbMailData other) {
        if (other == pb.xiugou.x1.protobuf.mail.Mail.PbMailData.getDefaultInstance()) return this;
        if (other.getId() != 0L) {
          setId(other.getId());
        }
        if (other.getTemplateId() != 0) {
          setTemplateId(other.getTemplateId());
        }
        if (!other.title_.isEmpty()) {
          if (title_.isEmpty()) {
            title_ = other.title_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureTitleIsMutable();
            title_.addAll(other.title_);
          }
          onChanged();
        }
        if (!other.content_.isEmpty()) {
          if (content_.isEmpty()) {
            content_ = other.content_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureContentIsMutable();
            content_.addAll(other.content_);
          }
          onChanged();
        }
        if (attachmentBuilder_ == null) {
          if (!other.attachment_.isEmpty()) {
            if (attachment_.isEmpty()) {
              attachment_ = other.attachment_;
              bitField0_ = (bitField0_ & ~0x00000004);
            } else {
              ensureAttachmentIsMutable();
              attachment_.addAll(other.attachment_);
            }
            onChanged();
          }
        } else {
          if (!other.attachment_.isEmpty()) {
            if (attachmentBuilder_.isEmpty()) {
              attachmentBuilder_.dispose();
              attachmentBuilder_ = null;
              attachment_ = other.attachment_;
              bitField0_ = (bitField0_ & ~0x00000004);
              attachmentBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getAttachmentFieldBuilder() : null;
            } else {
              attachmentBuilder_.addAllMessages(other.attachment_);
            }
          }
        }
        if (other.getRead() != false) {
          setRead(other.getRead());
        }
        if (other.getReceive() != false) {
          setReceive(other.getReceive());
        }
        if (other.getSendTime() != 0L) {
          setSendTime(other.getSendTime());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.mail.Mail.PbMailData parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.mail.Mail.PbMailData) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private long id_ ;
      /**
       * <pre>
       *邮件ID
       * </pre>
       *
       * <code>int64 id = 1;</code>
       * @return The id.
       */
      public long getId() {
        return id_;
      }
      /**
       * <pre>
       *邮件ID
       * </pre>
       *
       * <code>int64 id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(long value) {
        
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *邮件ID
       * </pre>
       *
       * <code>int64 id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        
        id_ = 0L;
        onChanged();
        return this;
      }

      private int templateId_ ;
      /**
       * <pre>
       *邮件模板ID
       * </pre>
       *
       * <code>int32 template_id = 2;</code>
       * @return The templateId.
       */
      public int getTemplateId() {
        return templateId_;
      }
      /**
       * <pre>
       *邮件模板ID
       * </pre>
       *
       * <code>int32 template_id = 2;</code>
       * @param value The templateId to set.
       * @return This builder for chaining.
       */
      public Builder setTemplateId(int value) {
        
        templateId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *邮件模板ID
       * </pre>
       *
       * <code>int32 template_id = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearTemplateId() {
        
        templateId_ = 0;
        onChanged();
        return this;
      }

      private com.google.protobuf.LazyStringList title_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureTitleIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          title_ = new com.google.protobuf.LazyStringArrayList(title_);
          bitField0_ |= 0x00000001;
         }
      }
      /**
       * <pre>
       *邮件标题参数
       * </pre>
       *
       * <code>repeated string title = 3;</code>
       * @return A list containing the title.
       */
      public com.google.protobuf.ProtocolStringList
          getTitleList() {
        return title_.getUnmodifiableView();
      }
      /**
       * <pre>
       *邮件标题参数
       * </pre>
       *
       * <code>repeated string title = 3;</code>
       * @return The count of title.
       */
      public int getTitleCount() {
        return title_.size();
      }
      /**
       * <pre>
       *邮件标题参数
       * </pre>
       *
       * <code>repeated string title = 3;</code>
       * @param index The index of the element to return.
       * @return The title at the given index.
       */
      public java.lang.String getTitle(int index) {
        return title_.get(index);
      }
      /**
       * <pre>
       *邮件标题参数
       * </pre>
       *
       * <code>repeated string title = 3;</code>
       * @param index The index of the value to return.
       * @return The bytes of the title at the given index.
       */
      public com.google.protobuf.ByteString
          getTitleBytes(int index) {
        return title_.getByteString(index);
      }
      /**
       * <pre>
       *邮件标题参数
       * </pre>
       *
       * <code>repeated string title = 3;</code>
       * @param index The index to set the value at.
       * @param value The title to set.
       * @return This builder for chaining.
       */
      public Builder setTitle(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureTitleIsMutable();
        title_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *邮件标题参数
       * </pre>
       *
       * <code>repeated string title = 3;</code>
       * @param value The title to add.
       * @return This builder for chaining.
       */
      public Builder addTitle(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureTitleIsMutable();
        title_.add(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *邮件标题参数
       * </pre>
       *
       * <code>repeated string title = 3;</code>
       * @param values The title to add.
       * @return This builder for chaining.
       */
      public Builder addAllTitle(
          java.lang.Iterable<java.lang.String> values) {
        ensureTitleIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, title_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *邮件标题参数
       * </pre>
       *
       * <code>repeated string title = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearTitle() {
        title_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *邮件标题参数
       * </pre>
       *
       * <code>repeated string title = 3;</code>
       * @param value The bytes of the title to add.
       * @return This builder for chaining.
       */
      public Builder addTitleBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        ensureTitleIsMutable();
        title_.add(value);
        onChanged();
        return this;
      }

      private com.google.protobuf.LazyStringList content_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureContentIsMutable() {
        if (!((bitField0_ & 0x00000002) != 0)) {
          content_ = new com.google.protobuf.LazyStringArrayList(content_);
          bitField0_ |= 0x00000002;
         }
      }
      /**
       * <pre>
       *邮件内容参数
       * </pre>
       *
       * <code>repeated string content = 4;</code>
       * @return A list containing the content.
       */
      public com.google.protobuf.ProtocolStringList
          getContentList() {
        return content_.getUnmodifiableView();
      }
      /**
       * <pre>
       *邮件内容参数
       * </pre>
       *
       * <code>repeated string content = 4;</code>
       * @return The count of content.
       */
      public int getContentCount() {
        return content_.size();
      }
      /**
       * <pre>
       *邮件内容参数
       * </pre>
       *
       * <code>repeated string content = 4;</code>
       * @param index The index of the element to return.
       * @return The content at the given index.
       */
      public java.lang.String getContent(int index) {
        return content_.get(index);
      }
      /**
       * <pre>
       *邮件内容参数
       * </pre>
       *
       * <code>repeated string content = 4;</code>
       * @param index The index of the value to return.
       * @return The bytes of the content at the given index.
       */
      public com.google.protobuf.ByteString
          getContentBytes(int index) {
        return content_.getByteString(index);
      }
      /**
       * <pre>
       *邮件内容参数
       * </pre>
       *
       * <code>repeated string content = 4;</code>
       * @param index The index to set the value at.
       * @param value The content to set.
       * @return This builder for chaining.
       */
      public Builder setContent(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureContentIsMutable();
        content_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *邮件内容参数
       * </pre>
       *
       * <code>repeated string content = 4;</code>
       * @param value The content to add.
       * @return This builder for chaining.
       */
      public Builder addContent(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureContentIsMutable();
        content_.add(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *邮件内容参数
       * </pre>
       *
       * <code>repeated string content = 4;</code>
       * @param values The content to add.
       * @return This builder for chaining.
       */
      public Builder addAllContent(
          java.lang.Iterable<java.lang.String> values) {
        ensureContentIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, content_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *邮件内容参数
       * </pre>
       *
       * <code>repeated string content = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearContent() {
        content_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *邮件内容参数
       * </pre>
       *
       * <code>repeated string content = 4;</code>
       * @param value The bytes of the content to add.
       * @return This builder for chaining.
       */
      public Builder addContentBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        ensureContentIsMutable();
        content_.add(value);
        onChanged();
        return this;
      }

      private java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem> attachment_ =
        java.util.Collections.emptyList();
      private void ensureAttachmentIsMutable() {
        if (!((bitField0_ & 0x00000004) != 0)) {
          attachment_ = new java.util.ArrayList<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem>(attachment_);
          bitField0_ |= 0x00000004;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem.Builder, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItemOrBuilder> attachmentBuilder_;

      /**
       * <pre>
       *附件
       * </pre>
       *
       * <code>repeated .pb.PbItem attachment = 5;</code>
       */
      public java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem> getAttachmentList() {
        if (attachmentBuilder_ == null) {
          return java.util.Collections.unmodifiableList(attachment_);
        } else {
          return attachmentBuilder_.getMessageList();
        }
      }
      /**
       * <pre>
       *附件
       * </pre>
       *
       * <code>repeated .pb.PbItem attachment = 5;</code>
       */
      public int getAttachmentCount() {
        if (attachmentBuilder_ == null) {
          return attachment_.size();
        } else {
          return attachmentBuilder_.getCount();
        }
      }
      /**
       * <pre>
       *附件
       * </pre>
       *
       * <code>repeated .pb.PbItem attachment = 5;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem getAttachment(int index) {
        if (attachmentBuilder_ == null) {
          return attachment_.get(index);
        } else {
          return attachmentBuilder_.getMessage(index);
        }
      }
      /**
       * <pre>
       *附件
       * </pre>
       *
       * <code>repeated .pb.PbItem attachment = 5;</code>
       */
      public Builder setAttachment(
          int index, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem value) {
        if (attachmentBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAttachmentIsMutable();
          attachment_.set(index, value);
          onChanged();
        } else {
          attachmentBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       *附件
       * </pre>
       *
       * <code>repeated .pb.PbItem attachment = 5;</code>
       */
      public Builder setAttachment(
          int index, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem.Builder builderForValue) {
        if (attachmentBuilder_ == null) {
          ensureAttachmentIsMutable();
          attachment_.set(index, builderForValue.build());
          onChanged();
        } else {
          attachmentBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *附件
       * </pre>
       *
       * <code>repeated .pb.PbItem attachment = 5;</code>
       */
      public Builder addAttachment(pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem value) {
        if (attachmentBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAttachmentIsMutable();
          attachment_.add(value);
          onChanged();
        } else {
          attachmentBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <pre>
       *附件
       * </pre>
       *
       * <code>repeated .pb.PbItem attachment = 5;</code>
       */
      public Builder addAttachment(
          int index, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem value) {
        if (attachmentBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAttachmentIsMutable();
          attachment_.add(index, value);
          onChanged();
        } else {
          attachmentBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       *附件
       * </pre>
       *
       * <code>repeated .pb.PbItem attachment = 5;</code>
       */
      public Builder addAttachment(
          pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem.Builder builderForValue) {
        if (attachmentBuilder_ == null) {
          ensureAttachmentIsMutable();
          attachment_.add(builderForValue.build());
          onChanged();
        } else {
          attachmentBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *附件
       * </pre>
       *
       * <code>repeated .pb.PbItem attachment = 5;</code>
       */
      public Builder addAttachment(
          int index, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem.Builder builderForValue) {
        if (attachmentBuilder_ == null) {
          ensureAttachmentIsMutable();
          attachment_.add(index, builderForValue.build());
          onChanged();
        } else {
          attachmentBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *附件
       * </pre>
       *
       * <code>repeated .pb.PbItem attachment = 5;</code>
       */
      public Builder addAllAttachment(
          java.lang.Iterable<? extends pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem> values) {
        if (attachmentBuilder_ == null) {
          ensureAttachmentIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, attachment_);
          onChanged();
        } else {
          attachmentBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <pre>
       *附件
       * </pre>
       *
       * <code>repeated .pb.PbItem attachment = 5;</code>
       */
      public Builder clearAttachment() {
        if (attachmentBuilder_ == null) {
          attachment_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
        } else {
          attachmentBuilder_.clear();
        }
        return this;
      }
      /**
       * <pre>
       *附件
       * </pre>
       *
       * <code>repeated .pb.PbItem attachment = 5;</code>
       */
      public Builder removeAttachment(int index) {
        if (attachmentBuilder_ == null) {
          ensureAttachmentIsMutable();
          attachment_.remove(index);
          onChanged();
        } else {
          attachmentBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <pre>
       *附件
       * </pre>
       *
       * <code>repeated .pb.PbItem attachment = 5;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem.Builder getAttachmentBuilder(
          int index) {
        return getAttachmentFieldBuilder().getBuilder(index);
      }
      /**
       * <pre>
       *附件
       * </pre>
       *
       * <code>repeated .pb.PbItem attachment = 5;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItemOrBuilder getAttachmentOrBuilder(
          int index) {
        if (attachmentBuilder_ == null) {
          return attachment_.get(index);  } else {
          return attachmentBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <pre>
       *附件
       * </pre>
       *
       * <code>repeated .pb.PbItem attachment = 5;</code>
       */
      public java.util.List<? extends pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItemOrBuilder> 
           getAttachmentOrBuilderList() {
        if (attachmentBuilder_ != null) {
          return attachmentBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(attachment_);
        }
      }
      /**
       * <pre>
       *附件
       * </pre>
       *
       * <code>repeated .pb.PbItem attachment = 5;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem.Builder addAttachmentBuilder() {
        return getAttachmentFieldBuilder().addBuilder(
            pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem.getDefaultInstance());
      }
      /**
       * <pre>
       *附件
       * </pre>
       *
       * <code>repeated .pb.PbItem attachment = 5;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem.Builder addAttachmentBuilder(
          int index) {
        return getAttachmentFieldBuilder().addBuilder(
            index, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem.getDefaultInstance());
      }
      /**
       * <pre>
       *附件
       * </pre>
       *
       * <code>repeated .pb.PbItem attachment = 5;</code>
       */
      public java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem.Builder> 
           getAttachmentBuilderList() {
        return getAttachmentFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem.Builder, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItemOrBuilder> 
          getAttachmentFieldBuilder() {
        if (attachmentBuilder_ == null) {
          attachmentBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem.Builder, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItemOrBuilder>(
                  attachment_,
                  ((bitField0_ & 0x00000004) != 0),
                  getParentForChildren(),
                  isClean());
          attachment_ = null;
        }
        return attachmentBuilder_;
      }

      private boolean read_ ;
      /**
       * <pre>
       *是否已读
       * </pre>
       *
       * <code>bool read = 6;</code>
       * @return The read.
       */
      public boolean getRead() {
        return read_;
      }
      /**
       * <pre>
       *是否已读
       * </pre>
       *
       * <code>bool read = 6;</code>
       * @param value The read to set.
       * @return This builder for chaining.
       */
      public Builder setRead(boolean value) {
        
        read_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *是否已读
       * </pre>
       *
       * <code>bool read = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearRead() {
        
        read_ = false;
        onChanged();
        return this;
      }

      private boolean receive_ ;
      /**
       * <pre>
       *是否已领
       * </pre>
       *
       * <code>bool receive = 7;</code>
       * @return The receive.
       */
      public boolean getReceive() {
        return receive_;
      }
      /**
       * <pre>
       *是否已领
       * </pre>
       *
       * <code>bool receive = 7;</code>
       * @param value The receive to set.
       * @return This builder for chaining.
       */
      public Builder setReceive(boolean value) {
        
        receive_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *是否已领
       * </pre>
       *
       * <code>bool receive = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearReceive() {
        
        receive_ = false;
        onChanged();
        return this;
      }

      private long sendTime_ ;
      /**
       * <pre>
       *发送时间，毫秒
       * </pre>
       *
       * <code>int64 send_time = 8;</code>
       * @return The sendTime.
       */
      public long getSendTime() {
        return sendTime_;
      }
      /**
       * <pre>
       *发送时间，毫秒
       * </pre>
       *
       * <code>int64 send_time = 8;</code>
       * @param value The sendTime to set.
       * @return This builder for chaining.
       */
      public Builder setSendTime(long value) {
        
        sendTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *发送时间，毫秒
       * </pre>
       *
       * <code>int64 send_time = 8;</code>
       * @return This builder for chaining.
       */
      public Builder clearSendTime() {
        
        sendTime_ = 0L;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.PbMailData)
    }

    // @@protoc_insertion_point(class_scope:pb.PbMailData)
    private static final pb.xiugou.x1.protobuf.mail.Mail.PbMailData DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.mail.Mail.PbMailData();
    }

    public static pb.xiugou.x1.protobuf.mail.Mail.PbMailData getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<PbMailData>
        PARSER = new com.google.protobuf.AbstractParser<PbMailData>() {
      @java.lang.Override
      public PbMailData parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new PbMailData(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<PbMailData> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<PbMailData> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.mail.Mail.PbMailData getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_MailInfoResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_MailInfoResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_MailReceiveOneRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_MailReceiveOneRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_MailReceiveOneResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_MailReceiveOneResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_MailReceiveBatchRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_MailReceiveBatchRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_MailReceiveBatchResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_MailReceiveBatchResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_MailDeleteBatchRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_MailDeleteBatchRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_MailDeleteBatchResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_MailDeleteBatchResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_MailDeleteOneRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_MailDeleteOneRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_MailDeleteOneResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_MailDeleteOneResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_MailReadRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_MailReadRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_MailReadResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_MailReadResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_MailPushMessage_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_MailPushMessage_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_PbMailData_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_PbMailData_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\nMail.proto\022\002pb\032\020MiniStruct.proto\"Q\n\020Ma" +
      "ilInfoResponse\022\035\n\005mails\030\001 \003(\0132\016.pb.PbMai" +
      "lData\"\036\n\005Proto\022\013\n\007UNKNOWN\020\000\022\010\n\002ID\020\301\317$\"C\n" +
      "\025MailReceiveOneRequest\022\n\n\002id\030\001 \001(\003\"\036\n\005Pr" +
      "oto\022\013\n\007UNKNOWN\020\000\022\010\n\002ID\020\302\317$\"U\n\026MailReceiv" +
      "eOneResponse\022\n\n\002id\030\001 \001(\003\022\017\n\007receive\030\002 \001(" +
      "\010\"\036\n\005Proto\022\013\n\007UNKNOWN\020\000\022\010\n\002ID\020\302\317$\"9\n\027Mai" +
      "lReceiveBatchRequest\"\036\n\005Proto\022\013\n\007UNKNOWN" +
      "\020\000\022\010\n\002ID\020\303\317$\"v\n\030MailReceiveBatchResponse" +
      "\022\013\n\003ids\030\001 \003(\003\022\033\n\006things\030\002 \003(\0132\013.pb.PbThi" +
      "ng\022\020\n\010has_full\030\003 \001(\010\"\036\n\005Proto\022\013\n\007UNKNOWN" +
      "\020\000\022\010\n\002ID\020\303\317$\"8\n\026MailDeleteBatchRequest\"\036" +
      "\n\005Proto\022\013\n\007UNKNOWN\020\000\022\010\n\002ID\020\304\317$\"F\n\027MailDe" +
      "leteBatchResponse\022\013\n\003ids\030\001 \003(\003\"\036\n\005Proto\022" +
      "\013\n\007UNKNOWN\020\000\022\010\n\002ID\020\304\317$\"B\n\024MailDeleteOneR" +
      "equest\022\n\n\002id\030\001 \001(\003\"\036\n\005Proto\022\013\n\007UNKNOWN\020\000" +
      "\022\010\n\002ID\020\305\317$\"C\n\025MailDeleteOneResponse\022\n\n\002i" +
      "d\030\001 \001(\003\"\036\n\005Proto\022\013\n\007UNKNOWN\020\000\022\010\n\002ID\020\305\317$\"" +
      "=\n\017MailReadRequest\022\n\n\002id\030\001 \001(\003\"\036\n\005Proto\022" +
      "\013\n\007UNKNOWN\020\000\022\010\n\002ID\020\306\317$\"L\n\020MailReadRespon" +
      "se\022\n\n\002id\030\001 \001(\003\022\014\n\004read\030\002 \001(\010\"\036\n\005Proto\022\013\n" +
      "\007UNKNOWN\020\000\022\010\n\002ID\020\306\317$\"P\n\017MailPushMessage\022" +
      "\035\n\005mails\030\001 \003(\0132\016.pb.PbMailData\"\036\n\005Proto\022" +
      "\013\n\007UNKNOWN\020\000\022\010\n\002ID\020\307\317$\"\237\001\n\nPbMailData\022\n\n" +
      "\002id\030\001 \001(\003\022\023\n\013template_id\030\002 \001(\005\022\r\n\005title\030" +
      "\003 \003(\t\022\017\n\007content\030\004 \003(\t\022\036\n\nattachment\030\005 \003" +
      "(\0132\n.pb.PbItem\022\014\n\004read\030\006 \001(\010\022\017\n\007receive\030" +
      "\007 \001(\010\022\021\n\tsend_time\030\010 \001(\003B4\n\032pb.xiugou.x1" +
      ".protobuf.mail\252\002\025pb.xiugou.x1.protobufb\006" +
      "proto3"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          pb.xiugou.x1.protobuf.ministruct.MiniStruct.getDescriptor(),
        });
    internal_static_pb_MailInfoResponse_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_pb_MailInfoResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_MailInfoResponse_descriptor,
        new java.lang.String[] { "Mails", });
    internal_static_pb_MailReceiveOneRequest_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_pb_MailReceiveOneRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_MailReceiveOneRequest_descriptor,
        new java.lang.String[] { "Id", });
    internal_static_pb_MailReceiveOneResponse_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_pb_MailReceiveOneResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_MailReceiveOneResponse_descriptor,
        new java.lang.String[] { "Id", "Receive", });
    internal_static_pb_MailReceiveBatchRequest_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_pb_MailReceiveBatchRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_MailReceiveBatchRequest_descriptor,
        new java.lang.String[] { });
    internal_static_pb_MailReceiveBatchResponse_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_pb_MailReceiveBatchResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_MailReceiveBatchResponse_descriptor,
        new java.lang.String[] { "Ids", "Things", "HasFull", });
    internal_static_pb_MailDeleteBatchRequest_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_pb_MailDeleteBatchRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_MailDeleteBatchRequest_descriptor,
        new java.lang.String[] { });
    internal_static_pb_MailDeleteBatchResponse_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_pb_MailDeleteBatchResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_MailDeleteBatchResponse_descriptor,
        new java.lang.String[] { "Ids", });
    internal_static_pb_MailDeleteOneRequest_descriptor =
      getDescriptor().getMessageTypes().get(7);
    internal_static_pb_MailDeleteOneRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_MailDeleteOneRequest_descriptor,
        new java.lang.String[] { "Id", });
    internal_static_pb_MailDeleteOneResponse_descriptor =
      getDescriptor().getMessageTypes().get(8);
    internal_static_pb_MailDeleteOneResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_MailDeleteOneResponse_descriptor,
        new java.lang.String[] { "Id", });
    internal_static_pb_MailReadRequest_descriptor =
      getDescriptor().getMessageTypes().get(9);
    internal_static_pb_MailReadRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_MailReadRequest_descriptor,
        new java.lang.String[] { "Id", });
    internal_static_pb_MailReadResponse_descriptor =
      getDescriptor().getMessageTypes().get(10);
    internal_static_pb_MailReadResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_MailReadResponse_descriptor,
        new java.lang.String[] { "Id", "Read", });
    internal_static_pb_MailPushMessage_descriptor =
      getDescriptor().getMessageTypes().get(11);
    internal_static_pb_MailPushMessage_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_MailPushMessage_descriptor,
        new java.lang.String[] { "Mails", });
    internal_static_pb_PbMailData_descriptor =
      getDescriptor().getMessageTypes().get(12);
    internal_static_pb_PbMailData_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_PbMailData_descriptor,
        new java.lang.String[] { "Id", "TemplateId", "Title", "Content", "Attachment", "Read", "Receive", "SendTime", });
    pb.xiugou.x1.protobuf.ministruct.MiniStruct.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}
