content: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: cli_def/login.proto
  
  package protobuf.generate.cli2srv.login;
  
  public final class Auth {
    private Auth() {}
    public static void registerAllExtensions(
        com.google.protobuf.ExtensionRegistry registry) {
    }
    public interface CRegisterOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
  
      // required string userid = 1;
      /**
       * <code>required string userid = 1;</code>
       */
      boolean hasUserid();
      /**
       * <code>required string userid = 1;</code>
       */
      java.lang.String getUserid();
      /**
       * <code>required string userid = 1;</code>
       */
      com.google.protobuf.ByteString
          getUseridBytes();
  
      // required string passwd = 2;
      /**
       * <code>required string passwd = 2;</code>
       */
      boolean hasPasswd();
      /**
       * <code>required string passwd = 2;</code>
       */
      java.lang.String getPasswd();
      /**
       * <code>required string passwd = 2;</code>
       */
      com.google.protobuf.ByteString
          getPasswdBytes();
    }
    /**
     * Protobuf type {@code CRegister}
     */
    public static final class CRegister extends
        com.google.protobuf.GeneratedMessage
        implements CRegisterOrBuilder {
      // Use CRegister.newBuilder() to construct.
      private CRegister(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private CRegister(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
  
      private static final CRegister defaultInstance;
      public static CRegister getDefaultInstance() {
        return defaultInstance;
      }
  
      public CRegister getDefaultInstanceForType() {
        return defaultInstance;
      }
  
      private final com.google.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private CRegister(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        initFields();
        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;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 10: {
                bitField0_ |= 0x00000001;
                userid_ = input.readBytes();
                break;
              }
              case 18: {
                bitField0_ |= 0x00000002;
                passwd_ = input.readBytes();
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return protobuf.generate.cli2srv.login.Auth.internal_static_CRegister_descriptor;
      }
  
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return protobuf.generate.cli2srv.login.Auth.internal_static_CRegister_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                protobuf.generate.cli2srv.login.Auth.CRegister.class, protobuf.generate.cli2srv.login.Auth.CRegister.Builder.class);
      }
  
      public static com.google.protobuf.Parser<CRegister> PARSER =
          new com.google.protobuf.AbstractParser<CRegister>() {
        public CRegister parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new CRegister(input, extensionRegistry);
        }
      };
  
      @java.lang.Override
      public com.google.protobuf.Parser<CRegister> getParserForType() {
        return PARSER;
      }
  
      private int bitField0_;
      // required string userid = 1;
      public static final int USERID_FIELD_NUMBER = 1;
      private java.lang.Object userid_;
      /**
       * <code>required string userid = 1;</code>
       */
      public boolean hasUserid() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required string userid = 1;</code>
       */
      public java.lang.String getUserid() {
        java.lang.Object ref = userid_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            userid_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string userid = 1;</code>
       */
      public com.google.protobuf.ByteString
          getUseridBytes() {
        java.lang.Object ref = userid_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          userid_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
  
      // required string passwd = 2;
      public static final int PASSWD_FIELD_NUMBER = 2;
      private java.lang.Object passwd_;
      /**
       * <code>required string passwd = 2;</code>
       */
      public boolean hasPasswd() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required string passwd = 2;</code>
       */
      public java.lang.String getPasswd() {
        java.lang.Object ref = passwd_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            passwd_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string passwd = 2;</code>
       */
      public com.google.protobuf.ByteString
          getPasswdBytes() {
        java.lang.Object ref = passwd_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          passwd_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
  
      private void initFields() {
        userid_ = "";
        passwd_ = "";
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
  
        if (!hasUserid()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasPasswd()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeBytes(1, getUseridBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeBytes(2, getPasswdBytes());
        }
        getUnknownFields().writeTo(output);
      }
  
      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(1, getUseridBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(2, getPasswdBytes());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
  
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
  
      public static protobuf.generate.cli2srv.login.Auth.CRegister parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static protobuf.generate.cli2srv.login.Auth.CRegister parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static protobuf.generate.cli2srv.login.Auth.CRegister parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static protobuf.generate.cli2srv.login.Auth.CRegister parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static protobuf.generate.cli2srv.login.Auth.CRegister parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static protobuf.generate.cli2srv.login.Auth.CRegister parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static protobuf.generate.cli2srv.login.Auth.CRegister parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static protobuf.generate.cli2srv.login.Auth.CRegister parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static protobuf.generate.cli2srv.login.Auth.CRegister parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static protobuf.generate.cli2srv.login.Auth.CRegister parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
  
      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(protobuf.generate.cli2srv.login.Auth.CRegister prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
  
      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code CRegister}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements protobuf.generate.cli2srv.login.Auth.CRegisterOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return protobuf.generate.cli2srv.login.Auth.internal_static_CRegister_descriptor;
        }
  
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return protobuf.generate.cli2srv.login.Auth.internal_static_CRegister_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  protobuf.generate.cli2srv.login.Auth.CRegister.class, protobuf.generate.cli2srv.login.Auth.CRegister.Builder.class);
        }
  
        // Construct using protobuf.generate.cli2srv.login.Auth.CRegister.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }
  
        public Builder clear() {
          super.clear();
          userid_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          passwd_ = "";
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
  
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
  
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return protobuf.generate.cli2srv.login.Auth.internal_static_CRegister_descriptor;
        }
  
        public protobuf.generate.cli2srv.login.Auth.CRegister getDefaultInstanceForType() {
          return protobuf.generate.cli2srv.login.Auth.CRegister.getDefaultInstance();
        }
  
        public protobuf.generate.cli2srv.login.Auth.CRegister build() {
          protobuf.generate.cli2srv.login.Auth.CRegister result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        public protobuf.generate.cli2srv.login.Auth.CRegister buildPartial() {
          protobuf.generate.cli2srv.login.Auth.CRegister result = new protobuf.generate.cli2srv.login.Auth.CRegister(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.userid_ = userid_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.passwd_ = passwd_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
  
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof protobuf.generate.cli2srv.login.Auth.CRegister) {
            return mergeFrom((protobuf.generate.cli2srv.login.Auth.CRegister)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(protobuf.generate.cli2srv.login.Auth.CRegister other) {
          if (other == protobuf.generate.cli2srv.login.Auth.CRegister.getDefaultInstance()) return this;
          if (other.hasUserid()) {
            bitField0_ |= 0x00000001;
            userid_ = other.userid_;
            onChanged();
          }
          if (other.hasPasswd()) {
            bitField0_ |= 0x00000002;
            passwd_ = other.passwd_;
            onChanged();
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
  
        public final boolean isInitialized() {
          if (!hasUserid()) {
            
            return false;
          }
          if (!hasPasswd()) {
            
            return false;
          }
          return true;
        }
  
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          protobuf.generate.cli2srv.login.Auth.CRegister parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (protobuf.generate.cli2srv.login.Auth.CRegister) e.getUnfinishedMessage();
            throw e;
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;
  
        // required string userid = 1;
        private java.lang.Object userid_ = "";
        /**
         * <code>required string userid = 1;</code>
         */
        public boolean hasUserid() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>required string userid = 1;</code>
         */
        public java.lang.String getUserid() {
          java.lang.Object ref = userid_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((com.google.protobuf.ByteString) ref)
                .toStringUtf8();
            userid_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string userid = 1;</code>
         */
        public com.google.protobuf.ByteString
            getUseridBytes() {
          java.lang.Object ref = userid_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            userid_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>required string userid = 1;</code>
         */
        public Builder setUserid(
            java.lang.String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000001;
          userid_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required string userid = 1;</code>
         */
        public Builder clearUserid() {
          bitField0_ = (bitField0_ & ~0x00000001);
          userid_ = getDefaultInstance().getUserid();
          onChanged();
          return this;
        }
        /**
         * <code>required string userid = 1;</code>
         */
        public Builder setUseridBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000001;
          userid_ = value;
          onChanged();
          return this;
        }
  
        // required string passwd = 2;
        private java.lang.Object passwd_ = "";
        /**
         * <code>required string passwd = 2;</code>
         */
        public boolean hasPasswd() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>required string passwd = 2;</code>
         */
        public java.lang.String getPasswd() {
          java.lang.Object ref = passwd_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((com.google.protobuf.ByteString) ref)
                .toStringUtf8();
            passwd_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string passwd = 2;</code>
         */
        public com.google.protobuf.ByteString
            getPasswdBytes() {
          java.lang.Object ref = passwd_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            passwd_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>required string passwd = 2;</code>
         */
        public Builder setPasswd(
            java.lang.String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000002;
          passwd_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required string passwd = 2;</code>
         */
        public Builder clearPasswd() {
          bitField0_ = (bitField0_ & ~0x00000002);
          passwd_ = getDefaultInstance().getPasswd();
          onChanged();
          return this;
        }
        /**
         * <code>required string passwd = 2;</code>
         */
        public Builder setPasswdBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000002;
          passwd_ = value;
          onChanged();
          return this;
        }
  
        // @@protoc_insertion_point(builder_scope:CRegister)
      }
  
      static {
        defaultInstance = new CRegister(true);
        defaultInstance.initFields();
      }
  
      // @@protoc_insertion_point(class_scope:CRegister)
    }
  
    public interface CLoginOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
  
      // required string userid = 1;
      /**
       * <code>required string userid = 1;</code>
       *
       * <pre>
       * 用户账户id
       * </pre>
       */
      boolean hasUserid();
      /**
       * <code>required string userid = 1;</code>
       *
       * <pre>
       * 用户账户id
       * </pre>
       */
      java.lang.String getUserid();
      /**
       * <code>required string userid = 1;</code>
       *
       * <pre>
       * 用户账户id
       * </pre>
       */
      com.google.protobuf.ByteString
          getUseridBytes();
  
      // required string passwd = 2;
      /**
       * <code>required string passwd = 2;</code>
       *
       * <pre>
       * 用户密码
       * </pre>
       */
      boolean hasPasswd();
      /**
       * <code>required string passwd = 2;</code>
       *
       * <pre>
       * 用户密码
       * </pre>
       */
      java.lang.String getPasswd();
      /**
       * <code>required string passwd = 2;</code>
       *
       * <pre>
       * 用户密码
       * </pre>
       */
      com.google.protobuf.ByteString
          getPasswdBytes();
  
      // optional string platform = 3;
      /**
       * <code>optional string platform = 3;</code>
       *
       * <pre>
       * 客户端平台:android,ios,web
       * </pre>
       */
      boolean hasPlatform();
      /**
       * <code>optional string platform = 3;</code>
       *
       * <pre>
       * 客户端平台:android,ios,web
       * </pre>
       */
      java.lang.String getPlatform();
      /**
       * <code>optional string platform = 3;</code>
       *
       * <pre>
       * 客户端平台:android,ios,web
       * </pre>
       */
      com.google.protobuf.ByteString
          getPlatformBytes();
  
      // optional string app_version = 4;
      /**
       * <code>optional string app_version = 4;</code>
       *
       * <pre>
       * APP版本号
       * </pre>
       */
      boolean hasAppVersion();
      /**
       * <code>optional string app_version = 4;</code>
       *
       * <pre>
       * APP版本号
       * </pre>
       */
      java.lang.String getAppVersion();
      /**
       * <code>optional string app_version = 4;</code>
       *
       * <pre>
       * APP版本号
       * </pre>
       */
      com.google.protobuf.ByteString
          getAppVersionBytes();
    }
    /**
     * Protobuf type {@code CLogin}
     */
    public static final class CLogin extends
        com.google.protobuf.GeneratedMessage
        implements CLoginOrBuilder {
      // Use CLogin.newBuilder() to construct.
      private CLogin(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private CLogin(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
  
      private static final CLogin defaultInstance;
      public static CLogin getDefaultInstance() {
        return defaultInstance;
      }
  
      public CLogin getDefaultInstanceForType() {
        return defaultInstance;
      }
  
      private final com.google.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private CLogin(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        initFields();
        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;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 10: {
                bitField0_ |= 0x00000001;
                userid_ = input.readBytes();
                break;
              }
              case 18: {
                bitField0_ |= 0x00000002;
                passwd_ = input.readBytes();
                break;
              }
              case 26: {
                bitField0_ |= 0x00000004;
                platform_ = input.readBytes();
                break;
              }
              case 34: {
                bitField0_ |= 0x00000008;
                appVersion_ = input.readBytes();
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return protobuf.generate.cli2srv.login.Auth.internal_static_CLogin_descriptor;
      }
  
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return protobuf.generate.cli2srv.login.Auth.internal_static_CLogin_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                protobuf.generate.cli2srv.login.Auth.CLogin.class, protobuf.generate.cli2srv.login.Auth.CLogin.Builder.class);
      }
  
      public static com.google.protobuf.Parser<CLogin> PARSER =
          new com.google.protobuf.AbstractParser<CLogin>() {
        public CLogin parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new CLogin(input, extensionRegistry);
        }
      };
  
      @java.lang.Override
      public com.google.protobuf.Parser<CLogin> getParserForType() {
        return PARSER;
      }
  
      private int bitField0_;
      // required string userid = 1;
      public static final int USERID_FIELD_NUMBER = 1;
      private java.lang.Object userid_;
      /**
       * <code>required string userid = 1;</code>
       *
       * <pre>
       * 用户账户id
       * </pre>
       */
      public boolean hasUserid() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required string userid = 1;</code>
       *
       * <pre>
       * 用户账户id
       * </pre>
       */
      public java.lang.String getUserid() {
        java.lang.Object ref = userid_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            userid_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string userid = 1;</code>
       *
       * <pre>
       * 用户账户id
       * </pre>
       */
      public com.google.protobuf.ByteString
          getUseridBytes() {
        java.lang.Object ref = userid_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          userid_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
  
      // required string passwd = 2;
      public static final int PASSWD_FIELD_NUMBER = 2;
      private java.lang.Object passwd_;
      /**
       * <code>required string passwd = 2;</code>
       *
       * <pre>
       * 用户密码
       * </pre>
       */
      public boolean hasPasswd() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required string passwd = 2;</code>
       *
       * <pre>
       * 用户密码
       * </pre>
       */
      public java.lang.String getPasswd() {
        java.lang.Object ref = passwd_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            passwd_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string passwd = 2;</code>
       *
       * <pre>
       * 用户密码
       * </pre>
       */
      public com.google.protobuf.ByteString
          getPasswdBytes() {
        java.lang.Object ref = passwd_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          passwd_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
  
      // optional string platform = 3;
      public static final int PLATFORM_FIELD_NUMBER = 3;
      private java.lang.Object platform_;
      /**
       * <code>optional string platform = 3;</code>
       *
       * <pre>
       * 客户端平台:android,ios,web
       * </pre>
       */
      public boolean hasPlatform() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional string platform = 3;</code>
       *
       * <pre>
       * 客户端平台:android,ios,web
       * </pre>
       */
      public java.lang.String getPlatform() {
        java.lang.Object ref = platform_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            platform_ = s;
          }
          return s;
        }
      }
      /**
       * <code>optional string platform = 3;</code>
       *
       * <pre>
       * 客户端平台:android,ios,web
       * </pre>
       */
      public com.google.protobuf.ByteString
          getPlatformBytes() {
        java.lang.Object ref = platform_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          platform_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
  
      // optional string app_version = 4;
      public static final int APP_VERSION_FIELD_NUMBER = 4;
      private java.lang.Object appVersion_;
      /**
       * <code>optional string app_version = 4;</code>
       *
       * <pre>
       * APP版本号
       * </pre>
       */
      public boolean hasAppVersion() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional string app_version = 4;</code>
       *
       * <pre>
       * APP版本号
       * </pre>
       */
      public java.lang.String getAppVersion() {
        java.lang.Object ref = appVersion_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            appVersion_ = s;
          }
          return s;
        }
      }
      /**
       * <code>optional string app_version = 4;</code>
       *
       * <pre>
       * APP版本号
       * </pre>
       */
      public com.google.protobuf.ByteString
          getAppVersionBytes() {
        java.lang.Object ref = appVersion_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          appVersion_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
  
      private void initFields() {
        userid_ = "";
        passwd_ = "";
        platform_ = "";
        appVersion_ = "";
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
  
        if (!hasUserid()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasPasswd()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeBytes(1, getUseridBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeBytes(2, getPasswdBytes());
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeBytes(3, getPlatformBytes());
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          output.writeBytes(4, getAppVersionBytes());
        }
        getUnknownFields().writeTo(output);
      }
  
      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(1, getUseridBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(2, getPasswdBytes());
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(3, getPlatformBytes());
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(4, getAppVersionBytes());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
  
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
  
      public static protobuf.generate.cli2srv.login.Auth.CLogin parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static protobuf.generate.cli2srv.login.Auth.CLogin parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static protobuf.generate.cli2srv.login.Auth.CLogin parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static protobuf.generate.cli2srv.login.Auth.CLogin parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static protobuf.generate.cli2srv.login.Auth.CLogin parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static protobuf.generate.cli2srv.login.Auth.CLogin parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static protobuf.generate.cli2srv.login.Auth.CLogin parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static protobuf.generate.cli2srv.login.Auth.CLogin parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static protobuf.generate.cli2srv.login.Auth.CLogin parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static protobuf.generate.cli2srv.login.Auth.CLogin parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
  
      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(protobuf.generate.cli2srv.login.Auth.CLogin prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
  
      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code CLogin}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements protobuf.generate.cli2srv.login.Auth.CLoginOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return protobuf.generate.cli2srv.login.Auth.internal_static_CLogin_descriptor;
        }
  
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return protobuf.generate.cli2srv.login.Auth.internal_static_CLogin_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  protobuf.generate.cli2srv.login.Auth.CLogin.class, protobuf.generate.cli2srv.login.Auth.CLogin.Builder.class);
        }
  
        // Construct using protobuf.generate.cli2srv.login.Auth.CLogin.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }
  
        public Builder clear() {
          super.clear();
          userid_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          passwd_ = "";
          bitField0_ = (bitField0_ & ~0x00000002);
          platform_ = "";
          bitField0_ = (bitField0_ & ~0x00000004);
          appVersion_ = "";
          bitField0_ = (bitField0_ & ~0x00000008);
          return this;
        }
  
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
  
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return protobuf.generate.cli2srv.login.Auth.internal_static_CLogin_descriptor;
        }
  
        public protobuf.generate.cli2srv.login.Auth.CLogin getDefaultInstanceForType() {
          return protobuf.generate.cli2srv.login.Auth.CLogin.getDefaultInstance();
        }
  
        public protobuf.generate.cli2srv.login.Auth.CLogin build() {
          protobuf.generate.cli2srv.login.Auth.CLogin result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        public protobuf.generate.cli2srv.login.Auth.CLogin buildPartial() {
          protobuf.generate.cli2srv.login.Auth.CLogin result = new protobuf.generate.cli2srv.login.Auth.CLogin(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.userid_ = userid_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.passwd_ = passwd_;
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          result.platform_ = platform_;
          if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
            to_bitField0_ |= 0x00000008;
          }
          result.appVersion_ = appVersion_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
  
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof protobuf.generate.cli2srv.login.Auth.CLogin) {
            return mergeFrom((protobuf.generate.cli2srv.login.Auth.CLogin)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(protobuf.generate.cli2srv.login.Auth.CLogin other) {
          if (other == protobuf.generate.cli2srv.login.Auth.CLogin.getDefaultInstance()) return this;
          if (other.hasUserid()) {
            bitField0_ |= 0x00000001;
            userid_ = other.userid_;
            onChanged();
          }
          if (other.hasPasswd()) {
            bitField0_ |= 0x00000002;
            passwd_ = other.passwd_;
            onChanged();
          }
          if (other.hasPlatform()) {
            bitField0_ |= 0x00000004;
            platform_ = other.platform_;
            onChanged();
          }
          if (other.hasAppVersion()) {
            bitField0_ |= 0x00000008;
            appVersion_ = other.appVersion_;
            onChanged();
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
  
        public final boolean isInitialized() {
          if (!hasUserid()) {
            
            return false;
          }
          if (!hasPasswd()) {
            
            return false;
          }
          return true;
        }
  
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          protobuf.generate.cli2srv.login.Auth.CLogin parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (protobuf.generate.cli2srv.login.Auth.CLogin) e.getUnfinishedMessage();
            throw e;
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;
  
        // required string userid = 1;
        private java.lang.Object userid_ = "";
        /**
         * <code>required string userid = 1;</code>
         *
         * <pre>
         * 用户账户id
         * </pre>
         */
        public boolean hasUserid() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>required string userid = 1;</code>
         *
         * <pre>
         * 用户账户id
         * </pre>
         */
        public java.lang.String getUserid() {
          java.lang.Object ref = userid_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((com.google.protobuf.ByteString) ref)
                .toStringUtf8();
            userid_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string userid = 1;</code>
         *
         * <pre>
         * 用户账户id
         * </pre>
         */
        public com.google.protobuf.ByteString
            getUseridBytes() {
          java.lang.Object ref = userid_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            userid_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>required string userid = 1;</code>
         *
         * <pre>
         * 用户账户id
         * </pre>
         */
        public Builder setUserid(
            java.lang.String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000001;
          userid_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required string userid = 1;</code>
         *
         * <pre>
         * 用户账户id
         * </pre>
         */
        public Builder clearUserid() {
          bitField0_ = (bitField0_ & ~0x00000001);
          userid_ = getDefaultInstance().getUserid();
          onChanged();
          return this;
        }
        /**
         * <code>required string userid = 1;</code>
         *
         * <pre>
         * 用户账户id
         * </pre>
         */
        public Builder setUseridBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000001;
          userid_ = value;
          onChanged();
          return this;
        }
  
        // required string passwd = 2;
        private java.lang.Object passwd_ = "";
        /**
         * <code>required string passwd = 2;</code>
         *
         * <pre>
         * 用户密码
         * </pre>
         */
        public boolean hasPasswd() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>required string passwd = 2;</code>
         *
         * <pre>
         * 用户密码
         * </pre>
         */
        public java.lang.String getPasswd() {
          java.lang.Object ref = passwd_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((com.google.protobuf.ByteString) ref)
                .toStringUtf8();
            passwd_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string passwd = 2;</code>
         *
         * <pre>
         * 用户密码
         * </pre>
         */
        public com.google.protobuf.ByteString
            getPasswdBytes() {
          java.lang.Object ref = passwd_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            passwd_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>required string passwd = 2;</code>
         *
         * <pre>
         * 用户密码
         * </pre>
         */
        public Builder setPasswd(
            java.lang.String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000002;
          passwd_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required string passwd = 2;</code>
         *
         * <pre>
         * 用户密码
         * </pre>
         */
        public Builder clearPasswd() {
          bitField0_ = (bitField0_ & ~0x00000002);
          passwd_ = getDefaultInstance().getPasswd();
          onChanged();
          return this;
        }
        /**
         * <code>required string passwd = 2;</code>
         *
         * <pre>
         * 用户密码
         * </pre>
         */
        public Builder setPasswdBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000002;
          passwd_ = value;
          onChanged();
          return this;
        }
  
        // optional string platform = 3;
        private java.lang.Object platform_ = "";
        /**
         * <code>optional string platform = 3;</code>
         *
         * <pre>
         * 客户端平台:android,ios,web
         * </pre>
         */
        public boolean hasPlatform() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        /**
         * <code>optional string platform = 3;</code>
         *
         * <pre>
         * 客户端平台:android,ios,web
         * </pre>
         */
        public java.lang.String getPlatform() {
          java.lang.Object ref = platform_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((com.google.protobuf.ByteString) ref)
                .toStringUtf8();
            platform_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>optional string platform = 3;</code>
         *
         * <pre>
         * 客户端平台:android,ios,web
         * </pre>
         */
        public com.google.protobuf.ByteString
            getPlatformBytes() {
          java.lang.Object ref = platform_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            platform_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>optional string platform = 3;</code>
         *
         * <pre>
         * 客户端平台:android,ios,web
         * </pre>
         */
        public Builder setPlatform(
            java.lang.String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000004;
          platform_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional string platform = 3;</code>
         *
         * <pre>
         * 客户端平台:android,ios,web
         * </pre>
         */
        public Builder clearPlatform() {
          bitField0_ = (bitField0_ & ~0x00000004);
          platform_ = getDefaultInstance().getPlatform();
          onChanged();
          return this;
        }
        /**
         * <code>optional string platform = 3;</code>
         *
         * <pre>
         * 客户端平台:android,ios,web
         * </pre>
         */
        public Builder setPlatformBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000004;
          platform_ = value;
          onChanged();
          return this;
        }
  
        // optional string app_version = 4;
        private java.lang.Object appVersion_ = "";
        /**
         * <code>optional string app_version = 4;</code>
         *
         * <pre>
         * APP版本号
         * </pre>
         */
        public boolean hasAppVersion() {
          return ((bitField0_ & 0x00000008) == 0x00000008);
        }
        /**
         * <code>optional string app_version = 4;</code>
         *
         * <pre>
         * APP版本号
         * </pre>
         */
        public java.lang.String getAppVersion() {
          java.lang.Object ref = appVersion_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((com.google.protobuf.ByteString) ref)
                .toStringUtf8();
            appVersion_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>optional string app_version = 4;</code>
         *
         * <pre>
         * APP版本号
         * </pre>
         */
        public com.google.protobuf.ByteString
            getAppVersionBytes() {
          java.lang.Object ref = appVersion_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            appVersion_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>optional string app_version = 4;</code>
         *
         * <pre>
         * APP版本号
         * </pre>
         */
        public Builder setAppVersion(
            java.lang.String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000008;
          appVersion_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional string app_version = 4;</code>
         *
         * <pre>
         * APP版本号
         * </pre>
         */
        public Builder clearAppVersion() {
          bitField0_ = (bitField0_ & ~0x00000008);
          appVersion_ = getDefaultInstance().getAppVersion();
          onChanged();
          return this;
        }
        /**
         * <code>optional string app_version = 4;</code>
         *
         * <pre>
         * APP版本号
         * </pre>
         */
        public Builder setAppVersionBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000008;
          appVersion_ = value;
          onChanged();
          return this;
        }
  
        // @@protoc_insertion_point(builder_scope:CLogin)
      }
  
      static {
        defaultInstance = new CLogin(true);
        defaultInstance.initFields();
      }
  
      // @@protoc_insertion_point(class_scope:CLogin)
    }
  
    public interface SResponseOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
  
      // required int32 code = 1;
      /**
       * <code>required int32 code = 1;</code>
       *
       * <pre>
       *返回码
       * </pre>
       */
      boolean hasCode();
      /**
       * <code>required int32 code = 1;</code>
       *
       * <pre>
       *返回码
       * </pre>
       */
      int getCode();
  
      // required string desc = 2;
      /**
       * <code>required string desc = 2;</code>
       *
       * <pre>
       *描述
       * </pre>
       */
      boolean hasDesc();
      /**
       * <code>required string desc = 2;</code>
       *
       * <pre>
       *描述
       * </pre>
       */
      java.lang.String getDesc();
      /**
       * <code>required string desc = 2;</code>
       *
       * <pre>
       *描述
       * </pre>
       */
      com.google.protobuf.ByteString
          getDescBytes();
    }
    /**
     * Protobuf type {@code SResponse}
     *
     * <pre>
     *
     *code：
     *200 -- ok
     *404 -- error
     *300 -- dumplicated registery
     * </pre>
     */
    public static final class SResponse extends
        com.google.protobuf.GeneratedMessage
        implements SResponseOrBuilder {
      // Use SResponse.newBuilder() to construct.
      private SResponse(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private SResponse(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
  
      private static final SResponse defaultInstance;
      public static SResponse getDefaultInstance() {
        return defaultInstance;
      }
  
      public SResponse getDefaultInstanceForType() {
        return defaultInstance;
      }
  
      private final com.google.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private SResponse(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        initFields();
        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;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 8: {
                bitField0_ |= 0x00000001;
                code_ = input.readInt32();
                break;
              }
              case 18: {
                bitField0_ |= 0x00000002;
                desc_ = input.readBytes();
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return protobuf.generate.cli2srv.login.Auth.internal_static_SResponse_descriptor;
      }
  
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return protobuf.generate.cli2srv.login.Auth.internal_static_SResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                protobuf.generate.cli2srv.login.Auth.SResponse.class, protobuf.generate.cli2srv.login.Auth.SResponse.Builder.class);
      }
  
      public static com.google.protobuf.Parser<SResponse> PARSER =
          new com.google.protobuf.AbstractParser<SResponse>() {
        public SResponse parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new SResponse(input, extensionRegistry);
        }
      };
  
      @java.lang.Override
      public com.google.protobuf.Parser<SResponse> getParserForType() {
        return PARSER;
      }
  
      private int bitField0_;
      // required int32 code = 1;
      public static final int CODE_FIELD_NUMBER = 1;
      private int code_;
      /**
       * <code>required int32 code = 1;</code>
       *
       * <pre>
       *返回码
       * </pre>
       */
      public boolean hasCode() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required int32 code = 1;</code>
       *
       * <pre>
       *返回码
       * </pre>
       */
      public int getCode() {
        return code_;
      }
  
      // required string desc = 2;
      public static final int DESC_FIELD_NUMBER = 2;
      private java.lang.Object desc_;
      /**
       * <code>required string desc = 2;</code>
       *
       * <pre>
       *描述
       * </pre>
       */
      public boolean hasDesc() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required string desc = 2;</code>
       *
       * <pre>
       *描述
       * </pre>
       */
      public java.lang.String getDesc() {
        java.lang.Object ref = desc_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            desc_ = s;
          }
          return s;
        }
      }
      /**
       * <code>required string desc = 2;</code>
       *
       * <pre>
       *描述
       * </pre>
       */
      public com.google.protobuf.ByteString
          getDescBytes() {
        java.lang.Object ref = desc_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          desc_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
  
      private void initFields() {
        code_ = 0;
        desc_ = "";
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
  
        if (!hasCode()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!hasDesc()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }
  
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeInt32(1, code_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeBytes(2, getDescBytes());
        }
        getUnknownFields().writeTo(output);
      }
  
      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;
  
        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(1, code_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(2, getDescBytes());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
  
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
  
      public static protobuf.generate.cli2srv.login.Auth.SResponse parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static protobuf.generate.cli2srv.login.Auth.SResponse parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static protobuf.generate.cli2srv.login.Auth.SResponse parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static protobuf.generate.cli2srv.login.Auth.SResponse parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static protobuf.generate.cli2srv.login.Auth.SResponse parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static protobuf.generate.cli2srv.login.Auth.SResponse parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static protobuf.generate.cli2srv.login.Auth.SResponse parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static protobuf.generate.cli2srv.login.Auth.SResponse parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static protobuf.generate.cli2srv.login.Auth.SResponse parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static protobuf.generate.cli2srv.login.Auth.SResponse parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
  
      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(protobuf.generate.cli2srv.login.Auth.SResponse prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
  
      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code SResponse}
       *
       * <pre>
       *
       *code：
       *200 -- ok
       *404 -- error
       *300 -- dumplicated registery
       * </pre>
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements protobuf.generate.cli2srv.login.Auth.SResponseOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return protobuf.generate.cli2srv.login.Auth.internal_static_SResponse_descriptor;
        }
  
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return protobuf.generate.cli2srv.login.Auth.internal_static_SResponse_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  protobuf.generate.cli2srv.login.Auth.SResponse.class, protobuf.generate.cli2srv.login.Auth.SResponse.Builder.class);
        }
  
        // Construct using protobuf.generate.cli2srv.login.Auth.SResponse.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
  
        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }
  
        public Builder clear() {
          super.clear();
          code_ = 0;
          bitField0_ = (bitField0_ & ~0x00000001);
          desc_ = "";
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
  
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
  
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return protobuf.generate.cli2srv.login.Auth.internal_static_SResponse_descriptor;
        }
  
        public protobuf.generate.cli2srv.login.Auth.SResponse getDefaultInstanceForType() {
          return protobuf.generate.cli2srv.login.Auth.SResponse.getDefaultInstance();
        }
  
        public protobuf.generate.cli2srv.login.Auth.SResponse build() {
          protobuf.generate.cli2srv.login.Auth.SResponse result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
  
        public protobuf.generate.cli2srv.login.Auth.SResponse buildPartial() {
          protobuf.generate.cli2srv.login.Auth.SResponse result = new protobuf.generate.cli2srv.login.Auth.SResponse(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.code_ = code_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.desc_ = desc_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
  
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof protobuf.generate.cli2srv.login.Auth.SResponse) {
            return mergeFrom((protobuf.generate.cli2srv.login.Auth.SResponse)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
  
        public Builder mergeFrom(protobuf.generate.cli2srv.login.Auth.SResponse other) {
          if (other == protobuf.generate.cli2srv.login.Auth.SResponse.getDefaultInstance()) return this;
          if (other.hasCode()) {
            setCode(other.getCode());
          }
          if (other.hasDesc()) {
            bitField0_ |= 0x00000002;
            desc_ = other.desc_;
            onChanged();
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
  
        public final boolean isInitialized() {
          if (!hasCode()) {
            
            return false;
          }
          if (!hasDesc()) {
            
            return false;
          }
          return true;
        }
  
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          protobuf.generate.cli2srv.login.Auth.SResponse parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (protobuf.generate.cli2srv.login.Auth.SResponse) e.getUnfinishedMessage();
            throw e;
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;
  
        // required int32 code = 1;
        private int code_ ;
        /**
         * <code>required int32 code = 1;</code>
         *
         * <pre>
         *返回码
         * </pre>
         */
        public boolean hasCode() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>required int32 code = 1;</code>
         *
         * <pre>
         *返回码
         * </pre>
         */
        public int getCode() {
          return code_;
        }
        /**
         * <code>required int32 code = 1;</code>
         *
         * <pre>
         *返回码
         * </pre>
         */
        public Builder setCode(int value) {
          bitField0_ |= 0x00000001;
          code_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required int32 code = 1;</code>
         *
         * <pre>
         *返回码
         * </pre>
         */
        public Builder clearCode() {
          bitField0_ = (bitField0_ & ~0x00000001);
          code_ = 0;
          onChanged();
          return this;
        }
  
        // required string desc = 2;
        private java.lang.Object desc_ = "";
        /**
         * <code>required string desc = 2;</code>
         *
         * <pre>
         *描述
         * </pre>
         */
        public boolean hasDesc() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>required string desc = 2;</code>
         *
         * <pre>
         *描述
         * </pre>
         */
        public java.lang.String getDesc() {
          java.lang.Object ref = desc_;
          if (!(ref instanceof java.lang.String)) {
            java.lang.String s = ((com.google.protobuf.ByteString) ref)
                .toStringUtf8();
            desc_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>required string desc = 2;</code>
         *
         * <pre>
         *描述
         * </pre>
         */
        public com.google.protobuf.ByteString
            getDescBytes() {
          java.lang.Object ref = desc_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            desc_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>required string desc = 2;</code>
         *
         * <pre>
         *描述
         * </pre>
         */
        public Builder setDesc(
            java.lang.String value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000002;
          desc_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required string desc = 2;</code>
         *
         * <pre>
         *描述
         * </pre>
         */
        public Builder clearDesc() {
          bitField0_ = (bitField0_ & ~0x00000002);
          desc_ = getDefaultInstance().getDesc();
          onChanged();
          return this;
        }
        /**
         * <code>required string desc = 2;</code>
         *
         * <pre>
         *描述
         * </pre>
         */
        public Builder setDescBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
      throw new NullPointerException();
    }
    bitField0_ |= 0x00000002;
          desc_ = value;
          onChanged();
          return this;
        }
  
        // @@protoc_insertion_point(builder_scope:SResponse)
      }
  
      static {
        defaultInstance = new SResponse(true);
        defaultInstance.initFields();
      }
  
      // @@protoc_insertion_point(class_scope:SResponse)
    }
  
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_CRegister_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_CRegister_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_CLogin_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_CLogin_fieldAccessorTable;
    private static com.google.protobuf.Descriptors.Descriptor
      internal_static_SResponse_descriptor;
    private static
      com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internal_static_SResponse_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\023cli_def/login.proto\"+\n\tCRegister\022\016\n\006us" +
        "erid\030\001 \002(\t\022\016\n\006passwd\030\002 \002(\t\"O\n\006CLogin\022\016\n\006" +
        "userid\030\001 \002(\t\022\016\n\006passwd\030\002 \002(\t\022\020\n\010platform" +
        "\030\003 \001(\t\022\023\n\013app_version\030\004 \001(\t\"\'\n\tSResponse" +
        "\022\014\n\004code\030\001 \002(\005\022\014\n\004desc\030\002 \002(\tB\'\n\037protobuf" +
        ".generate.cli2srv.loginB\004Auth"
      };
      com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
        new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
          public com.google.protobuf.ExtensionRegistry assignDescriptors(
              com.google.protobuf.Descriptors.FileDescriptor root) {
            descriptor = root;
            internal_static_CRegister_descriptor =
              getDescriptor().getMessageTypes().get(0);
            internal_static_CRegister_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_CRegister_descriptor,
                new java.lang.String[] { "Userid", "Passwd", });
            internal_static_CLogin_descriptor =
              getDescriptor().getMessageTypes().get(1);
            internal_static_CLogin_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_CLogin_descriptor,
                new java.lang.String[] { "Userid", "Passwd", "Platform", "AppVersion", });
            internal_static_SResponse_descriptor =
              getDescriptor().getMessageTypes().get(2);
            internal_static_SResponse_fieldAccessorTable = new
              com.google.protobuf.GeneratedMessage.FieldAccessorTable(
                internal_static_SResponse_descriptor,
                new java.lang.String[] { "Code", "Desc", });
            return null;
          }
        };
      com.google.protobuf.Descriptors.FileDescriptor
        .internalBuildGeneratedFileFrom(descriptorData,
          new com.google.protobuf.Descriptors.FileDescriptor[] {
          }, assigner);
    }
  
    // @@protoc_insertion_point(outer_class_scope)
  }
  