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

package com.kfzs.duanduan.proto;

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

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  /**
   * Protobuf enum {@code protobuf.RegisterStepCodes}
   */
  public enum RegisterStepCodes
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * <code>Omit_ = 0;</code>
     */
    Omit_(0),
    /**
     * <code>CaptchaPhone = 1;</code>
     */
    CaptchaPhone(1),
    /**
     * <code>RegisterByCaptchaPhone = 2;</code>
     */
    RegisterByCaptchaPhone(2),
    UNRECOGNIZED(-1),
    ;

    /**
     * <code>Omit_ = 0;</code>
     */
    public static final int Omit__VALUE = 0;
    /**
     * <code>CaptchaPhone = 1;</code>
     */
    public static final int CaptchaPhone_VALUE = 1;
    /**
     * <code>RegisterByCaptchaPhone = 2;</code>
     */
    public static final int RegisterByCaptchaPhone_VALUE = 2;


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

    /**
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @Deprecated
    public static RegisterStepCodes valueOf(int value) {
      return forNumber(value);
    }

    public static RegisterStepCodes forNumber(int value) {
      switch (value) {
        case 0: return Omit_;
        case 1: return CaptchaPhone;
        case 2: return RegisterByCaptchaPhone;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<RegisterStepCodes>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        RegisterStepCodes> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<RegisterStepCodes>() {
            public RegisterStepCodes findValueByNumber(int number) {
              return RegisterStepCodes.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 Session.getDescriptor().getEnumTypes().get(0);
    }

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

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

    private final int value;

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

    // @@protoc_insertion_point(enum_scope:protobuf.RegisterStepCodes)
  }

  /**
   * Protobuf enum {@code protobuf.FindPasswordStepCodes}
   */
  public enum FindPasswordStepCodes
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * <code>Default = 0;</code>
     */
    Default(0),
    /**
     * <code>CheckPhone = 1;</code>
     */
    CheckPhone(1),
    /**
     * <code>CheckCaptchaAndReset = 2;</code>
     */
    CheckCaptchaAndReset(2),
    UNRECOGNIZED(-1),
    ;

    /**
     * <code>Default = 0;</code>
     */
    public static final int Default_VALUE = 0;
    /**
     * <code>CheckPhone = 1;</code>
     */
    public static final int CheckPhone_VALUE = 1;
    /**
     * <code>CheckCaptchaAndReset = 2;</code>
     */
    public static final int CheckCaptchaAndReset_VALUE = 2;


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

    /**
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @Deprecated
    public static FindPasswordStepCodes valueOf(int value) {
      return forNumber(value);
    }

    public static FindPasswordStepCodes forNumber(int value) {
      switch (value) {
        case 0: return Default;
        case 1: return CheckPhone;
        case 2: return CheckCaptchaAndReset;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<FindPasswordStepCodes>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        FindPasswordStepCodes> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<FindPasswordStepCodes>() {
            public FindPasswordStepCodes findValueByNumber(int number) {
              return FindPasswordStepCodes.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 Session.getDescriptor().getEnumTypes().get(1);
    }

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

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

    private final int value;

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

    // @@protoc_insertion_point(enum_scope:protobuf.FindPasswordStepCodes)
  }

  public interface SessionInOrBuilder extends
      // @@protoc_insertion_point(interface_extends:protobuf.SessionIn)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional string Account = 1;</code>
     */
    String getAccount();
    /**
     * <code>optional string Account = 1;</code>
     */
    com.google.protobuf.ByteString
        getAccountBytes();

    /**
     * <code>optional string Pwd = 2;</code>
     */
    String getPwd();
    /**
     * <code>optional string Pwd = 2;</code>
     */
    com.google.protobuf.ByteString
        getPwdBytes();

    /**
     * <code>optional string Captcha = 3;</code>
     */
    String getCaptcha();
    /**
     * <code>optional string Captcha = 3;</code>
     */
    com.google.protobuf.ByteString
        getCaptchaBytes();

    /**
     * <code>optional string CaptchaKey = 4;</code>
     */
    String getCaptchaKey();
    /**
     * <code>optional string CaptchaKey = 4;</code>
     */
    com.google.protobuf.ByteString
        getCaptchaKeyBytes();

    /**
     * <code>optional int32 Step = 5;</code>
     */
    int getStep();

    /**
     * <code>optional string SmsSeccode = 6;</code>
     */
    String getSmsSeccode();
    /**
     * <code>optional string SmsSeccode = 6;</code>
     */
    com.google.protobuf.ByteString
        getSmsSeccodeBytes();

    /**
     * <code>optional string NewPass = 7;</code>
     */
    String getNewPass();
    /**
     * <code>optional string NewPass = 7;</code>
     */
    com.google.protobuf.ByteString
        getNewPassBytes();

    /**
     * <code>optional int32 VipType = 8;</code>
     */
    int getVipType();

    /**
     * <code>optional string InvitationCode = 9;</code>
     */
    String getInvitationCode();
    /**
     * <code>optional string InvitationCode = 9;</code>
     */
    com.google.protobuf.ByteString
        getInvitationCodeBytes();
  }
  /**
   * Protobuf type {@code protobuf.SessionIn}
   */
  public  static final class SessionIn extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:protobuf.SessionIn)
      SessionInOrBuilder {
    // Use SessionIn.newBuilder() to construct.
    private SessionIn(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private SessionIn() {
      account_ = "";
      pwd_ = "";
      captcha_ = "";
      captchaKey_ = "";
      step_ = 0;
      smsSeccode_ = "";
      newPass_ = "";
      vipType_ = 0;
      invitationCode_ = "";
    }

    @Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private SessionIn(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              String s = input.readStringRequireUtf8();

              account_ = s;
              break;
            }
            case 18: {
              String s = input.readStringRequireUtf8();

              pwd_ = s;
              break;
            }
            case 26: {
              String s = input.readStringRequireUtf8();

              captcha_ = s;
              break;
            }
            case 34: {
              String s = input.readStringRequireUtf8();

              captchaKey_ = s;
              break;
            }
            case 40: {

              step_ = input.readInt32();
              break;
            }
            case 50: {
              String s = input.readStringRequireUtf8();

              smsSeccode_ = s;
              break;
            }
            case 58: {
              String s = input.readStringRequireUtf8();

              newPass_ = s;
              break;
            }
            case 64: {

              vipType_ = input.readInt32();
              break;
            }
            case 74: {
              String s = input.readStringRequireUtf8();

              invitationCode_ = s;
              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 {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return Session.internal_static_protobuf_SessionIn_descriptor;
    }

    protected FieldAccessorTable
        internalGetFieldAccessorTable() {
      return Session.internal_static_protobuf_SessionIn_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              SessionIn.class, Builder.class);
    }

    public static final int ACCOUNT_FIELD_NUMBER = 1;
    private volatile Object account_;
    /**
     * <code>optional string Account = 1;</code>
     */
    public String getAccount() {
      Object ref = account_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        account_ = s;
        return s;
      }
    }
    /**
     * <code>optional string Account = 1;</code>
     */
    public com.google.protobuf.ByteString
        getAccountBytes() {
      Object ref = account_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        account_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PWD_FIELD_NUMBER = 2;
    private volatile Object pwd_;
    /**
     * <code>optional string Pwd = 2;</code>
     */
    public String getPwd() {
      Object ref = pwd_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        pwd_ = s;
        return s;
      }
    }
    /**
     * <code>optional string Pwd = 2;</code>
     */
    public com.google.protobuf.ByteString
        getPwdBytes() {
      Object ref = pwd_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        pwd_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CAPTCHA_FIELD_NUMBER = 3;
    private volatile Object captcha_;
    /**
     * <code>optional string Captcha = 3;</code>
     */
    public String getCaptcha() {
      Object ref = captcha_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        captcha_ = s;
        return s;
      }
    }
    /**
     * <code>optional string Captcha = 3;</code>
     */
    public com.google.protobuf.ByteString
        getCaptchaBytes() {
      Object ref = captcha_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        captcha_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CAPTCHAKEY_FIELD_NUMBER = 4;
    private volatile Object captchaKey_;
    /**
     * <code>optional string CaptchaKey = 4;</code>
     */
    public String getCaptchaKey() {
      Object ref = captchaKey_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        captchaKey_ = s;
        return s;
      }
    }
    /**
     * <code>optional string CaptchaKey = 4;</code>
     */
    public com.google.protobuf.ByteString
        getCaptchaKeyBytes() {
      Object ref = captchaKey_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        captchaKey_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int STEP_FIELD_NUMBER = 5;
    private int step_;
    /**
     * <code>optional int32 Step = 5;</code>
     */
    public int getStep() {
      return step_;
    }

    public static final int SMSSECCODE_FIELD_NUMBER = 6;
    private volatile Object smsSeccode_;
    /**
     * <code>optional string SmsSeccode = 6;</code>
     */
    public String getSmsSeccode() {
      Object ref = smsSeccode_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        smsSeccode_ = s;
        return s;
      }
    }
    /**
     * <code>optional string SmsSeccode = 6;</code>
     */
    public com.google.protobuf.ByteString
        getSmsSeccodeBytes() {
      Object ref = smsSeccode_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        smsSeccode_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int NEWPASS_FIELD_NUMBER = 7;
    private volatile Object newPass_;
    /**
     * <code>optional string NewPass = 7;</code>
     */
    public String getNewPass() {
      Object ref = newPass_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        newPass_ = s;
        return s;
      }
    }
    /**
     * <code>optional string NewPass = 7;</code>
     */
    public com.google.protobuf.ByteString
        getNewPassBytes() {
      Object ref = newPass_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        newPass_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int VIPTYPE_FIELD_NUMBER = 8;
    private int vipType_;
    /**
     * <code>optional int32 VipType = 8;</code>
     */
    public int getVipType() {
      return vipType_;
    }

    public static final int INVITATIONCODE_FIELD_NUMBER = 9;
    private volatile Object invitationCode_;
    /**
     * <code>optional string InvitationCode = 9;</code>
     */
    public String getInvitationCode() {
      Object ref = invitationCode_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        invitationCode_ = s;
        return s;
      }
    }
    /**
     * <code>optional string InvitationCode = 9;</code>
     */
    public com.google.protobuf.ByteString
        getInvitationCodeBytes() {
      Object ref = invitationCode_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        invitationCode_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getAccountBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, account_);
      }
      if (!getPwdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, pwd_);
      }
      if (!getCaptchaBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, captcha_);
      }
      if (!getCaptchaKeyBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, captchaKey_);
      }
      if (step_ != 0) {
        output.writeInt32(5, step_);
      }
      if (!getSmsSeccodeBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, smsSeccode_);
      }
      if (!getNewPassBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 7, newPass_);
      }
      if (vipType_ != 0) {
        output.writeInt32(8, vipType_);
      }
      if (!getInvitationCodeBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 9, invitationCode_);
      }
    }

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

      size = 0;
      if (!getAccountBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, account_);
      }
      if (!getPwdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, pwd_);
      }
      if (!getCaptchaBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, captcha_);
      }
      if (!getCaptchaKeyBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, captchaKey_);
      }
      if (step_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(5, step_);
      }
      if (!getSmsSeccodeBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, smsSeccode_);
      }
      if (!getNewPassBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, newPass_);
      }
      if (vipType_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(8, vipType_);
      }
      if (!getInvitationCodeBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, invitationCode_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @Override
    public boolean equals(final Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof SessionIn)) {
        return super.equals(obj);
      }
      SessionIn other = (SessionIn) obj;

      boolean result = true;
      result = result && getAccount()
          .equals(other.getAccount());
      result = result && getPwd()
          .equals(other.getPwd());
      result = result && getCaptcha()
          .equals(other.getCaptcha());
      result = result && getCaptchaKey()
          .equals(other.getCaptchaKey());
      result = result && (getStep()
          == other.getStep());
      result = result && getSmsSeccode()
          .equals(other.getSmsSeccode());
      result = result && getNewPass()
          .equals(other.getNewPass());
      result = result && (getVipType()
          == other.getVipType());
      result = result && getInvitationCode()
          .equals(other.getInvitationCode());
      return result;
    }

    @Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      hash = (37 * hash) + ACCOUNT_FIELD_NUMBER;
      hash = (53 * hash) + getAccount().hashCode();
      hash = (37 * hash) + PWD_FIELD_NUMBER;
      hash = (53 * hash) + getPwd().hashCode();
      hash = (37 * hash) + CAPTCHA_FIELD_NUMBER;
      hash = (53 * hash) + getCaptcha().hashCode();
      hash = (37 * hash) + CAPTCHAKEY_FIELD_NUMBER;
      hash = (53 * hash) + getCaptchaKey().hashCode();
      hash = (37 * hash) + STEP_FIELD_NUMBER;
      hash = (53 * hash) + getStep();
      hash = (37 * hash) + SMSSECCODE_FIELD_NUMBER;
      hash = (53 * hash) + getSmsSeccode().hashCode();
      hash = (37 * hash) + NEWPASS_FIELD_NUMBER;
      hash = (53 * hash) + getNewPass().hashCode();
      hash = (37 * hash) + VIPTYPE_FIELD_NUMBER;
      hash = (53 * hash) + getVipType();
      hash = (37 * hash) + INVITATIONCODE_FIELD_NUMBER;
      hash = (53 * hash) + getInvitationCode().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static SessionIn parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static SessionIn parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static SessionIn parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static SessionIn parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static SessionIn parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static SessionIn 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 SessionIn parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static SessionIn 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 SessionIn parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static SessionIn parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(SessionIn prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @Override
    protected Builder newBuilderForType(
        BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code protobuf.SessionIn}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:protobuf.SessionIn)
        SessionInOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return Session.internal_static_protobuf_SessionIn_descriptor;
      }

      protected FieldAccessorTable
          internalGetFieldAccessorTable() {
        return Session.internal_static_protobuf_SessionIn_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                SessionIn.class, Builder.class);
      }

      // Construct using com.kfzs.duanduan.proto.Session.SessionIn.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        account_ = "";

        pwd_ = "";

        captcha_ = "";

        captchaKey_ = "";

        step_ = 0;

        smsSeccode_ = "";

        newPass_ = "";

        vipType_ = 0;

        invitationCode_ = "";

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return Session.internal_static_protobuf_SessionIn_descriptor;
      }

      public SessionIn getDefaultInstanceForType() {
        return SessionIn.getDefaultInstance();
      }

      public SessionIn build() {
        SessionIn result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public SessionIn buildPartial() {
        SessionIn result = new SessionIn(this);
        result.account_ = account_;
        result.pwd_ = pwd_;
        result.captcha_ = captcha_;
        result.captchaKey_ = captchaKey_;
        result.step_ = step_;
        result.smsSeccode_ = smsSeccode_;
        result.newPass_ = newPass_;
        result.vipType_ = vipType_;
        result.invitationCode_ = invitationCode_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof SessionIn) {
          return mergeFrom((SessionIn)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(SessionIn other) {
        if (other == SessionIn.getDefaultInstance()) return this;
        if (!other.getAccount().isEmpty()) {
          account_ = other.account_;
          onChanged();
        }
        if (!other.getPwd().isEmpty()) {
          pwd_ = other.pwd_;
          onChanged();
        }
        if (!other.getCaptcha().isEmpty()) {
          captcha_ = other.captcha_;
          onChanged();
        }
        if (!other.getCaptchaKey().isEmpty()) {
          captchaKey_ = other.captchaKey_;
          onChanged();
        }
        if (other.getStep() != 0) {
          setStep(other.getStep());
        }
        if (!other.getSmsSeccode().isEmpty()) {
          smsSeccode_ = other.smsSeccode_;
          onChanged();
        }
        if (!other.getNewPass().isEmpty()) {
          newPass_ = other.newPass_;
          onChanged();
        }
        if (other.getVipType() != 0) {
          setVipType(other.getVipType());
        }
        if (!other.getInvitationCode().isEmpty()) {
          invitationCode_ = other.invitationCode_;
          onChanged();
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        SessionIn parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (SessionIn) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private Object account_ = "";
      /**
       * <code>optional string Account = 1;</code>
       */
      public String getAccount() {
        Object ref = account_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          account_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <code>optional string Account = 1;</code>
       */
      public com.google.protobuf.ByteString
          getAccountBytes() {
        Object ref = account_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          account_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string Account = 1;</code>
       */
      public Builder setAccount(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        account_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string Account = 1;</code>
       */
      public Builder clearAccount() {
        
        account_ = getDefaultInstance().getAccount();
        onChanged();
        return this;
      }
      /**
       * <code>optional string Account = 1;</code>
       */
      public Builder setAccountBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        account_ = value;
        onChanged();
        return this;
      }

      private Object pwd_ = "";
      /**
       * <code>optional string Pwd = 2;</code>
       */
      public String getPwd() {
        Object ref = pwd_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          pwd_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <code>optional string Pwd = 2;</code>
       */
      public com.google.protobuf.ByteString
          getPwdBytes() {
        Object ref = pwd_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          pwd_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string Pwd = 2;</code>
       */
      public Builder setPwd(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        pwd_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string Pwd = 2;</code>
       */
      public Builder clearPwd() {
        
        pwd_ = getDefaultInstance().getPwd();
        onChanged();
        return this;
      }
      /**
       * <code>optional string Pwd = 2;</code>
       */
      public Builder setPwdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        pwd_ = value;
        onChanged();
        return this;
      }

      private Object captcha_ = "";
      /**
       * <code>optional string Captcha = 3;</code>
       */
      public String getCaptcha() {
        Object ref = captcha_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          captcha_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <code>optional string Captcha = 3;</code>
       */
      public com.google.protobuf.ByteString
          getCaptchaBytes() {
        Object ref = captcha_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          captcha_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string Captcha = 3;</code>
       */
      public Builder setCaptcha(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        captcha_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string Captcha = 3;</code>
       */
      public Builder clearCaptcha() {
        
        captcha_ = getDefaultInstance().getCaptcha();
        onChanged();
        return this;
      }
      /**
       * <code>optional string Captcha = 3;</code>
       */
      public Builder setCaptchaBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        captcha_ = value;
        onChanged();
        return this;
      }

      private Object captchaKey_ = "";
      /**
       * <code>optional string CaptchaKey = 4;</code>
       */
      public String getCaptchaKey() {
        Object ref = captchaKey_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          captchaKey_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <code>optional string CaptchaKey = 4;</code>
       */
      public com.google.protobuf.ByteString
          getCaptchaKeyBytes() {
        Object ref = captchaKey_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          captchaKey_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string CaptchaKey = 4;</code>
       */
      public Builder setCaptchaKey(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        captchaKey_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string CaptchaKey = 4;</code>
       */
      public Builder clearCaptchaKey() {
        
        captchaKey_ = getDefaultInstance().getCaptchaKey();
        onChanged();
        return this;
      }
      /**
       * <code>optional string CaptchaKey = 4;</code>
       */
      public Builder setCaptchaKeyBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        captchaKey_ = value;
        onChanged();
        return this;
      }

      private int step_ ;
      /**
       * <code>optional int32 Step = 5;</code>
       */
      public int getStep() {
        return step_;
      }
      /**
       * <code>optional int32 Step = 5;</code>
       */
      public Builder setStep(int value) {
        
        step_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 Step = 5;</code>
       */
      public Builder clearStep() {
        
        step_ = 0;
        onChanged();
        return this;
      }

      private Object smsSeccode_ = "";
      /**
       * <code>optional string SmsSeccode = 6;</code>
       */
      public String getSmsSeccode() {
        Object ref = smsSeccode_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          smsSeccode_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <code>optional string SmsSeccode = 6;</code>
       */
      public com.google.protobuf.ByteString
          getSmsSeccodeBytes() {
        Object ref = smsSeccode_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          smsSeccode_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string SmsSeccode = 6;</code>
       */
      public Builder setSmsSeccode(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        smsSeccode_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string SmsSeccode = 6;</code>
       */
      public Builder clearSmsSeccode() {
        
        smsSeccode_ = getDefaultInstance().getSmsSeccode();
        onChanged();
        return this;
      }
      /**
       * <code>optional string SmsSeccode = 6;</code>
       */
      public Builder setSmsSeccodeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        smsSeccode_ = value;
        onChanged();
        return this;
      }

      private Object newPass_ = "";
      /**
       * <code>optional string NewPass = 7;</code>
       */
      public String getNewPass() {
        Object ref = newPass_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          newPass_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <code>optional string NewPass = 7;</code>
       */
      public com.google.protobuf.ByteString
          getNewPassBytes() {
        Object ref = newPass_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          newPass_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string NewPass = 7;</code>
       */
      public Builder setNewPass(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        newPass_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string NewPass = 7;</code>
       */
      public Builder clearNewPass() {
        
        newPass_ = getDefaultInstance().getNewPass();
        onChanged();
        return this;
      }
      /**
       * <code>optional string NewPass = 7;</code>
       */
      public Builder setNewPassBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        newPass_ = value;
        onChanged();
        return this;
      }

      private int vipType_ ;
      /**
       * <code>optional int32 VipType = 8;</code>
       */
      public int getVipType() {
        return vipType_;
      }
      /**
       * <code>optional int32 VipType = 8;</code>
       */
      public Builder setVipType(int value) {
        
        vipType_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 VipType = 8;</code>
       */
      public Builder clearVipType() {
        
        vipType_ = 0;
        onChanged();
        return this;
      }

      private Object invitationCode_ = "";
      /**
       * <code>optional string InvitationCode = 9;</code>
       */
      public String getInvitationCode() {
        Object ref = invitationCode_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          invitationCode_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <code>optional string InvitationCode = 9;</code>
       */
      public com.google.protobuf.ByteString
          getInvitationCodeBytes() {
        Object ref = invitationCode_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          invitationCode_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string InvitationCode = 9;</code>
       */
      public Builder setInvitationCode(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        invitationCode_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string InvitationCode = 9;</code>
       */
      public Builder clearInvitationCode() {
        
        invitationCode_ = getDefaultInstance().getInvitationCode();
        onChanged();
        return this;
      }
      /**
       * <code>optional string InvitationCode = 9;</code>
       */
      public Builder setInvitationCodeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        invitationCode_ = value;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }


      // @@protoc_insertion_point(builder_scope:protobuf.SessionIn)
    }

    // @@protoc_insertion_point(class_scope:protobuf.SessionIn)
    private static final SessionIn DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new SessionIn();
    }

    public static SessionIn getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public SessionIn getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface SessionOutOrBuilder extends
      // @@protoc_insertion_point(interface_extends:protobuf.SessionOut)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional int32 Uid = 1;</code>
     */
    int getUid();

    /**
     * <code>optional string Token = 2;</code>
     */
    String getToken();
    /**
     * <code>optional string Token = 2;</code>
     */
    com.google.protobuf.ByteString
        getTokenBytes();

    /**
     * <code>optional string OpenId = 3;</code>
     */
    String getOpenId();
    /**
     * <code>optional string OpenId = 3;</code>
     */
    com.google.protobuf.ByteString
        getOpenIdBytes();

    /**
     * <code>optional bool ConnectState = 4;</code>
     */
    boolean getConnectState();
  }
  /**
   * Protobuf type {@code protobuf.SessionOut}
   */
  public  static final class SessionOut extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:protobuf.SessionOut)
      SessionOutOrBuilder {
    // Use SessionOut.newBuilder() to construct.
    private SessionOut(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private SessionOut() {
      uid_ = 0;
      token_ = "";
      openId_ = "";
      connectState_ = false;
    }

    @Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private SessionOut(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 8: {

              uid_ = input.readInt32();
              break;
            }
            case 18: {
              String s = input.readStringRequireUtf8();

              token_ = s;
              break;
            }
            case 26: {
              String s = input.readStringRequireUtf8();

              openId_ = s;
              break;
            }
            case 32: {

              connectState_ = input.readBool();
              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 {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return Session.internal_static_protobuf_SessionOut_descriptor;
    }

    protected FieldAccessorTable
        internalGetFieldAccessorTable() {
      return Session.internal_static_protobuf_SessionOut_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              SessionOut.class, Builder.class);
    }

    public static final int UID_FIELD_NUMBER = 1;
    private int uid_;
    /**
     * <code>optional int32 Uid = 1;</code>
     */
    public int getUid() {
      return uid_;
    }

    public static final int TOKEN_FIELD_NUMBER = 2;
    private volatile Object token_;
    /**
     * <code>optional string Token = 2;</code>
     */
    public String getToken() {
      Object ref = token_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        token_ = s;
        return s;
      }
    }
    /**
     * <code>optional string Token = 2;</code>
     */
    public com.google.protobuf.ByteString
        getTokenBytes() {
      Object ref = token_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        token_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int OPENID_FIELD_NUMBER = 3;
    private volatile Object openId_;
    /**
     * <code>optional string OpenId = 3;</code>
     */
    public String getOpenId() {
      Object ref = openId_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        openId_ = s;
        return s;
      }
    }
    /**
     * <code>optional string OpenId = 3;</code>
     */
    public com.google.protobuf.ByteString
        getOpenIdBytes() {
      Object ref = openId_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        openId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CONNECTSTATE_FIELD_NUMBER = 4;
    private boolean connectState_;
    /**
     * <code>optional bool ConnectState = 4;</code>
     */
    public boolean getConnectState() {
      return connectState_;
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (uid_ != 0) {
        output.writeInt32(1, uid_);
      }
      if (!getTokenBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, token_);
      }
      if (!getOpenIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, openId_);
      }
      if (connectState_ != false) {
        output.writeBool(4, connectState_);
      }
    }

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

      size = 0;
      if (uid_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, uid_);
      }
      if (!getTokenBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, token_);
      }
      if (!getOpenIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, openId_);
      }
      if (connectState_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(4, connectState_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @Override
    public boolean equals(final Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof SessionOut)) {
        return super.equals(obj);
      }
      SessionOut other = (SessionOut) obj;

      boolean result = true;
      result = result && (getUid()
          == other.getUid());
      result = result && getToken()
          .equals(other.getToken());
      result = result && getOpenId()
          .equals(other.getOpenId());
      result = result && (getConnectState()
          == other.getConnectState());
      return result;
    }

    @Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      hash = (37 * hash) + UID_FIELD_NUMBER;
      hash = (53 * hash) + getUid();
      hash = (37 * hash) + TOKEN_FIELD_NUMBER;
      hash = (53 * hash) + getToken().hashCode();
      hash = (37 * hash) + OPENID_FIELD_NUMBER;
      hash = (53 * hash) + getOpenId().hashCode();
      hash = (37 * hash) + CONNECTSTATE_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getConnectState());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static SessionOut parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static SessionOut parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static SessionOut parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static SessionOut parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static SessionOut parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static SessionOut 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 SessionOut parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static SessionOut 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 SessionOut parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static SessionOut parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(SessionOut prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @Override
    protected Builder newBuilderForType(
        BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code protobuf.SessionOut}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:protobuf.SessionOut)
        SessionOutOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return Session.internal_static_protobuf_SessionOut_descriptor;
      }

      protected FieldAccessorTable
          internalGetFieldAccessorTable() {
        return Session.internal_static_protobuf_SessionOut_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                SessionOut.class, Builder.class);
      }

      // Construct using com.kfzs.duanduan.proto.Session.SessionOut.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        uid_ = 0;

        token_ = "";

        openId_ = "";

        connectState_ = false;

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return Session.internal_static_protobuf_SessionOut_descriptor;
      }

      public SessionOut getDefaultInstanceForType() {
        return SessionOut.getDefaultInstance();
      }

      public SessionOut build() {
        SessionOut result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public SessionOut buildPartial() {
        SessionOut result = new SessionOut(this);
        result.uid_ = uid_;
        result.token_ = token_;
        result.openId_ = openId_;
        result.connectState_ = connectState_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof SessionOut) {
          return mergeFrom((SessionOut)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(SessionOut other) {
        if (other == SessionOut.getDefaultInstance()) return this;
        if (other.getUid() != 0) {
          setUid(other.getUid());
        }
        if (!other.getToken().isEmpty()) {
          token_ = other.token_;
          onChanged();
        }
        if (!other.getOpenId().isEmpty()) {
          openId_ = other.openId_;
          onChanged();
        }
        if (other.getConnectState() != false) {
          setConnectState(other.getConnectState());
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        SessionOut parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (SessionOut) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int uid_ ;
      /**
       * <code>optional int32 Uid = 1;</code>
       */
      public int getUid() {
        return uid_;
      }
      /**
       * <code>optional int32 Uid = 1;</code>
       */
      public Builder setUid(int value) {
        
        uid_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 Uid = 1;</code>
       */
      public Builder clearUid() {
        
        uid_ = 0;
        onChanged();
        return this;
      }

      private Object token_ = "";
      /**
       * <code>optional string Token = 2;</code>
       */
      public String getToken() {
        Object ref = token_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          token_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <code>optional string Token = 2;</code>
       */
      public com.google.protobuf.ByteString
          getTokenBytes() {
        Object ref = token_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          token_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string Token = 2;</code>
       */
      public Builder setToken(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        token_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string Token = 2;</code>
       */
      public Builder clearToken() {
        
        token_ = getDefaultInstance().getToken();
        onChanged();
        return this;
      }
      /**
       * <code>optional string Token = 2;</code>
       */
      public Builder setTokenBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        token_ = value;
        onChanged();
        return this;
      }

      private Object openId_ = "";
      /**
       * <code>optional string OpenId = 3;</code>
       */
      public String getOpenId() {
        Object ref = openId_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          openId_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <code>optional string OpenId = 3;</code>
       */
      public com.google.protobuf.ByteString
          getOpenIdBytes() {
        Object ref = openId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          openId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string OpenId = 3;</code>
       */
      public Builder setOpenId(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        openId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string OpenId = 3;</code>
       */
      public Builder clearOpenId() {
        
        openId_ = getDefaultInstance().getOpenId();
        onChanged();
        return this;
      }
      /**
       * <code>optional string OpenId = 3;</code>
       */
      public Builder setOpenIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        openId_ = value;
        onChanged();
        return this;
      }

      private boolean connectState_ ;
      /**
       * <code>optional bool ConnectState = 4;</code>
       */
      public boolean getConnectState() {
        return connectState_;
      }
      /**
       * <code>optional bool ConnectState = 4;</code>
       */
      public Builder setConnectState(boolean value) {
        
        connectState_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool ConnectState = 4;</code>
       */
      public Builder clearConnectState() {
        
        connectState_ = false;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }


      // @@protoc_insertion_point(builder_scope:protobuf.SessionOut)
    }

    // @@protoc_insertion_point(class_scope:protobuf.SessionOut)
    private static final SessionOut DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new SessionOut();
    }

    public static SessionOut getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public SessionOut getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_protobuf_SessionIn_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_protobuf_SessionIn_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_protobuf_SessionOut_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_protobuf_SessionOut_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    String[] descriptorData = {
      "\n\026protobuf/session.proto\022\010protobuf\"\252\001\n\tS" +
      "essionIn\022\017\n\007Account\030\001 \001(\t\022\013\n\003Pwd\030\002 \001(\t\022\017" +
      "\n\007Captcha\030\003 \001(\t\022\022\n\nCaptchaKey\030\004 \001(\t\022\014\n\004S" +
      "tep\030\005 \001(\005\022\022\n\nSmsSeccode\030\006 \001(\t\022\017\n\007NewPass" +
      "\030\007 \001(\t\022\017\n\007VipType\030\010 \001(\005\022\026\n\016InvitationCod" +
      "e\030\t \001(\t\"N\n\nSessionOut\022\013\n\003Uid\030\001 \001(\005\022\r\n\005To" +
      "ken\030\002 \001(\t\022\016\n\006OpenId\030\003 \001(\t\022\024\n\014ConnectStat" +
      "e\030\004 \001(\010*L\n\021RegisterStepCodes\022\t\n\005Omit_\020\000\022" +
      "\020\n\014CaptchaPhone\020\001\022\032\n\026RegisterByCaptchaPh" +
      "one\020\002*N\n\025FindPasswordStepCodes\022\013\n\007Defaul",
      "t\020\000\022\016\n\nCheckPhone\020\001\022\030\n\024CheckCaptchaAndRe" +
      "set\020\002B\031\n\027com.kfzs.duanduan.protob\006proto3"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
          public com.google.protobuf.ExtensionRegistry assignDescriptors(
              com.google.protobuf.Descriptors.FileDescriptor root) {
            descriptor = root;
            return null;
          }
        };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        }, assigner);
    internal_static_protobuf_SessionIn_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_protobuf_SessionIn_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_protobuf_SessionIn_descriptor,
        new String[] { "Account", "Pwd", "Captcha", "CaptchaKey", "Step", "SmsSeccode", "NewPass", "VipType", "InvitationCode", });
    internal_static_protobuf_SessionOut_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_protobuf_SessionOut_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_protobuf_SessionOut_descriptor,
        new String[] { "Uid", "Token", "OpenId", "ConnectState", });
  }

  // @@protoc_insertion_point(outer_class_scope)
}
