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

wechat.protobuf.Fpininl Maven / Gradle / Ivy

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

package wechat.protobuf;

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

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

    /**
     * optional .wechat_proto.FPData.FPBody body = 1;
     * @return Whether the body field is set.
     */
    boolean hasBody();
    /**
     * optional .wechat_proto.FPData.FPBody body = 1;
     * @return The body.
     */
    wechat.protobuf.Fpininl.FPData.FPBody getBody();
    /**
     * optional .wechat_proto.FPData.FPBody body = 1;
     */
    wechat.protobuf.Fpininl.FPData.FPBodyOrBuilder getBodyOrBuilder();

    /**
     * optional string token = 2;
     * @return Whether the token field is set.
     */
    boolean hasToken();
    /**
     * optional string token = 2;
     * @return The token.
     */
    java.lang.String getToken();
    /**
     * optional string token = 2;
     * @return The bytes for token.
     */
    com.google.protobuf.ByteString
        getTokenBytes();
  }
  /**
   * Protobuf type {@code wechat_proto.FPData}
   */
  public static final class FPData extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:wechat_proto.FPData)
      FPDataOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use FPData.newBuilder() to construct.
    private FPData(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private FPData() {
      token_ = "";
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private FPData(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              wechat.protobuf.Fpininl.FPData.FPBody.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) != 0)) {
                subBuilder = body_.toBuilder();
              }
              body_ = input.readMessage(wechat.protobuf.Fpininl.FPData.FPBody.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(body_);
                body_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000002;
              token_ = bs;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPData_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              wechat.protobuf.Fpininl.FPData.class, wechat.protobuf.Fpininl.FPData.Builder.class);
    }

    public interface FPBodyOrBuilder extends
        // @@protoc_insertion_point(interface_extends:wechat_proto.FPData.FPBody)
        com.google.protobuf.MessageOrBuilder {

      /**
       * repeated .wechat_proto.FPData.FPBody.FPPair pair = 1;
       */
      java.util.List 
          getPairList();
      /**
       * repeated .wechat_proto.FPData.FPBody.FPPair pair = 1;
       */
      wechat.protobuf.Fpininl.FPData.FPBody.FPPair getPair(int index);
      /**
       * repeated .wechat_proto.FPData.FPBody.FPPair pair = 1;
       */
      int getPairCount();
      /**
       * repeated .wechat_proto.FPData.FPBody.FPPair pair = 1;
       */
      java.util.List 
          getPairOrBuilderList();
      /**
       * repeated .wechat_proto.FPData.FPBody.FPPair pair = 1;
       */
      wechat.protobuf.Fpininl.FPData.FPBody.FPPairOrBuilder getPairOrBuilder(
          int index);
    }
    /**
     * Protobuf type {@code wechat_proto.FPData.FPBody}
     */
    public static final class FPBody extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:wechat_proto.FPData.FPBody)
        FPBodyOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use FPBody.newBuilder() to construct.
      private FPBody(com.google.protobuf.GeneratedMessageV3.Builder builder) {
        super(builder);
      }
      private FPBody() {
        pair_ = java.util.Collections.emptyList();
      }

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

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private FPBody(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                  pair_ = new java.util.ArrayList();
                  mutable_bitField0_ |= 0x00000001;
                }
                pair_.add(
                    input.readMessage(wechat.protobuf.Fpininl.FPData.FPBody.FPPair.PARSER, extensionRegistry));
                break;
              }
              default: {
                if (!parseUnknownField(
                    input, unknownFields, extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          if (((mutable_bitField0_ & 0x00000001) != 0)) {
            pair_ = java.util.Collections.unmodifiableList(pair_);
          }
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPData_FPBody_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPData_FPBody_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                wechat.protobuf.Fpininl.FPData.FPBody.class, wechat.protobuf.Fpininl.FPData.FPBody.Builder.class);
      }

      public interface FPPairOrBuilder extends
          // @@protoc_insertion_point(interface_extends:wechat_proto.FPData.FPBody.FPPair)
          com.google.protobuf.MessageOrBuilder {

        /**
         * optional string key = 1;
         * @return Whether the key field is set.
         */
        boolean hasKey();
        /**
         * optional string key = 1;
         * @return The key.
         */
        java.lang.String getKey();
        /**
         * optional string key = 1;
         * @return The bytes for key.
         */
        com.google.protobuf.ByteString
            getKeyBytes();

        /**
         * optional string value = 2;
         * @return Whether the value field is set.
         */
        boolean hasValue();
        /**
         * optional string value = 2;
         * @return The value.
         */
        java.lang.String getValue();
        /**
         * optional string value = 2;
         * @return The bytes for value.
         */
        com.google.protobuf.ByteString
            getValueBytes();
      }
      /**
       * Protobuf type {@code wechat_proto.FPData.FPBody.FPPair}
       */
      public static final class FPPair extends
          com.google.protobuf.GeneratedMessageV3 implements
          // @@protoc_insertion_point(message_implements:wechat_proto.FPData.FPBody.FPPair)
          FPPairOrBuilder {
      private static final long serialVersionUID = 0L;
        // Use FPPair.newBuilder() to construct.
        private FPPair(com.google.protobuf.GeneratedMessageV3.Builder builder) {
          super(builder);
        }
        private FPPair() {
          key_ = "";
          value_ = "";
        }

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

        @java.lang.Override
        public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
          return this.unknownFields;
        }
        private FPPair(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          this();
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          int mutable_bitField0_ = 0;
          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
              com.google.protobuf.UnknownFieldSet.newBuilder();
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  com.google.protobuf.ByteString bs = input.readBytes();
                  bitField0_ |= 0x00000001;
                  key_ = bs;
                  break;
                }
                case 18: {
                  com.google.protobuf.ByteString bs = input.readBytes();
                  bitField0_ |= 0x00000002;
                  value_ = bs;
                  break;
                }
                default: {
                  if (!parseUnknownField(
                      input, unknownFields, extensionRegistry, tag)) {
                    done = true;
                  }
                  break;
                }
              }
            }
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(this);
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(
                e).setUnfinishedMessage(this);
          } finally {
            this.unknownFields = unknownFields.build();
            makeExtensionsImmutable();
          }
        }
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPData_FPBody_FPPair_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPData_FPBody_FPPair_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  wechat.protobuf.Fpininl.FPData.FPBody.FPPair.class, wechat.protobuf.Fpininl.FPData.FPBody.FPPair.Builder.class);
        }

        private int bitField0_;
        public static final int KEY_FIELD_NUMBER = 1;
        private volatile java.lang.Object key_;
        /**
         * optional string key = 1;
         * @return Whether the key field is set.
         */
        @java.lang.Override
        public boolean hasKey() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * optional string key = 1;
         * @return The key.
         */
        @java.lang.Override
        public java.lang.String getKey() {
          java.lang.Object ref = key_;
          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()) {
              key_ = s;
            }
            return s;
          }
        }
        /**
         * optional string key = 1;
         * @return The bytes for key.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString
            getKeyBytes() {
          java.lang.Object ref = key_;
          if (ref instanceof java.lang.String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            key_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }

        public static final int VALUE_FIELD_NUMBER = 2;
        private volatile java.lang.Object value_;
        /**
         * optional string value = 2;
         * @return Whether the value field is set.
         */
        @java.lang.Override
        public boolean hasValue() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * optional string value = 2;
         * @return The value.
         */
        @java.lang.Override
        public java.lang.String getValue() {
          java.lang.Object ref = value_;
          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()) {
              value_ = s;
            }
            return s;
          }
        }
        /**
         * optional string value = 2;
         * @return The bytes for value.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString
            getValueBytes() {
          java.lang.Object ref = value_;
          if (ref instanceof java.lang.String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            value_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }

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

          memoizedIsInitialized = 1;
          return true;
        }

        @java.lang.Override
        public void writeTo(com.google.protobuf.CodedOutputStream output)
                            throws java.io.IOException {
          if (((bitField0_ & 0x00000001) != 0)) {
            com.google.protobuf.GeneratedMessageV3.writeString(output, 1, key_);
          }
          if (((bitField0_ & 0x00000002) != 0)) {
            com.google.protobuf.GeneratedMessageV3.writeString(output, 2, value_);
          }
          unknownFields.writeTo(output);
        }

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

          size = 0;
          if (((bitField0_ & 0x00000001) != 0)) {
            size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, key_);
          }
          if (((bitField0_ & 0x00000002) != 0)) {
            size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, value_);
          }
          size += unknownFields.getSerializedSize();
          memoizedSize = size;
          return size;
        }

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
          if (obj == this) {
           return true;
          }
          if (!(obj instanceof wechat.protobuf.Fpininl.FPData.FPBody.FPPair)) {
            return super.equals(obj);
          }
          wechat.protobuf.Fpininl.FPData.FPBody.FPPair other = (wechat.protobuf.Fpininl.FPData.FPBody.FPPair) obj;

          if (hasKey() != other.hasKey()) return false;
          if (hasKey()) {
            if (!getKey()
                .equals(other.getKey())) return false;
          }
          if (hasValue() != other.hasValue()) return false;
          if (hasValue()) {
            if (!getValue()
                .equals(other.getValue())) return false;
          }
          if (!unknownFields.equals(other.unknownFields)) return false;
          return true;
        }

        @java.lang.Override
        public int hashCode() {
          if (memoizedHashCode != 0) {
            return memoizedHashCode;
          }
          int hash = 41;
          hash = (19 * hash) + getDescriptor().hashCode();
          if (hasKey()) {
            hash = (37 * hash) + KEY_FIELD_NUMBER;
            hash = (53 * hash) + getKey().hashCode();
          }
          if (hasValue()) {
            hash = (37 * hash) + VALUE_FIELD_NUMBER;
            hash = (53 * hash) + getValue().hashCode();
          }
          hash = (29 * hash) + unknownFields.hashCode();
          memoizedHashCode = hash;
          return hash;
        }

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

        @java.lang.Override
        public Builder newBuilderForType() { return newBuilder(); }
        public static Builder newBuilder() {
          return DEFAULT_INSTANCE.toBuilder();
        }
        public static Builder newBuilder(wechat.protobuf.Fpininl.FPData.FPBody.FPPair prototype) {
          return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
        }
        @java.lang.Override
        public Builder toBuilder() {
          return this == DEFAULT_INSTANCE
              ? new Builder() : new Builder().mergeFrom(this);
        }

        @java.lang.Override
        protected Builder newBuilderForType(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          Builder builder = new Builder(parent);
          return builder;
        }
        /**
         * Protobuf type {@code wechat_proto.FPData.FPBody.FPPair}
         */
        public static final class Builder extends
            com.google.protobuf.GeneratedMessageV3.Builder implements
            // @@protoc_insertion_point(builder_implements:wechat_proto.FPData.FPBody.FPPair)
            wechat.protobuf.Fpininl.FPData.FPBody.FPPairOrBuilder {
          public static final com.google.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPData_FPBody_FPPair_descriptor;
          }

          @java.lang.Override
          protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPData_FPBody_FPPair_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    wechat.protobuf.Fpininl.FPData.FPBody.FPPair.class, wechat.protobuf.Fpininl.FPData.FPBody.FPPair.Builder.class);
          }

          // Construct using wechat.protobuf.Fpininl.FPData.FPBody.FPPair.newBuilder()
          private Builder() {
            maybeForceBuilderInitialization();
          }

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

          @java.lang.Override
          public com.google.protobuf.Descriptors.Descriptor
              getDescriptorForType() {
            return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPData_FPBody_FPPair_descriptor;
          }

          @java.lang.Override
          public wechat.protobuf.Fpininl.FPData.FPBody.FPPair getDefaultInstanceForType() {
            return wechat.protobuf.Fpininl.FPData.FPBody.FPPair.getDefaultInstance();
          }

          @java.lang.Override
          public wechat.protobuf.Fpininl.FPData.FPBody.FPPair build() {
            wechat.protobuf.Fpininl.FPData.FPBody.FPPair result = buildPartial();
            if (!result.isInitialized()) {
              throw newUninitializedMessageException(result);
            }
            return result;
          }

          @java.lang.Override
          public wechat.protobuf.Fpininl.FPData.FPBody.FPPair buildPartial() {
            wechat.protobuf.Fpininl.FPData.FPBody.FPPair result = new wechat.protobuf.Fpininl.FPData.FPBody.FPPair(this);
            int from_bitField0_ = bitField0_;
            int to_bitField0_ = 0;
            if (((from_bitField0_ & 0x00000001) != 0)) {
              to_bitField0_ |= 0x00000001;
            }
            result.key_ = key_;
            if (((from_bitField0_ & 0x00000002) != 0)) {
              to_bitField0_ |= 0x00000002;
            }
            result.value_ = value_;
            result.bitField0_ = to_bitField0_;
            onBuilt();
            return result;
          }

          @java.lang.Override
          public Builder clone() {
            return super.clone();
          }
          @java.lang.Override
          public Builder setField(
              com.google.protobuf.Descriptors.FieldDescriptor field,
              java.lang.Object value) {
            return super.setField(field, value);
          }
          @java.lang.Override
          public Builder clearField(
              com.google.protobuf.Descriptors.FieldDescriptor field) {
            return super.clearField(field);
          }
          @java.lang.Override
          public Builder clearOneof(
              com.google.protobuf.Descriptors.OneofDescriptor oneof) {
            return super.clearOneof(oneof);
          }
          @java.lang.Override
          public Builder setRepeatedField(
              com.google.protobuf.Descriptors.FieldDescriptor field,
              int index, java.lang.Object value) {
            return super.setRepeatedField(field, index, value);
          }
          @java.lang.Override
          public Builder addRepeatedField(
              com.google.protobuf.Descriptors.FieldDescriptor field,
              java.lang.Object value) {
            return super.addRepeatedField(field, value);
          }
          @java.lang.Override
          public Builder mergeFrom(com.google.protobuf.Message other) {
            if (other instanceof wechat.protobuf.Fpininl.FPData.FPBody.FPPair) {
              return mergeFrom((wechat.protobuf.Fpininl.FPData.FPBody.FPPair)other);
            } else {
              super.mergeFrom(other);
              return this;
            }
          }

          public Builder mergeFrom(wechat.protobuf.Fpininl.FPData.FPBody.FPPair other) {
            if (other == wechat.protobuf.Fpininl.FPData.FPBody.FPPair.getDefaultInstance()) return this;
            if (other.hasKey()) {
              bitField0_ |= 0x00000001;
              key_ = other.key_;
              onChanged();
            }
            if (other.hasValue()) {
              bitField0_ |= 0x00000002;
              value_ = other.value_;
              onChanged();
            }
            this.mergeUnknownFields(other.unknownFields);
            onChanged();
            return this;
          }

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

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

          private java.lang.Object key_ = "";
          /**
           * optional string key = 1;
           * @return Whether the key field is set.
           */
          public boolean hasKey() {
            return ((bitField0_ & 0x00000001) != 0);
          }
          /**
           * optional string key = 1;
           * @return The key.
           */
          public java.lang.String getKey() {
            java.lang.Object ref = key_;
            if (!(ref instanceof java.lang.String)) {
              com.google.protobuf.ByteString bs =
                  (com.google.protobuf.ByteString) ref;
              java.lang.String s = bs.toStringUtf8();
              if (bs.isValidUtf8()) {
                key_ = s;
              }
              return s;
            } else {
              return (java.lang.String) ref;
            }
          }
          /**
           * optional string key = 1;
           * @return The bytes for key.
           */
          public com.google.protobuf.ByteString
              getKeyBytes() {
            java.lang.Object ref = key_;
            if (ref instanceof String) {
              com.google.protobuf.ByteString b = 
                  com.google.protobuf.ByteString.copyFromUtf8(
                      (java.lang.String) ref);
              key_ = b;
              return b;
            } else {
              return (com.google.protobuf.ByteString) ref;
            }
          }
          /**
           * optional string key = 1;
           * @param value The key to set.
           * @return This builder for chaining.
           */
          public Builder setKey(
              java.lang.String value) {
            if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
            key_ = value;
            onChanged();
            return this;
          }
          /**
           * optional string key = 1;
           * @return This builder for chaining.
           */
          public Builder clearKey() {
            bitField0_ = (bitField0_ & ~0x00000001);
            key_ = getDefaultInstance().getKey();
            onChanged();
            return this;
          }
          /**
           * optional string key = 1;
           * @param value The bytes for key to set.
           * @return This builder for chaining.
           */
          public Builder setKeyBytes(
              com.google.protobuf.ByteString value) {
            if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
            key_ = value;
            onChanged();
            return this;
          }

          private java.lang.Object value_ = "";
          /**
           * optional string value = 2;
           * @return Whether the value field is set.
           */
          public boolean hasValue() {
            return ((bitField0_ & 0x00000002) != 0);
          }
          /**
           * optional string value = 2;
           * @return The value.
           */
          public java.lang.String getValue() {
            java.lang.Object ref = value_;
            if (!(ref instanceof java.lang.String)) {
              com.google.protobuf.ByteString bs =
                  (com.google.protobuf.ByteString) ref;
              java.lang.String s = bs.toStringUtf8();
              if (bs.isValidUtf8()) {
                value_ = s;
              }
              return s;
            } else {
              return (java.lang.String) ref;
            }
          }
          /**
           * optional string value = 2;
           * @return The bytes for value.
           */
          public com.google.protobuf.ByteString
              getValueBytes() {
            java.lang.Object ref = value_;
            if (ref instanceof String) {
              com.google.protobuf.ByteString b = 
                  com.google.protobuf.ByteString.copyFromUtf8(
                      (java.lang.String) ref);
              value_ = b;
              return b;
            } else {
              return (com.google.protobuf.ByteString) ref;
            }
          }
          /**
           * optional string value = 2;
           * @param value The value to set.
           * @return This builder for chaining.
           */
          public Builder setValue(
              java.lang.String value) {
            if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
            value_ = value;
            onChanged();
            return this;
          }
          /**
           * optional string value = 2;
           * @return This builder for chaining.
           */
          public Builder clearValue() {
            bitField0_ = (bitField0_ & ~0x00000002);
            value_ = getDefaultInstance().getValue();
            onChanged();
            return this;
          }
          /**
           * optional string value = 2;
           * @param value The bytes for value to set.
           * @return This builder for chaining.
           */
          public Builder setValueBytes(
              com.google.protobuf.ByteString value) {
            if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
            value_ = value;
            onChanged();
            return this;
          }
          @java.lang.Override
          public final Builder setUnknownFields(
              final com.google.protobuf.UnknownFieldSet unknownFields) {
            return super.setUnknownFields(unknownFields);
          }

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


          // @@protoc_insertion_point(builder_scope:wechat_proto.FPData.FPBody.FPPair)
        }

        // @@protoc_insertion_point(class_scope:wechat_proto.FPData.FPBody.FPPair)
        private static final wechat.protobuf.Fpininl.FPData.FPBody.FPPair DEFAULT_INSTANCE;
        static {
          DEFAULT_INSTANCE = new wechat.protobuf.Fpininl.FPData.FPBody.FPPair();
        }

        public static wechat.protobuf.Fpininl.FPData.FPBody.FPPair getDefaultInstance() {
          return DEFAULT_INSTANCE;
        }

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

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

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

        @java.lang.Override
        public wechat.protobuf.Fpininl.FPData.FPBody.FPPair getDefaultInstanceForType() {
          return DEFAULT_INSTANCE;
        }

      }

      public static final int PAIR_FIELD_NUMBER = 1;
      private java.util.List pair_;
      /**
       * repeated .wechat_proto.FPData.FPBody.FPPair pair = 1;
       */
      @java.lang.Override
      public java.util.List getPairList() {
        return pair_;
      }
      /**
       * repeated .wechat_proto.FPData.FPBody.FPPair pair = 1;
       */
      @java.lang.Override
      public java.util.List 
          getPairOrBuilderList() {
        return pair_;
      }
      /**
       * repeated .wechat_proto.FPData.FPBody.FPPair pair = 1;
       */
      @java.lang.Override
      public int getPairCount() {
        return pair_.size();
      }
      /**
       * repeated .wechat_proto.FPData.FPBody.FPPair pair = 1;
       */
      @java.lang.Override
      public wechat.protobuf.Fpininl.FPData.FPBody.FPPair getPair(int index) {
        return pair_.get(index);
      }
      /**
       * repeated .wechat_proto.FPData.FPBody.FPPair pair = 1;
       */
      @java.lang.Override
      public wechat.protobuf.Fpininl.FPData.FPBody.FPPairOrBuilder getPairOrBuilder(
          int index) {
        return pair_.get(index);
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

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

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

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

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof wechat.protobuf.Fpininl.FPData.FPBody)) {
          return super.equals(obj);
        }
        wechat.protobuf.Fpininl.FPData.FPBody other = (wechat.protobuf.Fpininl.FPData.FPBody) obj;

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

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

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

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(wechat.protobuf.Fpininl.FPData.FPBody prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code wechat_proto.FPData.FPBody}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder implements
          // @@protoc_insertion_point(builder_implements:wechat_proto.FPData.FPBody)
          wechat.protobuf.Fpininl.FPData.FPBodyOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPData_FPBody_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPData_FPBody_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  wechat.protobuf.Fpininl.FPData.FPBody.class, wechat.protobuf.Fpininl.FPData.FPBody.Builder.class);
        }

        // Construct using wechat.protobuf.Fpininl.FPData.FPBody.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

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

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPData_FPBody_descriptor;
        }

        @java.lang.Override
        public wechat.protobuf.Fpininl.FPData.FPBody getDefaultInstanceForType() {
          return wechat.protobuf.Fpininl.FPData.FPBody.getDefaultInstance();
        }

        @java.lang.Override
        public wechat.protobuf.Fpininl.FPData.FPBody build() {
          wechat.protobuf.Fpininl.FPData.FPBody result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public wechat.protobuf.Fpininl.FPData.FPBody buildPartial() {
          wechat.protobuf.Fpininl.FPData.FPBody result = new wechat.protobuf.Fpininl.FPData.FPBody(this);
          int from_bitField0_ = bitField0_;
          if (pairBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0)) {
              pair_ = java.util.Collections.unmodifiableList(pair_);
              bitField0_ = (bitField0_ & ~0x00000001);
            }
            result.pair_ = pair_;
          } else {
            result.pair_ = pairBuilder_.build();
          }
          onBuilt();
          return result;
        }

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

        public Builder mergeFrom(wechat.protobuf.Fpininl.FPData.FPBody other) {
          if (other == wechat.protobuf.Fpininl.FPData.FPBody.getDefaultInstance()) return this;
          if (pairBuilder_ == null) {
            if (!other.pair_.isEmpty()) {
              if (pair_.isEmpty()) {
                pair_ = other.pair_;
                bitField0_ = (bitField0_ & ~0x00000001);
              } else {
                ensurePairIsMutable();
                pair_.addAll(other.pair_);
              }
              onChanged();
            }
          } else {
            if (!other.pair_.isEmpty()) {
              if (pairBuilder_.isEmpty()) {
                pairBuilder_.dispose();
                pairBuilder_ = null;
                pair_ = other.pair_;
                bitField0_ = (bitField0_ & ~0x00000001);
                pairBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getPairFieldBuilder() : null;
              } else {
                pairBuilder_.addAllMessages(other.pair_);
              }
            }
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

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

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

        private java.util.List pair_ =
          java.util.Collections.emptyList();
        private void ensurePairIsMutable() {
          if (!((bitField0_ & 0x00000001) != 0)) {
            pair_ = new java.util.ArrayList(pair_);
            bitField0_ |= 0x00000001;
           }
        }

        private com.google.protobuf.RepeatedFieldBuilderV3<
            wechat.protobuf.Fpininl.FPData.FPBody.FPPair, wechat.protobuf.Fpininl.FPData.FPBody.FPPair.Builder, wechat.protobuf.Fpininl.FPData.FPBody.FPPairOrBuilder> pairBuilder_;

        /**
         * repeated .wechat_proto.FPData.FPBody.FPPair pair = 1;
         */
        public java.util.List getPairList() {
          if (pairBuilder_ == null) {
            return java.util.Collections.unmodifiableList(pair_);
          } else {
            return pairBuilder_.getMessageList();
          }
        }
        /**
         * repeated .wechat_proto.FPData.FPBody.FPPair pair = 1;
         */
        public int getPairCount() {
          if (pairBuilder_ == null) {
            return pair_.size();
          } else {
            return pairBuilder_.getCount();
          }
        }
        /**
         * repeated .wechat_proto.FPData.FPBody.FPPair pair = 1;
         */
        public wechat.protobuf.Fpininl.FPData.FPBody.FPPair getPair(int index) {
          if (pairBuilder_ == null) {
            return pair_.get(index);
          } else {
            return pairBuilder_.getMessage(index);
          }
        }
        /**
         * repeated .wechat_proto.FPData.FPBody.FPPair pair = 1;
         */
        public Builder setPair(
            int index, wechat.protobuf.Fpininl.FPData.FPBody.FPPair value) {
          if (pairBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensurePairIsMutable();
            pair_.set(index, value);
            onChanged();
          } else {
            pairBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * repeated .wechat_proto.FPData.FPBody.FPPair pair = 1;
         */
        public Builder setPair(
            int index, wechat.protobuf.Fpininl.FPData.FPBody.FPPair.Builder builderForValue) {
          if (pairBuilder_ == null) {
            ensurePairIsMutable();
            pair_.set(index, builderForValue.build());
            onChanged();
          } else {
            pairBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * repeated .wechat_proto.FPData.FPBody.FPPair pair = 1;
         */
        public Builder addPair(wechat.protobuf.Fpininl.FPData.FPBody.FPPair value) {
          if (pairBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensurePairIsMutable();
            pair_.add(value);
            onChanged();
          } else {
            pairBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * repeated .wechat_proto.FPData.FPBody.FPPair pair = 1;
         */
        public Builder addPair(
            int index, wechat.protobuf.Fpininl.FPData.FPBody.FPPair value) {
          if (pairBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensurePairIsMutable();
            pair_.add(index, value);
            onChanged();
          } else {
            pairBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * repeated .wechat_proto.FPData.FPBody.FPPair pair = 1;
         */
        public Builder addPair(
            wechat.protobuf.Fpininl.FPData.FPBody.FPPair.Builder builderForValue) {
          if (pairBuilder_ == null) {
            ensurePairIsMutable();
            pair_.add(builderForValue.build());
            onChanged();
          } else {
            pairBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * repeated .wechat_proto.FPData.FPBody.FPPair pair = 1;
         */
        public Builder addPair(
            int index, wechat.protobuf.Fpininl.FPData.FPBody.FPPair.Builder builderForValue) {
          if (pairBuilder_ == null) {
            ensurePairIsMutable();
            pair_.add(index, builderForValue.build());
            onChanged();
          } else {
            pairBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * repeated .wechat_proto.FPData.FPBody.FPPair pair = 1;
         */
        public Builder addAllPair(
            java.lang.Iterable values) {
          if (pairBuilder_ == null) {
            ensurePairIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, pair_);
            onChanged();
          } else {
            pairBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * repeated .wechat_proto.FPData.FPBody.FPPair pair = 1;
         */
        public Builder clearPair() {
          if (pairBuilder_ == null) {
            pair_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000001);
            onChanged();
          } else {
            pairBuilder_.clear();
          }
          return this;
        }
        /**
         * repeated .wechat_proto.FPData.FPBody.FPPair pair = 1;
         */
        public Builder removePair(int index) {
          if (pairBuilder_ == null) {
            ensurePairIsMutable();
            pair_.remove(index);
            onChanged();
          } else {
            pairBuilder_.remove(index);
          }
          return this;
        }
        /**
         * repeated .wechat_proto.FPData.FPBody.FPPair pair = 1;
         */
        public wechat.protobuf.Fpininl.FPData.FPBody.FPPair.Builder getPairBuilder(
            int index) {
          return getPairFieldBuilder().getBuilder(index);
        }
        /**
         * repeated .wechat_proto.FPData.FPBody.FPPair pair = 1;
         */
        public wechat.protobuf.Fpininl.FPData.FPBody.FPPairOrBuilder getPairOrBuilder(
            int index) {
          if (pairBuilder_ == null) {
            return pair_.get(index);  } else {
            return pairBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * repeated .wechat_proto.FPData.FPBody.FPPair pair = 1;
         */
        public java.util.List 
             getPairOrBuilderList() {
          if (pairBuilder_ != null) {
            return pairBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(pair_);
          }
        }
        /**
         * repeated .wechat_proto.FPData.FPBody.FPPair pair = 1;
         */
        public wechat.protobuf.Fpininl.FPData.FPBody.FPPair.Builder addPairBuilder() {
          return getPairFieldBuilder().addBuilder(
              wechat.protobuf.Fpininl.FPData.FPBody.FPPair.getDefaultInstance());
        }
        /**
         * repeated .wechat_proto.FPData.FPBody.FPPair pair = 1;
         */
        public wechat.protobuf.Fpininl.FPData.FPBody.FPPair.Builder addPairBuilder(
            int index) {
          return getPairFieldBuilder().addBuilder(
              index, wechat.protobuf.Fpininl.FPData.FPBody.FPPair.getDefaultInstance());
        }
        /**
         * repeated .wechat_proto.FPData.FPBody.FPPair pair = 1;
         */
        public java.util.List 
             getPairBuilderList() {
          return getPairFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            wechat.protobuf.Fpininl.FPData.FPBody.FPPair, wechat.protobuf.Fpininl.FPData.FPBody.FPPair.Builder, wechat.protobuf.Fpininl.FPData.FPBody.FPPairOrBuilder> 
            getPairFieldBuilder() {
          if (pairBuilder_ == null) {
            pairBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                wechat.protobuf.Fpininl.FPData.FPBody.FPPair, wechat.protobuf.Fpininl.FPData.FPBody.FPPair.Builder, wechat.protobuf.Fpininl.FPData.FPBody.FPPairOrBuilder>(
                    pair_,
                    ((bitField0_ & 0x00000001) != 0),
                    getParentForChildren(),
                    isClean());
            pair_ = null;
          }
          return pairBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:wechat_proto.FPData.FPBody)
      }

      // @@protoc_insertion_point(class_scope:wechat_proto.FPData.FPBody)
      private static final wechat.protobuf.Fpininl.FPData.FPBody DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new wechat.protobuf.Fpininl.FPData.FPBody();
      }

      public static wechat.protobuf.Fpininl.FPData.FPBody getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

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

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

      @java.lang.Override
      public wechat.protobuf.Fpininl.FPData.FPBody getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    private int bitField0_;
    public static final int BODY_FIELD_NUMBER = 1;
    private wechat.protobuf.Fpininl.FPData.FPBody body_;
    /**
     * optional .wechat_proto.FPData.FPBody body = 1;
     * @return Whether the body field is set.
     */
    @java.lang.Override
    public boolean hasBody() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional .wechat_proto.FPData.FPBody body = 1;
     * @return The body.
     */
    @java.lang.Override
    public wechat.protobuf.Fpininl.FPData.FPBody getBody() {
      return body_ == null ? wechat.protobuf.Fpininl.FPData.FPBody.getDefaultInstance() : body_;
    }
    /**
     * optional .wechat_proto.FPData.FPBody body = 1;
     */
    @java.lang.Override
    public wechat.protobuf.Fpininl.FPData.FPBodyOrBuilder getBodyOrBuilder() {
      return body_ == null ? wechat.protobuf.Fpininl.FPData.FPBody.getDefaultInstance() : body_;
    }

    public static final int TOKEN_FIELD_NUMBER = 2;
    private volatile java.lang.Object token_;
    /**
     * optional string token = 2;
     * @return Whether the token field is set.
     */
    @java.lang.Override
    public boolean hasToken() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional string token = 2;
     * @return The token.
     */
    @java.lang.Override
    public java.lang.String getToken() {
      java.lang.Object ref = token_;
      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()) {
          token_ = s;
        }
        return s;
      }
    }
    /**
     * optional string token = 2;
     * @return The bytes for token.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getTokenBytes() {
      java.lang.Object ref = token_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        token_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getBody());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, token_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getBody());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, token_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof wechat.protobuf.Fpininl.FPData)) {
        return super.equals(obj);
      }
      wechat.protobuf.Fpininl.FPData other = (wechat.protobuf.Fpininl.FPData) obj;

      if (hasBody() != other.hasBody()) return false;
      if (hasBody()) {
        if (!getBody()
            .equals(other.getBody())) return false;
      }
      if (hasToken() != other.hasToken()) return false;
      if (hasToken()) {
        if (!getToken()
            .equals(other.getToken())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasBody()) {
        hash = (37 * hash) + BODY_FIELD_NUMBER;
        hash = (53 * hash) + getBody().hashCode();
      }
      if (hasToken()) {
        hash = (37 * hash) + TOKEN_FIELD_NUMBER;
        hash = (53 * hash) + getToken().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(wechat.protobuf.Fpininl.FPData prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code wechat_proto.FPData}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:wechat_proto.FPData)
        wechat.protobuf.Fpininl.FPDataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPData_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                wechat.protobuf.Fpininl.FPData.class, wechat.protobuf.Fpininl.FPData.Builder.class);
      }

      // Construct using wechat.protobuf.Fpininl.FPData.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getBodyFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (bodyBuilder_ == null) {
          body_ = null;
        } else {
          bodyBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        token_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPData_descriptor;
      }

      @java.lang.Override
      public wechat.protobuf.Fpininl.FPData getDefaultInstanceForType() {
        return wechat.protobuf.Fpininl.FPData.getDefaultInstance();
      }

      @java.lang.Override
      public wechat.protobuf.Fpininl.FPData build() {
        wechat.protobuf.Fpininl.FPData result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public wechat.protobuf.Fpininl.FPData buildPartial() {
        wechat.protobuf.Fpininl.FPData result = new wechat.protobuf.Fpininl.FPData(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          if (bodyBuilder_ == null) {
            result.body_ = body_;
          } else {
            result.body_ = bodyBuilder_.build();
          }
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          to_bitField0_ |= 0x00000002;
        }
        result.token_ = token_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(wechat.protobuf.Fpininl.FPData other) {
        if (other == wechat.protobuf.Fpininl.FPData.getDefaultInstance()) return this;
        if (other.hasBody()) {
          mergeBody(other.getBody());
        }
        if (other.hasToken()) {
          bitField0_ |= 0x00000002;
          token_ = other.token_;
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private wechat.protobuf.Fpininl.FPData.FPBody body_;
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.Fpininl.FPData.FPBody, wechat.protobuf.Fpininl.FPData.FPBody.Builder, wechat.protobuf.Fpininl.FPData.FPBodyOrBuilder> bodyBuilder_;
      /**
       * optional .wechat_proto.FPData.FPBody body = 1;
       * @return Whether the body field is set.
       */
      public boolean hasBody() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional .wechat_proto.FPData.FPBody body = 1;
       * @return The body.
       */
      public wechat.protobuf.Fpininl.FPData.FPBody getBody() {
        if (bodyBuilder_ == null) {
          return body_ == null ? wechat.protobuf.Fpininl.FPData.FPBody.getDefaultInstance() : body_;
        } else {
          return bodyBuilder_.getMessage();
        }
      }
      /**
       * optional .wechat_proto.FPData.FPBody body = 1;
       */
      public Builder setBody(wechat.protobuf.Fpininl.FPData.FPBody value) {
        if (bodyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          body_ = value;
          onChanged();
        } else {
          bodyBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .wechat_proto.FPData.FPBody body = 1;
       */
      public Builder setBody(
          wechat.protobuf.Fpininl.FPData.FPBody.Builder builderForValue) {
        if (bodyBuilder_ == null) {
          body_ = builderForValue.build();
          onChanged();
        } else {
          bodyBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .wechat_proto.FPData.FPBody body = 1;
       */
      public Builder mergeBody(wechat.protobuf.Fpininl.FPData.FPBody value) {
        if (bodyBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
              body_ != null &&
              body_ != wechat.protobuf.Fpininl.FPData.FPBody.getDefaultInstance()) {
            body_ =
              wechat.protobuf.Fpininl.FPData.FPBody.newBuilder(body_).mergeFrom(value).buildPartial();
          } else {
            body_ = value;
          }
          onChanged();
        } else {
          bodyBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .wechat_proto.FPData.FPBody body = 1;
       */
      public Builder clearBody() {
        if (bodyBuilder_ == null) {
          body_ = null;
          onChanged();
        } else {
          bodyBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .wechat_proto.FPData.FPBody body = 1;
       */
      public wechat.protobuf.Fpininl.FPData.FPBody.Builder getBodyBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getBodyFieldBuilder().getBuilder();
      }
      /**
       * optional .wechat_proto.FPData.FPBody body = 1;
       */
      public wechat.protobuf.Fpininl.FPData.FPBodyOrBuilder getBodyOrBuilder() {
        if (bodyBuilder_ != null) {
          return bodyBuilder_.getMessageOrBuilder();
        } else {
          return body_ == null ?
              wechat.protobuf.Fpininl.FPData.FPBody.getDefaultInstance() : body_;
        }
      }
      /**
       * optional .wechat_proto.FPData.FPBody body = 1;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.Fpininl.FPData.FPBody, wechat.protobuf.Fpininl.FPData.FPBody.Builder, wechat.protobuf.Fpininl.FPData.FPBodyOrBuilder> 
          getBodyFieldBuilder() {
        if (bodyBuilder_ == null) {
          bodyBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              wechat.protobuf.Fpininl.FPData.FPBody, wechat.protobuf.Fpininl.FPData.FPBody.Builder, wechat.protobuf.Fpininl.FPData.FPBodyOrBuilder>(
                  getBody(),
                  getParentForChildren(),
                  isClean());
          body_ = null;
        }
        return bodyBuilder_;
      }

      private java.lang.Object token_ = "";
      /**
       * optional string token = 2;
       * @return Whether the token field is set.
       */
      public boolean hasToken() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional string token = 2;
       * @return The token.
       */
      public java.lang.String getToken() {
        java.lang.Object ref = token_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            token_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string token = 2;
       * @return The bytes for token.
       */
      public com.google.protobuf.ByteString
          getTokenBytes() {
        java.lang.Object ref = token_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          token_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string token = 2;
       * @param value The token to set.
       * @return This builder for chaining.
       */
      public Builder setToken(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        token_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string token = 2;
       * @return This builder for chaining.
       */
      public Builder clearToken() {
        bitField0_ = (bitField0_ & ~0x00000002);
        token_ = getDefaultInstance().getToken();
        onChanged();
        return this;
      }
      /**
       * optional string token = 2;
       * @param value The bytes for token to set.
       * @return This builder for chaining.
       */
      public Builder setTokenBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        token_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:wechat_proto.FPData)
    }

    // @@protoc_insertion_point(class_scope:wechat_proto.FPData)
    private static final wechat.protobuf.Fpininl.FPData DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new wechat.protobuf.Fpininl.FPData();
    }

    public static wechat.protobuf.Fpininl.FPData getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public wechat.protobuf.Fpininl.FPData getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface FPInitRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:wechat_proto.FPInitRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * optional .wechat_proto.BaseRequest baseRequest = 1;
     * @return Whether the baseRequest field is set.
     */
    boolean hasBaseRequest();
    /**
     * optional .wechat_proto.BaseRequest baseRequest = 1;
     * @return The baseRequest.
     */
    wechat.protobuf.BaseRequest getBaseRequest();
    /**
     * optional .wechat_proto.BaseRequest baseRequest = 1;
     */
    wechat.protobuf.BaseRequestOrBuilder getBaseRequestOrBuilder();

    /**
     * optional bytes randomKey = 2;
     * @return Whether the randomKey field is set.
     */
    boolean hasRandomKey();
    /**
     * optional bytes randomKey = 2;
     * @return The randomKey.
     */
    com.google.protobuf.ByteString getRandomKey();

    /**
     * optional bytes spamBuff = 3;
     * @return Whether the spamBuff field is set.
     */
    boolean hasSpamBuff();
    /**
     * optional bytes spamBuff = 3;
     * @return The spamBuff.
     */
    com.google.protobuf.ByteString getSpamBuff();
  }
  /**
   * Protobuf type {@code wechat_proto.FPInitRequest}
   */
  public static final class FPInitRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:wechat_proto.FPInitRequest)
      FPInitRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use FPInitRequest.newBuilder() to construct.
    private FPInitRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private FPInitRequest() {
      randomKey_ = com.google.protobuf.ByteString.EMPTY;
      spamBuff_ = com.google.protobuf.ByteString.EMPTY;
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private FPInitRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              wechat.protobuf.BaseRequest.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) != 0)) {
                subBuilder = baseRequest_.toBuilder();
              }
              baseRequest_ = input.readMessage(wechat.protobuf.BaseRequest.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(baseRequest_);
                baseRequest_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              randomKey_ = input.readBytes();
              break;
            }
            case 26: {
              bitField0_ |= 0x00000004;
              spamBuff_ = input.readBytes();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPInitRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPInitRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              wechat.protobuf.Fpininl.FPInitRequest.class, wechat.protobuf.Fpininl.FPInitRequest.Builder.class);
    }

    private int bitField0_;
    public static final int BASEREQUEST_FIELD_NUMBER = 1;
    private wechat.protobuf.BaseRequest baseRequest_;
    /**
     * optional .wechat_proto.BaseRequest baseRequest = 1;
     * @return Whether the baseRequest field is set.
     */
    @java.lang.Override
    public boolean hasBaseRequest() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional .wechat_proto.BaseRequest baseRequest = 1;
     * @return The baseRequest.
     */
    @java.lang.Override
    public wechat.protobuf.BaseRequest getBaseRequest() {
      return baseRequest_ == null ? wechat.protobuf.BaseRequest.getDefaultInstance() : baseRequest_;
    }
    /**
     * optional .wechat_proto.BaseRequest baseRequest = 1;
     */
    @java.lang.Override
    public wechat.protobuf.BaseRequestOrBuilder getBaseRequestOrBuilder() {
      return baseRequest_ == null ? wechat.protobuf.BaseRequest.getDefaultInstance() : baseRequest_;
    }

    public static final int RANDOMKEY_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString randomKey_;
    /**
     * optional bytes randomKey = 2;
     * @return Whether the randomKey field is set.
     */
    @java.lang.Override
    public boolean hasRandomKey() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional bytes randomKey = 2;
     * @return The randomKey.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getRandomKey() {
      return randomKey_;
    }

    public static final int SPAMBUFF_FIELD_NUMBER = 3;
    private com.google.protobuf.ByteString spamBuff_;
    /**
     * optional bytes spamBuff = 3;
     * @return Whether the spamBuff field is set.
     */
    @java.lang.Override
    public boolean hasSpamBuff() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional bytes spamBuff = 3;
     * @return The spamBuff.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getSpamBuff() {
      return spamBuff_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getBaseRequest());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeBytes(2, randomKey_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeBytes(3, spamBuff_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getBaseRequest());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, randomKey_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, spamBuff_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof wechat.protobuf.Fpininl.FPInitRequest)) {
        return super.equals(obj);
      }
      wechat.protobuf.Fpininl.FPInitRequest other = (wechat.protobuf.Fpininl.FPInitRequest) obj;

      if (hasBaseRequest() != other.hasBaseRequest()) return false;
      if (hasBaseRequest()) {
        if (!getBaseRequest()
            .equals(other.getBaseRequest())) return false;
      }
      if (hasRandomKey() != other.hasRandomKey()) return false;
      if (hasRandomKey()) {
        if (!getRandomKey()
            .equals(other.getRandomKey())) return false;
      }
      if (hasSpamBuff() != other.hasSpamBuff()) return false;
      if (hasSpamBuff()) {
        if (!getSpamBuff()
            .equals(other.getSpamBuff())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasBaseRequest()) {
        hash = (37 * hash) + BASEREQUEST_FIELD_NUMBER;
        hash = (53 * hash) + getBaseRequest().hashCode();
      }
      if (hasRandomKey()) {
        hash = (37 * hash) + RANDOMKEY_FIELD_NUMBER;
        hash = (53 * hash) + getRandomKey().hashCode();
      }
      if (hasSpamBuff()) {
        hash = (37 * hash) + SPAMBUFF_FIELD_NUMBER;
        hash = (53 * hash) + getSpamBuff().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(wechat.protobuf.Fpininl.FPInitRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code wechat_proto.FPInitRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:wechat_proto.FPInitRequest)
        wechat.protobuf.Fpininl.FPInitRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPInitRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPInitRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                wechat.protobuf.Fpininl.FPInitRequest.class, wechat.protobuf.Fpininl.FPInitRequest.Builder.class);
      }

      // Construct using wechat.protobuf.Fpininl.FPInitRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getBaseRequestFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (baseRequestBuilder_ == null) {
          baseRequest_ = null;
        } else {
          baseRequestBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        randomKey_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        spamBuff_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPInitRequest_descriptor;
      }

      @java.lang.Override
      public wechat.protobuf.Fpininl.FPInitRequest getDefaultInstanceForType() {
        return wechat.protobuf.Fpininl.FPInitRequest.getDefaultInstance();
      }

      @java.lang.Override
      public wechat.protobuf.Fpininl.FPInitRequest build() {
        wechat.protobuf.Fpininl.FPInitRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public wechat.protobuf.Fpininl.FPInitRequest buildPartial() {
        wechat.protobuf.Fpininl.FPInitRequest result = new wechat.protobuf.Fpininl.FPInitRequest(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          if (baseRequestBuilder_ == null) {
            result.baseRequest_ = baseRequest_;
          } else {
            result.baseRequest_ = baseRequestBuilder_.build();
          }
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          to_bitField0_ |= 0x00000002;
        }
        result.randomKey_ = randomKey_;
        if (((from_bitField0_ & 0x00000004) != 0)) {
          to_bitField0_ |= 0x00000004;
        }
        result.spamBuff_ = spamBuff_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(wechat.protobuf.Fpininl.FPInitRequest other) {
        if (other == wechat.protobuf.Fpininl.FPInitRequest.getDefaultInstance()) return this;
        if (other.hasBaseRequest()) {
          mergeBaseRequest(other.getBaseRequest());
        }
        if (other.hasRandomKey()) {
          setRandomKey(other.getRandomKey());
        }
        if (other.hasSpamBuff()) {
          setSpamBuff(other.getSpamBuff());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private wechat.protobuf.BaseRequest baseRequest_;
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.BaseRequest, wechat.protobuf.BaseRequest.Builder, wechat.protobuf.BaseRequestOrBuilder> baseRequestBuilder_;
      /**
       * optional .wechat_proto.BaseRequest baseRequest = 1;
       * @return Whether the baseRequest field is set.
       */
      public boolean hasBaseRequest() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional .wechat_proto.BaseRequest baseRequest = 1;
       * @return The baseRequest.
       */
      public wechat.protobuf.BaseRequest getBaseRequest() {
        if (baseRequestBuilder_ == null) {
          return baseRequest_ == null ? wechat.protobuf.BaseRequest.getDefaultInstance() : baseRequest_;
        } else {
          return baseRequestBuilder_.getMessage();
        }
      }
      /**
       * optional .wechat_proto.BaseRequest baseRequest = 1;
       */
      public Builder setBaseRequest(wechat.protobuf.BaseRequest value) {
        if (baseRequestBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          baseRequest_ = value;
          onChanged();
        } else {
          baseRequestBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .wechat_proto.BaseRequest baseRequest = 1;
       */
      public Builder setBaseRequest(
          wechat.protobuf.BaseRequest.Builder builderForValue) {
        if (baseRequestBuilder_ == null) {
          baseRequest_ = builderForValue.build();
          onChanged();
        } else {
          baseRequestBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .wechat_proto.BaseRequest baseRequest = 1;
       */
      public Builder mergeBaseRequest(wechat.protobuf.BaseRequest value) {
        if (baseRequestBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
              baseRequest_ != null &&
              baseRequest_ != wechat.protobuf.BaseRequest.getDefaultInstance()) {
            baseRequest_ =
              wechat.protobuf.BaseRequest.newBuilder(baseRequest_).mergeFrom(value).buildPartial();
          } else {
            baseRequest_ = value;
          }
          onChanged();
        } else {
          baseRequestBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .wechat_proto.BaseRequest baseRequest = 1;
       */
      public Builder clearBaseRequest() {
        if (baseRequestBuilder_ == null) {
          baseRequest_ = null;
          onChanged();
        } else {
          baseRequestBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .wechat_proto.BaseRequest baseRequest = 1;
       */
      public wechat.protobuf.BaseRequest.Builder getBaseRequestBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getBaseRequestFieldBuilder().getBuilder();
      }
      /**
       * optional .wechat_proto.BaseRequest baseRequest = 1;
       */
      public wechat.protobuf.BaseRequestOrBuilder getBaseRequestOrBuilder() {
        if (baseRequestBuilder_ != null) {
          return baseRequestBuilder_.getMessageOrBuilder();
        } else {
          return baseRequest_ == null ?
              wechat.protobuf.BaseRequest.getDefaultInstance() : baseRequest_;
        }
      }
      /**
       * optional .wechat_proto.BaseRequest baseRequest = 1;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.BaseRequest, wechat.protobuf.BaseRequest.Builder, wechat.protobuf.BaseRequestOrBuilder> 
          getBaseRequestFieldBuilder() {
        if (baseRequestBuilder_ == null) {
          baseRequestBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              wechat.protobuf.BaseRequest, wechat.protobuf.BaseRequest.Builder, wechat.protobuf.BaseRequestOrBuilder>(
                  getBaseRequest(),
                  getParentForChildren(),
                  isClean());
          baseRequest_ = null;
        }
        return baseRequestBuilder_;
      }

      private com.google.protobuf.ByteString randomKey_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * optional bytes randomKey = 2;
       * @return Whether the randomKey field is set.
       */
      @java.lang.Override
      public boolean hasRandomKey() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional bytes randomKey = 2;
       * @return The randomKey.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getRandomKey() {
        return randomKey_;
      }
      /**
       * optional bytes randomKey = 2;
       * @param value The randomKey to set.
       * @return This builder for chaining.
       */
      public Builder setRandomKey(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        randomKey_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bytes randomKey = 2;
       * @return This builder for chaining.
       */
      public Builder clearRandomKey() {
        bitField0_ = (bitField0_ & ~0x00000002);
        randomKey_ = getDefaultInstance().getRandomKey();
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString spamBuff_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * optional bytes spamBuff = 3;
       * @return Whether the spamBuff field is set.
       */
      @java.lang.Override
      public boolean hasSpamBuff() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional bytes spamBuff = 3;
       * @return The spamBuff.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getSpamBuff() {
        return spamBuff_;
      }
      /**
       * optional bytes spamBuff = 3;
       * @param value The spamBuff to set.
       * @return This builder for chaining.
       */
      public Builder setSpamBuff(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        spamBuff_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bytes spamBuff = 3;
       * @return This builder for chaining.
       */
      public Builder clearSpamBuff() {
        bitField0_ = (bitField0_ & ~0x00000004);
        spamBuff_ = getDefaultInstance().getSpamBuff();
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:wechat_proto.FPInitRequest)
    }

    // @@protoc_insertion_point(class_scope:wechat_proto.FPInitRequest)
    private static final wechat.protobuf.Fpininl.FPInitRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new wechat.protobuf.Fpininl.FPInitRequest();
    }

    public static wechat.protobuf.Fpininl.FPInitRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public wechat.protobuf.Fpininl.FPInitRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface FPTokenOrBuilder extends
      // @@protoc_insertion_point(interface_extends:wechat_proto.FPToken)
      com.google.protobuf.MessageOrBuilder {

    /**
     * optional .wechat_proto.FPToken.FPSoft soft = 2;
     * @return Whether the soft field is set.
     */
    boolean hasSoft();
    /**
     * optional .wechat_proto.FPToken.FPSoft soft = 2;
     * @return The soft.
     */
    wechat.protobuf.Fpininl.FPToken.FPSoft getSoft();
    /**
     * optional .wechat_proto.FPToken.FPSoft soft = 2;
     */
    wechat.protobuf.Fpininl.FPToken.FPSoftOrBuilder getSoftOrBuilder();

    /**
     * optional string token = 3;
     * @return Whether the token field is set.
     */
    boolean hasToken();
    /**
     * optional string token = 3;
     * @return The token.
     */
    java.lang.String getToken();
    /**
     * optional string token = 3;
     * @return The bytes for token.
     */
    com.google.protobuf.ByteString
        getTokenBytes();

    /**
     * optional uint32 expires = 4;
     * @return Whether the expires field is set.
     */
    boolean hasExpires();
    /**
     * optional uint32 expires = 4;
     * @return The expires.
     */
    int getExpires();
  }
  /**
   * Protobuf type {@code wechat_proto.FPToken}
   */
  public static final class FPToken extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:wechat_proto.FPToken)
      FPTokenOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use FPToken.newBuilder() to construct.
    private FPToken(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private FPToken() {
      token_ = "";
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private FPToken(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 18: {
              wechat.protobuf.Fpininl.FPToken.FPSoft.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) != 0)) {
                subBuilder = soft_.toBuilder();
              }
              soft_ = input.readMessage(wechat.protobuf.Fpininl.FPToken.FPSoft.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(soft_);
                soft_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 26: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000002;
              token_ = bs;
              break;
            }
            case 32: {
              bitField0_ |= 0x00000004;
              expires_ = input.readUInt32();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPToken_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPToken_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              wechat.protobuf.Fpininl.FPToken.class, wechat.protobuf.Fpininl.FPToken.Builder.class);
    }

    public interface FPSoftOrBuilder extends
        // @@protoc_insertion_point(interface_extends:wechat_proto.FPToken.FPSoft)
        com.google.protobuf.MessageOrBuilder {

      /**
       * optional bytes data = 1;
       * @return Whether the data field is set.
       */
      boolean hasData();
      /**
       * optional bytes data = 1;
       * @return The data.
       */
      com.google.protobuf.ByteString getData();

      /**
       * optional bytes config = 2;
       * @return Whether the config field is set.
       */
      boolean hasConfig();
      /**
       * optional bytes config = 2;
       * @return The config.
       */
      com.google.protobuf.ByteString getConfig();
    }
    /**
     * Protobuf type {@code wechat_proto.FPToken.FPSoft}
     */
    public static final class FPSoft extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:wechat_proto.FPToken.FPSoft)
        FPSoftOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use FPSoft.newBuilder() to construct.
      private FPSoft(com.google.protobuf.GeneratedMessageV3.Builder builder) {
        super(builder);
      }
      private FPSoft() {
        data_ = com.google.protobuf.ByteString.EMPTY;
        config_ = com.google.protobuf.ByteString.EMPTY;
      }

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

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private FPSoft(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                bitField0_ |= 0x00000001;
                data_ = input.readBytes();
                break;
              }
              case 18: {
                bitField0_ |= 0x00000002;
                config_ = input.readBytes();
                break;
              }
              default: {
                if (!parseUnknownField(
                    input, unknownFields, extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPToken_FPSoft_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPToken_FPSoft_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                wechat.protobuf.Fpininl.FPToken.FPSoft.class, wechat.protobuf.Fpininl.FPToken.FPSoft.Builder.class);
      }

      private int bitField0_;
      public static final int DATA_FIELD_NUMBER = 1;
      private com.google.protobuf.ByteString data_;
      /**
       * optional bytes data = 1;
       * @return Whether the data field is set.
       */
      @java.lang.Override
      public boolean hasData() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional bytes data = 1;
       * @return The data.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getData() {
        return data_;
      }

      public static final int CONFIG_FIELD_NUMBER = 2;
      private com.google.protobuf.ByteString config_;
      /**
       * optional bytes config = 2;
       * @return Whether the config field is set.
       */
      @java.lang.Override
      public boolean hasConfig() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional bytes config = 2;
       * @return The config.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getConfig() {
        return config_;
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeBytes(1, data_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeBytes(2, config_);
        }
        unknownFields.writeTo(output);
      }

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

        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(1, data_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(2, config_);
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof wechat.protobuf.Fpininl.FPToken.FPSoft)) {
          return super.equals(obj);
        }
        wechat.protobuf.Fpininl.FPToken.FPSoft other = (wechat.protobuf.Fpininl.FPToken.FPSoft) obj;

        if (hasData() != other.hasData()) return false;
        if (hasData()) {
          if (!getData()
              .equals(other.getData())) return false;
        }
        if (hasConfig() != other.hasConfig()) return false;
        if (hasConfig()) {
          if (!getConfig()
              .equals(other.getConfig())) return false;
        }
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasData()) {
          hash = (37 * hash) + DATA_FIELD_NUMBER;
          hash = (53 * hash) + getData().hashCode();
        }
        if (hasConfig()) {
          hash = (37 * hash) + CONFIG_FIELD_NUMBER;
          hash = (53 * hash) + getConfig().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

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

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(wechat.protobuf.Fpininl.FPToken.FPSoft prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code wechat_proto.FPToken.FPSoft}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder implements
          // @@protoc_insertion_point(builder_implements:wechat_proto.FPToken.FPSoft)
          wechat.protobuf.Fpininl.FPToken.FPSoftOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPToken_FPSoft_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPToken_FPSoft_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  wechat.protobuf.Fpininl.FPToken.FPSoft.class, wechat.protobuf.Fpininl.FPToken.FPSoft.Builder.class);
        }

        // Construct using wechat.protobuf.Fpininl.FPToken.FPSoft.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

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

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPToken_FPSoft_descriptor;
        }

        @java.lang.Override
        public wechat.protobuf.Fpininl.FPToken.FPSoft getDefaultInstanceForType() {
          return wechat.protobuf.Fpininl.FPToken.FPSoft.getDefaultInstance();
        }

        @java.lang.Override
        public wechat.protobuf.Fpininl.FPToken.FPSoft build() {
          wechat.protobuf.Fpininl.FPToken.FPSoft result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public wechat.protobuf.Fpininl.FPToken.FPSoft buildPartial() {
          wechat.protobuf.Fpininl.FPToken.FPSoft result = new wechat.protobuf.Fpininl.FPToken.FPSoft(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            to_bitField0_ |= 0x00000001;
          }
          result.data_ = data_;
          if (((from_bitField0_ & 0x00000002) != 0)) {
            to_bitField0_ |= 0x00000002;
          }
          result.config_ = config_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

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

        public Builder mergeFrom(wechat.protobuf.Fpininl.FPToken.FPSoft other) {
          if (other == wechat.protobuf.Fpininl.FPToken.FPSoft.getDefaultInstance()) return this;
          if (other.hasData()) {
            setData(other.getData());
          }
          if (other.hasConfig()) {
            setConfig(other.getConfig());
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

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

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

        private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY;
        /**
         * optional bytes data = 1;
         * @return Whether the data field is set.
         */
        @java.lang.Override
        public boolean hasData() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * optional bytes data = 1;
         * @return The data.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString getData() {
          return data_;
        }
        /**
         * optional bytes data = 1;
         * @param value The data to set.
         * @return This builder for chaining.
         */
        public Builder setData(com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          data_ = value;
          onChanged();
          return this;
        }
        /**
         * optional bytes data = 1;
         * @return This builder for chaining.
         */
        public Builder clearData() {
          bitField0_ = (bitField0_ & ~0x00000001);
          data_ = getDefaultInstance().getData();
          onChanged();
          return this;
        }

        private com.google.protobuf.ByteString config_ = com.google.protobuf.ByteString.EMPTY;
        /**
         * optional bytes config = 2;
         * @return Whether the config field is set.
         */
        @java.lang.Override
        public boolean hasConfig() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * optional bytes config = 2;
         * @return The config.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString getConfig() {
          return config_;
        }
        /**
         * optional bytes config = 2;
         * @param value The config to set.
         * @return This builder for chaining.
         */
        public Builder setConfig(com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
          config_ = value;
          onChanged();
          return this;
        }
        /**
         * optional bytes config = 2;
         * @return This builder for chaining.
         */
        public Builder clearConfig() {
          bitField0_ = (bitField0_ & ~0x00000002);
          config_ = getDefaultInstance().getConfig();
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

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


        // @@protoc_insertion_point(builder_scope:wechat_proto.FPToken.FPSoft)
      }

      // @@protoc_insertion_point(class_scope:wechat_proto.FPToken.FPSoft)
      private static final wechat.protobuf.Fpininl.FPToken.FPSoft DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new wechat.protobuf.Fpininl.FPToken.FPSoft();
      }

      public static wechat.protobuf.Fpininl.FPToken.FPSoft getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

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

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

      @java.lang.Override
      public wechat.protobuf.Fpininl.FPToken.FPSoft getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    private int bitField0_;
    public static final int SOFT_FIELD_NUMBER = 2;
    private wechat.protobuf.Fpininl.FPToken.FPSoft soft_;
    /**
     * optional .wechat_proto.FPToken.FPSoft soft = 2;
     * @return Whether the soft field is set.
     */
    @java.lang.Override
    public boolean hasSoft() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional .wechat_proto.FPToken.FPSoft soft = 2;
     * @return The soft.
     */
    @java.lang.Override
    public wechat.protobuf.Fpininl.FPToken.FPSoft getSoft() {
      return soft_ == null ? wechat.protobuf.Fpininl.FPToken.FPSoft.getDefaultInstance() : soft_;
    }
    /**
     * optional .wechat_proto.FPToken.FPSoft soft = 2;
     */
    @java.lang.Override
    public wechat.protobuf.Fpininl.FPToken.FPSoftOrBuilder getSoftOrBuilder() {
      return soft_ == null ? wechat.protobuf.Fpininl.FPToken.FPSoft.getDefaultInstance() : soft_;
    }

    public static final int TOKEN_FIELD_NUMBER = 3;
    private volatile java.lang.Object token_;
    /**
     * optional string token = 3;
     * @return Whether the token field is set.
     */
    @java.lang.Override
    public boolean hasToken() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional string token = 3;
     * @return The token.
     */
    @java.lang.Override
    public java.lang.String getToken() {
      java.lang.Object ref = token_;
      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()) {
          token_ = s;
        }
        return s;
      }
    }
    /**
     * optional string token = 3;
     * @return The bytes for token.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getTokenBytes() {
      java.lang.Object ref = token_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        token_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int EXPIRES_FIELD_NUMBER = 4;
    private int expires_;
    /**
     * optional uint32 expires = 4;
     * @return Whether the expires field is set.
     */
    @java.lang.Override
    public boolean hasExpires() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional uint32 expires = 4;
     * @return The expires.
     */
    @java.lang.Override
    public int getExpires() {
      return expires_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(2, getSoft());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, token_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeUInt32(4, expires_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getSoft());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, token_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, expires_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof wechat.protobuf.Fpininl.FPToken)) {
        return super.equals(obj);
      }
      wechat.protobuf.Fpininl.FPToken other = (wechat.protobuf.Fpininl.FPToken) obj;

      if (hasSoft() != other.hasSoft()) return false;
      if (hasSoft()) {
        if (!getSoft()
            .equals(other.getSoft())) return false;
      }
      if (hasToken() != other.hasToken()) return false;
      if (hasToken()) {
        if (!getToken()
            .equals(other.getToken())) return false;
      }
      if (hasExpires() != other.hasExpires()) return false;
      if (hasExpires()) {
        if (getExpires()
            != other.getExpires()) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasSoft()) {
        hash = (37 * hash) + SOFT_FIELD_NUMBER;
        hash = (53 * hash) + getSoft().hashCode();
      }
      if (hasToken()) {
        hash = (37 * hash) + TOKEN_FIELD_NUMBER;
        hash = (53 * hash) + getToken().hashCode();
      }
      if (hasExpires()) {
        hash = (37 * hash) + EXPIRES_FIELD_NUMBER;
        hash = (53 * hash) + getExpires();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(wechat.protobuf.Fpininl.FPToken prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code wechat_proto.FPToken}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:wechat_proto.FPToken)
        wechat.protobuf.Fpininl.FPTokenOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPToken_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPToken_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                wechat.protobuf.Fpininl.FPToken.class, wechat.protobuf.Fpininl.FPToken.Builder.class);
      }

      // Construct using wechat.protobuf.Fpininl.FPToken.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getSoftFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (softBuilder_ == null) {
          soft_ = null;
        } else {
          softBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        token_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        expires_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPToken_descriptor;
      }

      @java.lang.Override
      public wechat.protobuf.Fpininl.FPToken getDefaultInstanceForType() {
        return wechat.protobuf.Fpininl.FPToken.getDefaultInstance();
      }

      @java.lang.Override
      public wechat.protobuf.Fpininl.FPToken build() {
        wechat.protobuf.Fpininl.FPToken result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public wechat.protobuf.Fpininl.FPToken buildPartial() {
        wechat.protobuf.Fpininl.FPToken result = new wechat.protobuf.Fpininl.FPToken(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          if (softBuilder_ == null) {
            result.soft_ = soft_;
          } else {
            result.soft_ = softBuilder_.build();
          }
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          to_bitField0_ |= 0x00000002;
        }
        result.token_ = token_;
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.expires_ = expires_;
          to_bitField0_ |= 0x00000004;
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(wechat.protobuf.Fpininl.FPToken other) {
        if (other == wechat.protobuf.Fpininl.FPToken.getDefaultInstance()) return this;
        if (other.hasSoft()) {
          mergeSoft(other.getSoft());
        }
        if (other.hasToken()) {
          bitField0_ |= 0x00000002;
          token_ = other.token_;
          onChanged();
        }
        if (other.hasExpires()) {
          setExpires(other.getExpires());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private wechat.protobuf.Fpininl.FPToken.FPSoft soft_;
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.Fpininl.FPToken.FPSoft, wechat.protobuf.Fpininl.FPToken.FPSoft.Builder, wechat.protobuf.Fpininl.FPToken.FPSoftOrBuilder> softBuilder_;
      /**
       * optional .wechat_proto.FPToken.FPSoft soft = 2;
       * @return Whether the soft field is set.
       */
      public boolean hasSoft() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional .wechat_proto.FPToken.FPSoft soft = 2;
       * @return The soft.
       */
      public wechat.protobuf.Fpininl.FPToken.FPSoft getSoft() {
        if (softBuilder_ == null) {
          return soft_ == null ? wechat.protobuf.Fpininl.FPToken.FPSoft.getDefaultInstance() : soft_;
        } else {
          return softBuilder_.getMessage();
        }
      }
      /**
       * optional .wechat_proto.FPToken.FPSoft soft = 2;
       */
      public Builder setSoft(wechat.protobuf.Fpininl.FPToken.FPSoft value) {
        if (softBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          soft_ = value;
          onChanged();
        } else {
          softBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .wechat_proto.FPToken.FPSoft soft = 2;
       */
      public Builder setSoft(
          wechat.protobuf.Fpininl.FPToken.FPSoft.Builder builderForValue) {
        if (softBuilder_ == null) {
          soft_ = builderForValue.build();
          onChanged();
        } else {
          softBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .wechat_proto.FPToken.FPSoft soft = 2;
       */
      public Builder mergeSoft(wechat.protobuf.Fpininl.FPToken.FPSoft value) {
        if (softBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
              soft_ != null &&
              soft_ != wechat.protobuf.Fpininl.FPToken.FPSoft.getDefaultInstance()) {
            soft_ =
              wechat.protobuf.Fpininl.FPToken.FPSoft.newBuilder(soft_).mergeFrom(value).buildPartial();
          } else {
            soft_ = value;
          }
          onChanged();
        } else {
          softBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .wechat_proto.FPToken.FPSoft soft = 2;
       */
      public Builder clearSoft() {
        if (softBuilder_ == null) {
          soft_ = null;
          onChanged();
        } else {
          softBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .wechat_proto.FPToken.FPSoft soft = 2;
       */
      public wechat.protobuf.Fpininl.FPToken.FPSoft.Builder getSoftBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getSoftFieldBuilder().getBuilder();
      }
      /**
       * optional .wechat_proto.FPToken.FPSoft soft = 2;
       */
      public wechat.protobuf.Fpininl.FPToken.FPSoftOrBuilder getSoftOrBuilder() {
        if (softBuilder_ != null) {
          return softBuilder_.getMessageOrBuilder();
        } else {
          return soft_ == null ?
              wechat.protobuf.Fpininl.FPToken.FPSoft.getDefaultInstance() : soft_;
        }
      }
      /**
       * optional .wechat_proto.FPToken.FPSoft soft = 2;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.Fpininl.FPToken.FPSoft, wechat.protobuf.Fpininl.FPToken.FPSoft.Builder, wechat.protobuf.Fpininl.FPToken.FPSoftOrBuilder> 
          getSoftFieldBuilder() {
        if (softBuilder_ == null) {
          softBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              wechat.protobuf.Fpininl.FPToken.FPSoft, wechat.protobuf.Fpininl.FPToken.FPSoft.Builder, wechat.protobuf.Fpininl.FPToken.FPSoftOrBuilder>(
                  getSoft(),
                  getParentForChildren(),
                  isClean());
          soft_ = null;
        }
        return softBuilder_;
      }

      private java.lang.Object token_ = "";
      /**
       * optional string token = 3;
       * @return Whether the token field is set.
       */
      public boolean hasToken() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional string token = 3;
       * @return The token.
       */
      public java.lang.String getToken() {
        java.lang.Object ref = token_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            token_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string token = 3;
       * @return The bytes for token.
       */
      public com.google.protobuf.ByteString
          getTokenBytes() {
        java.lang.Object ref = token_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          token_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string token = 3;
       * @param value The token to set.
       * @return This builder for chaining.
       */
      public Builder setToken(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        token_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string token = 3;
       * @return This builder for chaining.
       */
      public Builder clearToken() {
        bitField0_ = (bitField0_ & ~0x00000002);
        token_ = getDefaultInstance().getToken();
        onChanged();
        return this;
      }
      /**
       * optional string token = 3;
       * @param value The bytes for token to set.
       * @return This builder for chaining.
       */
      public Builder setTokenBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        token_ = value;
        onChanged();
        return this;
      }

      private int expires_ ;
      /**
       * optional uint32 expires = 4;
       * @return Whether the expires field is set.
       */
      @java.lang.Override
      public boolean hasExpires() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional uint32 expires = 4;
       * @return The expires.
       */
      @java.lang.Override
      public int getExpires() {
        return expires_;
      }
      /**
       * optional uint32 expires = 4;
       * @param value The expires to set.
       * @return This builder for chaining.
       */
      public Builder setExpires(int value) {
        bitField0_ |= 0x00000004;
        expires_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 expires = 4;
       * @return This builder for chaining.
       */
      public Builder clearExpires() {
        bitField0_ = (bitField0_ & ~0x00000004);
        expires_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:wechat_proto.FPToken)
    }

    // @@protoc_insertion_point(class_scope:wechat_proto.FPToken)
    private static final wechat.protobuf.Fpininl.FPToken DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new wechat.protobuf.Fpininl.FPToken();
    }

    public static wechat.protobuf.Fpininl.FPToken getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public wechat.protobuf.Fpininl.FPToken getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface FPInitResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:wechat_proto.FPInitResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * required .wechat_proto.BaseResponse BaseResponse = 1;
     * @return Whether the baseResponse field is set.
     */
    boolean hasBaseResponse();
    /**
     * required .wechat_proto.BaseResponse BaseResponse = 1;
     * @return The baseResponse.
     */
    wechat.protobuf.BaseResponse getBaseResponse();
    /**
     * required .wechat_proto.BaseResponse BaseResponse = 1;
     */
    wechat.protobuf.BaseResponseOrBuilder getBaseResponseOrBuilder();

    /**
     * optional .wechat_proto.FPToken fpToken = 2;
     * @return Whether the fpToken field is set.
     */
    boolean hasFpToken();
    /**
     * optional .wechat_proto.FPToken fpToken = 2;
     * @return The fpToken.
     */
    wechat.protobuf.Fpininl.FPToken getFpToken();
    /**
     * optional .wechat_proto.FPToken fpToken = 2;
     */
    wechat.protobuf.Fpininl.FPTokenOrBuilder getFpTokenOrBuilder();
  }
  /**
   * Protobuf type {@code wechat_proto.FPInitResponse}
   */
  public static final class FPInitResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:wechat_proto.FPInitResponse)
      FPInitResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use FPInitResponse.newBuilder() to construct.
    private FPInitResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private FPInitResponse() {
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private FPInitResponse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              wechat.protobuf.BaseResponse.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) != 0)) {
                subBuilder = baseResponse_.toBuilder();
              }
              baseResponse_ = input.readMessage(wechat.protobuf.BaseResponse.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(baseResponse_);
                baseResponse_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              wechat.protobuf.Fpininl.FPToken.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) != 0)) {
                subBuilder = fpToken_.toBuilder();
              }
              fpToken_ = input.readMessage(wechat.protobuf.Fpininl.FPToken.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(fpToken_);
                fpToken_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPInitResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPInitResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              wechat.protobuf.Fpininl.FPInitResponse.class, wechat.protobuf.Fpininl.FPInitResponse.Builder.class);
    }

    private int bitField0_;
    public static final int BASERESPONSE_FIELD_NUMBER = 1;
    private wechat.protobuf.BaseResponse baseResponse_;
    /**
     * required .wechat_proto.BaseResponse BaseResponse = 1;
     * @return Whether the baseResponse field is set.
     */
    @java.lang.Override
    public boolean hasBaseResponse() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * required .wechat_proto.BaseResponse BaseResponse = 1;
     * @return The baseResponse.
     */
    @java.lang.Override
    public wechat.protobuf.BaseResponse getBaseResponse() {
      return baseResponse_ == null ? wechat.protobuf.BaseResponse.getDefaultInstance() : baseResponse_;
    }
    /**
     * required .wechat_proto.BaseResponse BaseResponse = 1;
     */
    @java.lang.Override
    public wechat.protobuf.BaseResponseOrBuilder getBaseResponseOrBuilder() {
      return baseResponse_ == null ? wechat.protobuf.BaseResponse.getDefaultInstance() : baseResponse_;
    }

    public static final int FPTOKEN_FIELD_NUMBER = 2;
    private wechat.protobuf.Fpininl.FPToken fpToken_;
    /**
     * optional .wechat_proto.FPToken fpToken = 2;
     * @return Whether the fpToken field is set.
     */
    @java.lang.Override
    public boolean hasFpToken() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional .wechat_proto.FPToken fpToken = 2;
     * @return The fpToken.
     */
    @java.lang.Override
    public wechat.protobuf.Fpininl.FPToken getFpToken() {
      return fpToken_ == null ? wechat.protobuf.Fpininl.FPToken.getDefaultInstance() : fpToken_;
    }
    /**
     * optional .wechat_proto.FPToken fpToken = 2;
     */
    @java.lang.Override
    public wechat.protobuf.Fpininl.FPTokenOrBuilder getFpTokenOrBuilder() {
      return fpToken_ == null ? wechat.protobuf.Fpininl.FPToken.getDefaultInstance() : fpToken_;
    }

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

      if (!hasBaseResponse()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getBaseResponse());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeMessage(2, getFpToken());
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getBaseResponse());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getFpToken());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof wechat.protobuf.Fpininl.FPInitResponse)) {
        return super.equals(obj);
      }
      wechat.protobuf.Fpininl.FPInitResponse other = (wechat.protobuf.Fpininl.FPInitResponse) obj;

      if (hasBaseResponse() != other.hasBaseResponse()) return false;
      if (hasBaseResponse()) {
        if (!getBaseResponse()
            .equals(other.getBaseResponse())) return false;
      }
      if (hasFpToken() != other.hasFpToken()) return false;
      if (hasFpToken()) {
        if (!getFpToken()
            .equals(other.getFpToken())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasBaseResponse()) {
        hash = (37 * hash) + BASERESPONSE_FIELD_NUMBER;
        hash = (53 * hash) + getBaseResponse().hashCode();
      }
      if (hasFpToken()) {
        hash = (37 * hash) + FPTOKEN_FIELD_NUMBER;
        hash = (53 * hash) + getFpToken().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(wechat.protobuf.Fpininl.FPInitResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code wechat_proto.FPInitResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:wechat_proto.FPInitResponse)
        wechat.protobuf.Fpininl.FPInitResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPInitResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPInitResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                wechat.protobuf.Fpininl.FPInitResponse.class, wechat.protobuf.Fpininl.FPInitResponse.Builder.class);
      }

      // Construct using wechat.protobuf.Fpininl.FPInitResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getBaseResponseFieldBuilder();
          getFpTokenFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (baseResponseBuilder_ == null) {
          baseResponse_ = null;
        } else {
          baseResponseBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (fpTokenBuilder_ == null) {
          fpToken_ = null;
        } else {
          fpTokenBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPInitResponse_descriptor;
      }

      @java.lang.Override
      public wechat.protobuf.Fpininl.FPInitResponse getDefaultInstanceForType() {
        return wechat.protobuf.Fpininl.FPInitResponse.getDefaultInstance();
      }

      @java.lang.Override
      public wechat.protobuf.Fpininl.FPInitResponse build() {
        wechat.protobuf.Fpininl.FPInitResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public wechat.protobuf.Fpininl.FPInitResponse buildPartial() {
        wechat.protobuf.Fpininl.FPInitResponse result = new wechat.protobuf.Fpininl.FPInitResponse(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          if (baseResponseBuilder_ == null) {
            result.baseResponse_ = baseResponse_;
          } else {
            result.baseResponse_ = baseResponseBuilder_.build();
          }
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          if (fpTokenBuilder_ == null) {
            result.fpToken_ = fpToken_;
          } else {
            result.fpToken_ = fpTokenBuilder_.build();
          }
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(wechat.protobuf.Fpininl.FPInitResponse other) {
        if (other == wechat.protobuf.Fpininl.FPInitResponse.getDefaultInstance()) return this;
        if (other.hasBaseResponse()) {
          mergeBaseResponse(other.getBaseResponse());
        }
        if (other.hasFpToken()) {
          mergeFpToken(other.getFpToken());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private wechat.protobuf.BaseResponse baseResponse_;
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.BaseResponse, wechat.protobuf.BaseResponse.Builder, wechat.protobuf.BaseResponseOrBuilder> baseResponseBuilder_;
      /**
       * required .wechat_proto.BaseResponse BaseResponse = 1;
       * @return Whether the baseResponse field is set.
       */
      public boolean hasBaseResponse() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * required .wechat_proto.BaseResponse BaseResponse = 1;
       * @return The baseResponse.
       */
      public wechat.protobuf.BaseResponse getBaseResponse() {
        if (baseResponseBuilder_ == null) {
          return baseResponse_ == null ? wechat.protobuf.BaseResponse.getDefaultInstance() : baseResponse_;
        } else {
          return baseResponseBuilder_.getMessage();
        }
      }
      /**
       * required .wechat_proto.BaseResponse BaseResponse = 1;
       */
      public Builder setBaseResponse(wechat.protobuf.BaseResponse value) {
        if (baseResponseBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          baseResponse_ = value;
          onChanged();
        } else {
          baseResponseBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * required .wechat_proto.BaseResponse BaseResponse = 1;
       */
      public Builder setBaseResponse(
          wechat.protobuf.BaseResponse.Builder builderForValue) {
        if (baseResponseBuilder_ == null) {
          baseResponse_ = builderForValue.build();
          onChanged();
        } else {
          baseResponseBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * required .wechat_proto.BaseResponse BaseResponse = 1;
       */
      public Builder mergeBaseResponse(wechat.protobuf.BaseResponse value) {
        if (baseResponseBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
              baseResponse_ != null &&
              baseResponse_ != wechat.protobuf.BaseResponse.getDefaultInstance()) {
            baseResponse_ =
              wechat.protobuf.BaseResponse.newBuilder(baseResponse_).mergeFrom(value).buildPartial();
          } else {
            baseResponse_ = value;
          }
          onChanged();
        } else {
          baseResponseBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * required .wechat_proto.BaseResponse BaseResponse = 1;
       */
      public Builder clearBaseResponse() {
        if (baseResponseBuilder_ == null) {
          baseResponse_ = null;
          onChanged();
        } else {
          baseResponseBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * required .wechat_proto.BaseResponse BaseResponse = 1;
       */
      public wechat.protobuf.BaseResponse.Builder getBaseResponseBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getBaseResponseFieldBuilder().getBuilder();
      }
      /**
       * required .wechat_proto.BaseResponse BaseResponse = 1;
       */
      public wechat.protobuf.BaseResponseOrBuilder getBaseResponseOrBuilder() {
        if (baseResponseBuilder_ != null) {
          return baseResponseBuilder_.getMessageOrBuilder();
        } else {
          return baseResponse_ == null ?
              wechat.protobuf.BaseResponse.getDefaultInstance() : baseResponse_;
        }
      }
      /**
       * required .wechat_proto.BaseResponse BaseResponse = 1;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.BaseResponse, wechat.protobuf.BaseResponse.Builder, wechat.protobuf.BaseResponseOrBuilder> 
          getBaseResponseFieldBuilder() {
        if (baseResponseBuilder_ == null) {
          baseResponseBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              wechat.protobuf.BaseResponse, wechat.protobuf.BaseResponse.Builder, wechat.protobuf.BaseResponseOrBuilder>(
                  getBaseResponse(),
                  getParentForChildren(),
                  isClean());
          baseResponse_ = null;
        }
        return baseResponseBuilder_;
      }

      private wechat.protobuf.Fpininl.FPToken fpToken_;
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.Fpininl.FPToken, wechat.protobuf.Fpininl.FPToken.Builder, wechat.protobuf.Fpininl.FPTokenOrBuilder> fpTokenBuilder_;
      /**
       * optional .wechat_proto.FPToken fpToken = 2;
       * @return Whether the fpToken field is set.
       */
      public boolean hasFpToken() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional .wechat_proto.FPToken fpToken = 2;
       * @return The fpToken.
       */
      public wechat.protobuf.Fpininl.FPToken getFpToken() {
        if (fpTokenBuilder_ == null) {
          return fpToken_ == null ? wechat.protobuf.Fpininl.FPToken.getDefaultInstance() : fpToken_;
        } else {
          return fpTokenBuilder_.getMessage();
        }
      }
      /**
       * optional .wechat_proto.FPToken fpToken = 2;
       */
      public Builder setFpToken(wechat.protobuf.Fpininl.FPToken value) {
        if (fpTokenBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          fpToken_ = value;
          onChanged();
        } else {
          fpTokenBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .wechat_proto.FPToken fpToken = 2;
       */
      public Builder setFpToken(
          wechat.protobuf.Fpininl.FPToken.Builder builderForValue) {
        if (fpTokenBuilder_ == null) {
          fpToken_ = builderForValue.build();
          onChanged();
        } else {
          fpTokenBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .wechat_proto.FPToken fpToken = 2;
       */
      public Builder mergeFpToken(wechat.protobuf.Fpininl.FPToken value) {
        if (fpTokenBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0) &&
              fpToken_ != null &&
              fpToken_ != wechat.protobuf.Fpininl.FPToken.getDefaultInstance()) {
            fpToken_ =
              wechat.protobuf.Fpininl.FPToken.newBuilder(fpToken_).mergeFrom(value).buildPartial();
          } else {
            fpToken_ = value;
          }
          onChanged();
        } else {
          fpTokenBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .wechat_proto.FPToken fpToken = 2;
       */
      public Builder clearFpToken() {
        if (fpTokenBuilder_ == null) {
          fpToken_ = null;
          onChanged();
        } else {
          fpTokenBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * optional .wechat_proto.FPToken fpToken = 2;
       */
      public wechat.protobuf.Fpininl.FPToken.Builder getFpTokenBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getFpTokenFieldBuilder().getBuilder();
      }
      /**
       * optional .wechat_proto.FPToken fpToken = 2;
       */
      public wechat.protobuf.Fpininl.FPTokenOrBuilder getFpTokenOrBuilder() {
        if (fpTokenBuilder_ != null) {
          return fpTokenBuilder_.getMessageOrBuilder();
        } else {
          return fpToken_ == null ?
              wechat.protobuf.Fpininl.FPToken.getDefaultInstance() : fpToken_;
        }
      }
      /**
       * optional .wechat_proto.FPToken fpToken = 2;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.Fpininl.FPToken, wechat.protobuf.Fpininl.FPToken.Builder, wechat.protobuf.Fpininl.FPTokenOrBuilder> 
          getFpTokenFieldBuilder() {
        if (fpTokenBuilder_ == null) {
          fpTokenBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              wechat.protobuf.Fpininl.FPToken, wechat.protobuf.Fpininl.FPToken.Builder, wechat.protobuf.Fpininl.FPTokenOrBuilder>(
                  getFpToken(),
                  getParentForChildren(),
                  isClean());
          fpToken_ = null;
        }
        return fpTokenBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:wechat_proto.FPInitResponse)
    }

    // @@protoc_insertion_point(class_scope:wechat_proto.FPInitResponse)
    private static final wechat.protobuf.Fpininl.FPInitResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new wechat.protobuf.Fpininl.FPInitResponse();
    }

    public static wechat.protobuf.Fpininl.FPInitResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public wechat.protobuf.Fpininl.FPInitResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface FPFreshRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:wechat_proto.FPFreshRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * optional .wechat_proto.BaseRequest baseRequest = 1;
     * @return Whether the baseRequest field is set.
     */
    boolean hasBaseRequest();
    /**
     * optional .wechat_proto.BaseRequest baseRequest = 1;
     * @return The baseRequest.
     */
    wechat.protobuf.BaseRequest getBaseRequest();
    /**
     * optional .wechat_proto.BaseRequest baseRequest = 1;
     */
    wechat.protobuf.BaseRequestOrBuilder getBaseRequestOrBuilder();

    /**
     * optional bytes randomKey = 2;
     * @return Whether the randomKey field is set.
     */
    boolean hasRandomKey();
    /**
     * optional bytes randomKey = 2;
     * @return The randomKey.
     */
    com.google.protobuf.ByteString getRandomKey();

    /**
     * optional bytes spamBuff = 3;
     * @return Whether the spamBuff field is set.
     */
    boolean hasSpamBuff();
    /**
     * optional bytes spamBuff = 3;
     * @return The spamBuff.
     */
    com.google.protobuf.ByteString getSpamBuff();
  }
  /**
   * Protobuf type {@code wechat_proto.FPFreshRequest}
   */
  public static final class FPFreshRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:wechat_proto.FPFreshRequest)
      FPFreshRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use FPFreshRequest.newBuilder() to construct.
    private FPFreshRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private FPFreshRequest() {
      randomKey_ = com.google.protobuf.ByteString.EMPTY;
      spamBuff_ = com.google.protobuf.ByteString.EMPTY;
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private FPFreshRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              wechat.protobuf.BaseRequest.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) != 0)) {
                subBuilder = baseRequest_.toBuilder();
              }
              baseRequest_ = input.readMessage(wechat.protobuf.BaseRequest.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(baseRequest_);
                baseRequest_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              randomKey_ = input.readBytes();
              break;
            }
            case 26: {
              bitField0_ |= 0x00000004;
              spamBuff_ = input.readBytes();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPFreshRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPFreshRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              wechat.protobuf.Fpininl.FPFreshRequest.class, wechat.protobuf.Fpininl.FPFreshRequest.Builder.class);
    }

    private int bitField0_;
    public static final int BASEREQUEST_FIELD_NUMBER = 1;
    private wechat.protobuf.BaseRequest baseRequest_;
    /**
     * optional .wechat_proto.BaseRequest baseRequest = 1;
     * @return Whether the baseRequest field is set.
     */
    @java.lang.Override
    public boolean hasBaseRequest() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional .wechat_proto.BaseRequest baseRequest = 1;
     * @return The baseRequest.
     */
    @java.lang.Override
    public wechat.protobuf.BaseRequest getBaseRequest() {
      return baseRequest_ == null ? wechat.protobuf.BaseRequest.getDefaultInstance() : baseRequest_;
    }
    /**
     * optional .wechat_proto.BaseRequest baseRequest = 1;
     */
    @java.lang.Override
    public wechat.protobuf.BaseRequestOrBuilder getBaseRequestOrBuilder() {
      return baseRequest_ == null ? wechat.protobuf.BaseRequest.getDefaultInstance() : baseRequest_;
    }

    public static final int RANDOMKEY_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString randomKey_;
    /**
     * optional bytes randomKey = 2;
     * @return Whether the randomKey field is set.
     */
    @java.lang.Override
    public boolean hasRandomKey() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional bytes randomKey = 2;
     * @return The randomKey.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getRandomKey() {
      return randomKey_;
    }

    public static final int SPAMBUFF_FIELD_NUMBER = 3;
    private com.google.protobuf.ByteString spamBuff_;
    /**
     * optional bytes spamBuff = 3;
     * @return Whether the spamBuff field is set.
     */
    @java.lang.Override
    public boolean hasSpamBuff() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional bytes spamBuff = 3;
     * @return The spamBuff.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getSpamBuff() {
      return spamBuff_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getBaseRequest());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeBytes(2, randomKey_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeBytes(3, spamBuff_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getBaseRequest());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, randomKey_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, spamBuff_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof wechat.protobuf.Fpininl.FPFreshRequest)) {
        return super.equals(obj);
      }
      wechat.protobuf.Fpininl.FPFreshRequest other = (wechat.protobuf.Fpininl.FPFreshRequest) obj;

      if (hasBaseRequest() != other.hasBaseRequest()) return false;
      if (hasBaseRequest()) {
        if (!getBaseRequest()
            .equals(other.getBaseRequest())) return false;
      }
      if (hasRandomKey() != other.hasRandomKey()) return false;
      if (hasRandomKey()) {
        if (!getRandomKey()
            .equals(other.getRandomKey())) return false;
      }
      if (hasSpamBuff() != other.hasSpamBuff()) return false;
      if (hasSpamBuff()) {
        if (!getSpamBuff()
            .equals(other.getSpamBuff())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasBaseRequest()) {
        hash = (37 * hash) + BASEREQUEST_FIELD_NUMBER;
        hash = (53 * hash) + getBaseRequest().hashCode();
      }
      if (hasRandomKey()) {
        hash = (37 * hash) + RANDOMKEY_FIELD_NUMBER;
        hash = (53 * hash) + getRandomKey().hashCode();
      }
      if (hasSpamBuff()) {
        hash = (37 * hash) + SPAMBUFF_FIELD_NUMBER;
        hash = (53 * hash) + getSpamBuff().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(wechat.protobuf.Fpininl.FPFreshRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code wechat_proto.FPFreshRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:wechat_proto.FPFreshRequest)
        wechat.protobuf.Fpininl.FPFreshRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPFreshRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPFreshRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                wechat.protobuf.Fpininl.FPFreshRequest.class, wechat.protobuf.Fpininl.FPFreshRequest.Builder.class);
      }

      // Construct using wechat.protobuf.Fpininl.FPFreshRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getBaseRequestFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (baseRequestBuilder_ == null) {
          baseRequest_ = null;
        } else {
          baseRequestBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        randomKey_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        spamBuff_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPFreshRequest_descriptor;
      }

      @java.lang.Override
      public wechat.protobuf.Fpininl.FPFreshRequest getDefaultInstanceForType() {
        return wechat.protobuf.Fpininl.FPFreshRequest.getDefaultInstance();
      }

      @java.lang.Override
      public wechat.protobuf.Fpininl.FPFreshRequest build() {
        wechat.protobuf.Fpininl.FPFreshRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public wechat.protobuf.Fpininl.FPFreshRequest buildPartial() {
        wechat.protobuf.Fpininl.FPFreshRequest result = new wechat.protobuf.Fpininl.FPFreshRequest(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          if (baseRequestBuilder_ == null) {
            result.baseRequest_ = baseRequest_;
          } else {
            result.baseRequest_ = baseRequestBuilder_.build();
          }
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          to_bitField0_ |= 0x00000002;
        }
        result.randomKey_ = randomKey_;
        if (((from_bitField0_ & 0x00000004) != 0)) {
          to_bitField0_ |= 0x00000004;
        }
        result.spamBuff_ = spamBuff_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(wechat.protobuf.Fpininl.FPFreshRequest other) {
        if (other == wechat.protobuf.Fpininl.FPFreshRequest.getDefaultInstance()) return this;
        if (other.hasBaseRequest()) {
          mergeBaseRequest(other.getBaseRequest());
        }
        if (other.hasRandomKey()) {
          setRandomKey(other.getRandomKey());
        }
        if (other.hasSpamBuff()) {
          setSpamBuff(other.getSpamBuff());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private wechat.protobuf.BaseRequest baseRequest_;
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.BaseRequest, wechat.protobuf.BaseRequest.Builder, wechat.protobuf.BaseRequestOrBuilder> baseRequestBuilder_;
      /**
       * optional .wechat_proto.BaseRequest baseRequest = 1;
       * @return Whether the baseRequest field is set.
       */
      public boolean hasBaseRequest() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional .wechat_proto.BaseRequest baseRequest = 1;
       * @return The baseRequest.
       */
      public wechat.protobuf.BaseRequest getBaseRequest() {
        if (baseRequestBuilder_ == null) {
          return baseRequest_ == null ? wechat.protobuf.BaseRequest.getDefaultInstance() : baseRequest_;
        } else {
          return baseRequestBuilder_.getMessage();
        }
      }
      /**
       * optional .wechat_proto.BaseRequest baseRequest = 1;
       */
      public Builder setBaseRequest(wechat.protobuf.BaseRequest value) {
        if (baseRequestBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          baseRequest_ = value;
          onChanged();
        } else {
          baseRequestBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .wechat_proto.BaseRequest baseRequest = 1;
       */
      public Builder setBaseRequest(
          wechat.protobuf.BaseRequest.Builder builderForValue) {
        if (baseRequestBuilder_ == null) {
          baseRequest_ = builderForValue.build();
          onChanged();
        } else {
          baseRequestBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .wechat_proto.BaseRequest baseRequest = 1;
       */
      public Builder mergeBaseRequest(wechat.protobuf.BaseRequest value) {
        if (baseRequestBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
              baseRequest_ != null &&
              baseRequest_ != wechat.protobuf.BaseRequest.getDefaultInstance()) {
            baseRequest_ =
              wechat.protobuf.BaseRequest.newBuilder(baseRequest_).mergeFrom(value).buildPartial();
          } else {
            baseRequest_ = value;
          }
          onChanged();
        } else {
          baseRequestBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .wechat_proto.BaseRequest baseRequest = 1;
       */
      public Builder clearBaseRequest() {
        if (baseRequestBuilder_ == null) {
          baseRequest_ = null;
          onChanged();
        } else {
          baseRequestBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .wechat_proto.BaseRequest baseRequest = 1;
       */
      public wechat.protobuf.BaseRequest.Builder getBaseRequestBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getBaseRequestFieldBuilder().getBuilder();
      }
      /**
       * optional .wechat_proto.BaseRequest baseRequest = 1;
       */
      public wechat.protobuf.BaseRequestOrBuilder getBaseRequestOrBuilder() {
        if (baseRequestBuilder_ != null) {
          return baseRequestBuilder_.getMessageOrBuilder();
        } else {
          return baseRequest_ == null ?
              wechat.protobuf.BaseRequest.getDefaultInstance() : baseRequest_;
        }
      }
      /**
       * optional .wechat_proto.BaseRequest baseRequest = 1;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.BaseRequest, wechat.protobuf.BaseRequest.Builder, wechat.protobuf.BaseRequestOrBuilder> 
          getBaseRequestFieldBuilder() {
        if (baseRequestBuilder_ == null) {
          baseRequestBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              wechat.protobuf.BaseRequest, wechat.protobuf.BaseRequest.Builder, wechat.protobuf.BaseRequestOrBuilder>(
                  getBaseRequest(),
                  getParentForChildren(),
                  isClean());
          baseRequest_ = null;
        }
        return baseRequestBuilder_;
      }

      private com.google.protobuf.ByteString randomKey_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * optional bytes randomKey = 2;
       * @return Whether the randomKey field is set.
       */
      @java.lang.Override
      public boolean hasRandomKey() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional bytes randomKey = 2;
       * @return The randomKey.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getRandomKey() {
        return randomKey_;
      }
      /**
       * optional bytes randomKey = 2;
       * @param value The randomKey to set.
       * @return This builder for chaining.
       */
      public Builder setRandomKey(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        randomKey_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bytes randomKey = 2;
       * @return This builder for chaining.
       */
      public Builder clearRandomKey() {
        bitField0_ = (bitField0_ & ~0x00000002);
        randomKey_ = getDefaultInstance().getRandomKey();
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString spamBuff_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * optional bytes spamBuff = 3;
       * @return Whether the spamBuff field is set.
       */
      @java.lang.Override
      public boolean hasSpamBuff() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional bytes spamBuff = 3;
       * @return The spamBuff.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getSpamBuff() {
        return spamBuff_;
      }
      /**
       * optional bytes spamBuff = 3;
       * @param value The spamBuff to set.
       * @return This builder for chaining.
       */
      public Builder setSpamBuff(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        spamBuff_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bytes spamBuff = 3;
       * @return This builder for chaining.
       */
      public Builder clearSpamBuff() {
        bitField0_ = (bitField0_ & ~0x00000004);
        spamBuff_ = getDefaultInstance().getSpamBuff();
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:wechat_proto.FPFreshRequest)
    }

    // @@protoc_insertion_point(class_scope:wechat_proto.FPFreshRequest)
    private static final wechat.protobuf.Fpininl.FPFreshRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new wechat.protobuf.Fpininl.FPFreshRequest();
    }

    public static wechat.protobuf.Fpininl.FPFreshRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public wechat.protobuf.Fpininl.FPFreshRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface FPFreshResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:wechat_proto.FPFreshResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * required .wechat_proto.BaseResponse BaseResponse = 1;
     * @return Whether the baseResponse field is set.
     */
    boolean hasBaseResponse();
    /**
     * required .wechat_proto.BaseResponse BaseResponse = 1;
     * @return The baseResponse.
     */
    wechat.protobuf.BaseResponse getBaseResponse();
    /**
     * required .wechat_proto.BaseResponse BaseResponse = 1;
     */
    wechat.protobuf.BaseResponseOrBuilder getBaseResponseOrBuilder();

    /**
     * optional .wechat_proto.FPToken fpToken = 2;
     * @return Whether the fpToken field is set.
     */
    boolean hasFpToken();
    /**
     * optional .wechat_proto.FPToken fpToken = 2;
     * @return The fpToken.
     */
    wechat.protobuf.Fpininl.FPToken getFpToken();
    /**
     * optional .wechat_proto.FPToken fpToken = 2;
     */
    wechat.protobuf.Fpininl.FPTokenOrBuilder getFpTokenOrBuilder();
  }
  /**
   * Protobuf type {@code wechat_proto.FPFreshResponse}
   */
  public static final class FPFreshResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:wechat_proto.FPFreshResponse)
      FPFreshResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use FPFreshResponse.newBuilder() to construct.
    private FPFreshResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private FPFreshResponse() {
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private FPFreshResponse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              wechat.protobuf.BaseResponse.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) != 0)) {
                subBuilder = baseResponse_.toBuilder();
              }
              baseResponse_ = input.readMessage(wechat.protobuf.BaseResponse.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(baseResponse_);
                baseResponse_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              wechat.protobuf.Fpininl.FPToken.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) != 0)) {
                subBuilder = fpToken_.toBuilder();
              }
              fpToken_ = input.readMessage(wechat.protobuf.Fpininl.FPToken.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(fpToken_);
                fpToken_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPFreshResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPFreshResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              wechat.protobuf.Fpininl.FPFreshResponse.class, wechat.protobuf.Fpininl.FPFreshResponse.Builder.class);
    }

    private int bitField0_;
    public static final int BASERESPONSE_FIELD_NUMBER = 1;
    private wechat.protobuf.BaseResponse baseResponse_;
    /**
     * required .wechat_proto.BaseResponse BaseResponse = 1;
     * @return Whether the baseResponse field is set.
     */
    @java.lang.Override
    public boolean hasBaseResponse() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * required .wechat_proto.BaseResponse BaseResponse = 1;
     * @return The baseResponse.
     */
    @java.lang.Override
    public wechat.protobuf.BaseResponse getBaseResponse() {
      return baseResponse_ == null ? wechat.protobuf.BaseResponse.getDefaultInstance() : baseResponse_;
    }
    /**
     * required .wechat_proto.BaseResponse BaseResponse = 1;
     */
    @java.lang.Override
    public wechat.protobuf.BaseResponseOrBuilder getBaseResponseOrBuilder() {
      return baseResponse_ == null ? wechat.protobuf.BaseResponse.getDefaultInstance() : baseResponse_;
    }

    public static final int FPTOKEN_FIELD_NUMBER = 2;
    private wechat.protobuf.Fpininl.FPToken fpToken_;
    /**
     * optional .wechat_proto.FPToken fpToken = 2;
     * @return Whether the fpToken field is set.
     */
    @java.lang.Override
    public boolean hasFpToken() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional .wechat_proto.FPToken fpToken = 2;
     * @return The fpToken.
     */
    @java.lang.Override
    public wechat.protobuf.Fpininl.FPToken getFpToken() {
      return fpToken_ == null ? wechat.protobuf.Fpininl.FPToken.getDefaultInstance() : fpToken_;
    }
    /**
     * optional .wechat_proto.FPToken fpToken = 2;
     */
    @java.lang.Override
    public wechat.protobuf.Fpininl.FPTokenOrBuilder getFpTokenOrBuilder() {
      return fpToken_ == null ? wechat.protobuf.Fpininl.FPToken.getDefaultInstance() : fpToken_;
    }

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

      if (!hasBaseResponse()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getBaseResponse());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeMessage(2, getFpToken());
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getBaseResponse());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getFpToken());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof wechat.protobuf.Fpininl.FPFreshResponse)) {
        return super.equals(obj);
      }
      wechat.protobuf.Fpininl.FPFreshResponse other = (wechat.protobuf.Fpininl.FPFreshResponse) obj;

      if (hasBaseResponse() != other.hasBaseResponse()) return false;
      if (hasBaseResponse()) {
        if (!getBaseResponse()
            .equals(other.getBaseResponse())) return false;
      }
      if (hasFpToken() != other.hasFpToken()) return false;
      if (hasFpToken()) {
        if (!getFpToken()
            .equals(other.getFpToken())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasBaseResponse()) {
        hash = (37 * hash) + BASERESPONSE_FIELD_NUMBER;
        hash = (53 * hash) + getBaseResponse().hashCode();
      }
      if (hasFpToken()) {
        hash = (37 * hash) + FPTOKEN_FIELD_NUMBER;
        hash = (53 * hash) + getFpToken().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(wechat.protobuf.Fpininl.FPFreshResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code wechat_proto.FPFreshResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:wechat_proto.FPFreshResponse)
        wechat.protobuf.Fpininl.FPFreshResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPFreshResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPFreshResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                wechat.protobuf.Fpininl.FPFreshResponse.class, wechat.protobuf.Fpininl.FPFreshResponse.Builder.class);
      }

      // Construct using wechat.protobuf.Fpininl.FPFreshResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getBaseResponseFieldBuilder();
          getFpTokenFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (baseResponseBuilder_ == null) {
          baseResponse_ = null;
        } else {
          baseResponseBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (fpTokenBuilder_ == null) {
          fpToken_ = null;
        } else {
          fpTokenBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return wechat.protobuf.Fpininl.internal_static_wechat_proto_FPFreshResponse_descriptor;
      }

      @java.lang.Override
      public wechat.protobuf.Fpininl.FPFreshResponse getDefaultInstanceForType() {
        return wechat.protobuf.Fpininl.FPFreshResponse.getDefaultInstance();
      }

      @java.lang.Override
      public wechat.protobuf.Fpininl.FPFreshResponse build() {
        wechat.protobuf.Fpininl.FPFreshResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public wechat.protobuf.Fpininl.FPFreshResponse buildPartial() {
        wechat.protobuf.Fpininl.FPFreshResponse result = new wechat.protobuf.Fpininl.FPFreshResponse(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          if (baseResponseBuilder_ == null) {
            result.baseResponse_ = baseResponse_;
          } else {
            result.baseResponse_ = baseResponseBuilder_.build();
          }
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          if (fpTokenBuilder_ == null) {
            result.fpToken_ = fpToken_;
          } else {
            result.fpToken_ = fpTokenBuilder_.build();
          }
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(wechat.protobuf.Fpininl.FPFreshResponse other) {
        if (other == wechat.protobuf.Fpininl.FPFreshResponse.getDefaultInstance()) return this;
        if (other.hasBaseResponse()) {
          mergeBaseResponse(other.getBaseResponse());
        }
        if (other.hasFpToken()) {
          mergeFpToken(other.getFpToken());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private wechat.protobuf.BaseResponse baseResponse_;
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.BaseResponse, wechat.protobuf.BaseResponse.Builder, wechat.protobuf.BaseResponseOrBuilder> baseResponseBuilder_;
      /**
       * required .wechat_proto.BaseResponse BaseResponse = 1;
       * @return Whether the baseResponse field is set.
       */
      public boolean hasBaseResponse() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * required .wechat_proto.BaseResponse BaseResponse = 1;
       * @return The baseResponse.
       */
      public wechat.protobuf.BaseResponse getBaseResponse() {
        if (baseResponseBuilder_ == null) {
          return baseResponse_ == null ? wechat.protobuf.BaseResponse.getDefaultInstance() : baseResponse_;
        } else {
          return baseResponseBuilder_.getMessage();
        }
      }
      /**
       * required .wechat_proto.BaseResponse BaseResponse = 1;
       */
      public Builder setBaseResponse(wechat.protobuf.BaseResponse value) {
        if (baseResponseBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          baseResponse_ = value;
          onChanged();
        } else {
          baseResponseBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * required .wechat_proto.BaseResponse BaseResponse = 1;
       */
      public Builder setBaseResponse(
          wechat.protobuf.BaseResponse.Builder builderForValue) {
        if (baseResponseBuilder_ == null) {
          baseResponse_ = builderForValue.build();
          onChanged();
        } else {
          baseResponseBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * required .wechat_proto.BaseResponse BaseResponse = 1;
       */
      public Builder mergeBaseResponse(wechat.protobuf.BaseResponse value) {
        if (baseResponseBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
              baseResponse_ != null &&
              baseResponse_ != wechat.protobuf.BaseResponse.getDefaultInstance()) {
            baseResponse_ =
              wechat.protobuf.BaseResponse.newBuilder(baseResponse_).mergeFrom(value).buildPartial();
          } else {
            baseResponse_ = value;
          }
          onChanged();
        } else {
          baseResponseBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * required .wechat_proto.BaseResponse BaseResponse = 1;
       */
      public Builder clearBaseResponse() {
        if (baseResponseBuilder_ == null) {
          baseResponse_ = null;
          onChanged();
        } else {
          baseResponseBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * required .wechat_proto.BaseResponse BaseResponse = 1;
       */
      public wechat.protobuf.BaseResponse.Builder getBaseResponseBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getBaseResponseFieldBuilder().getBuilder();
      }
      /**
       * required .wechat_proto.BaseResponse BaseResponse = 1;
       */
      public wechat.protobuf.BaseResponseOrBuilder getBaseResponseOrBuilder() {
        if (baseResponseBuilder_ != null) {
          return baseResponseBuilder_.getMessageOrBuilder();
        } else {
          return baseResponse_ == null ?
              wechat.protobuf.BaseResponse.getDefaultInstance() : baseResponse_;
        }
      }
      /**
       * required .wechat_proto.BaseResponse BaseResponse = 1;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.BaseResponse, wechat.protobuf.BaseResponse.Builder, wechat.protobuf.BaseResponseOrBuilder> 
          getBaseResponseFieldBuilder() {
        if (baseResponseBuilder_ == null) {
          baseResponseBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              wechat.protobuf.BaseResponse, wechat.protobuf.BaseResponse.Builder, wechat.protobuf.BaseResponseOrBuilder>(
                  getBaseResponse(),
                  getParentForChildren(),
                  isClean());
          baseResponse_ = null;
        }
        return baseResponseBuilder_;
      }

      private wechat.protobuf.Fpininl.FPToken fpToken_;
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.Fpininl.FPToken, wechat.protobuf.Fpininl.FPToken.Builder, wechat.protobuf.Fpininl.FPTokenOrBuilder> fpTokenBuilder_;
      /**
       * optional .wechat_proto.FPToken fpToken = 2;
       * @return Whether the fpToken field is set.
       */
      public boolean hasFpToken() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional .wechat_proto.FPToken fpToken = 2;
       * @return The fpToken.
       */
      public wechat.protobuf.Fpininl.FPToken getFpToken() {
        if (fpTokenBuilder_ == null) {
          return fpToken_ == null ? wechat.protobuf.Fpininl.FPToken.getDefaultInstance() : fpToken_;
        } else {
          return fpTokenBuilder_.getMessage();
        }
      }
      /**
       * optional .wechat_proto.FPToken fpToken = 2;
       */
      public Builder setFpToken(wechat.protobuf.Fpininl.FPToken value) {
        if (fpTokenBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          fpToken_ = value;
          onChanged();
        } else {
          fpTokenBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .wechat_proto.FPToken fpToken = 2;
       */
      public Builder setFpToken(
          wechat.protobuf.Fpininl.FPToken.Builder builderForValue) {
        if (fpTokenBuilder_ == null) {
          fpToken_ = builderForValue.build();
          onChanged();
        } else {
          fpTokenBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .wechat_proto.FPToken fpToken = 2;
       */
      public Builder mergeFpToken(wechat.protobuf.Fpininl.FPToken value) {
        if (fpTokenBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0) &&
              fpToken_ != null &&
              fpToken_ != wechat.protobuf.Fpininl.FPToken.getDefaultInstance()) {
            fpToken_ =
              wechat.protobuf.Fpininl.FPToken.newBuilder(fpToken_).mergeFrom(value).buildPartial();
          } else {
            fpToken_ = value;
          }
          onChanged();
        } else {
          fpTokenBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .wechat_proto.FPToken fpToken = 2;
       */
      public Builder clearFpToken() {
        if (fpTokenBuilder_ == null) {
          fpToken_ = null;
          onChanged();
        } else {
          fpTokenBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * optional .wechat_proto.FPToken fpToken = 2;
       */
      public wechat.protobuf.Fpininl.FPToken.Builder getFpTokenBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getFpTokenFieldBuilder().getBuilder();
      }
      /**
       * optional .wechat_proto.FPToken fpToken = 2;
       */
      public wechat.protobuf.Fpininl.FPTokenOrBuilder getFpTokenOrBuilder() {
        if (fpTokenBuilder_ != null) {
          return fpTokenBuilder_.getMessageOrBuilder();
        } else {
          return fpToken_ == null ?
              wechat.protobuf.Fpininl.FPToken.getDefaultInstance() : fpToken_;
        }
      }
      /**
       * optional .wechat_proto.FPToken fpToken = 2;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          wechat.protobuf.Fpininl.FPToken, wechat.protobuf.Fpininl.FPToken.Builder, wechat.protobuf.Fpininl.FPTokenOrBuilder> 
          getFpTokenFieldBuilder() {
        if (fpTokenBuilder_ == null) {
          fpTokenBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              wechat.protobuf.Fpininl.FPToken, wechat.protobuf.Fpininl.FPToken.Builder, wechat.protobuf.Fpininl.FPTokenOrBuilder>(
                  getFpToken(),
                  getParentForChildren(),
                  isClean());
          fpToken_ = null;
        }
        return fpTokenBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:wechat_proto.FPFreshResponse)
    }

    // @@protoc_insertion_point(class_scope:wechat_proto.FPFreshResponse)
    private static final wechat.protobuf.Fpininl.FPFreshResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new wechat.protobuf.Fpininl.FPFreshResponse();
    }

    public static wechat.protobuf.Fpininl.FPFreshResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public wechat.protobuf.Fpininl.FPFreshResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_wechat_proto_FPData_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_wechat_proto_FPData_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_wechat_proto_FPData_FPBody_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_wechat_proto_FPData_FPBody_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_wechat_proto_FPData_FPBody_FPPair_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_wechat_proto_FPData_FPBody_FPPair_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_wechat_proto_FPInitRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_wechat_proto_FPInitRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_wechat_proto_FPToken_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_wechat_proto_FPToken_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_wechat_proto_FPToken_FPSoft_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_wechat_proto_FPToken_FPSoft_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_wechat_proto_FPInitResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_wechat_proto_FPInitResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_wechat_proto_FPFreshRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_wechat_proto_FPFreshRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_wechat_proto_FPFreshResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_wechat_proto_FPFreshResponse_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\rfpininl.proto\022\014wechat_proto\032\014wechat.pr" +
      "oto\"\244\001\n\006FPData\022)\n\004body\030\001 \001(\0132\033.wechat_pr" +
      "oto.FPData.FPBody\022\r\n\005token\030\002 \001(\t\032`\n\006FPBo" +
      "dy\0220\n\004pair\030\001 \003(\0132\".wechat_proto.FPData.F" +
      "PBody.FPPair\032$\n\006FPPair\022\013\n\003key\030\001 \001(\t\022\r\n\005v" +
      "alue\030\002 \001(\t\"d\n\rFPInitRequest\022.\n\013baseReque" +
      "st\030\001 \001(\0132\031.wechat_proto.BaseRequest\022\021\n\tr" +
      "andomKey\030\002 \001(\014\022\020\n\010spamBuff\030\003 \001(\014\"}\n\007FPTo" +
      "ken\022*\n\004soft\030\002 \001(\0132\034.wechat_proto.FPToken" +
      ".FPSoft\022\r\n\005token\030\003 \001(\t\022\017\n\007expires\030\004 \001(\r\032" +
      "&\n\006FPSoft\022\014\n\004data\030\001 \001(\014\022\016\n\006config\030\002 \001(\014\"" +
      "j\n\016FPInitResponse\0220\n\014BaseResponse\030\001 \002(\0132" +
      "\032.wechat_proto.BaseResponse\022&\n\007fpToken\030\002" +
      " \001(\0132\025.wechat_proto.FPToken\"e\n\016FPFreshRe" +
      "quest\022.\n\013baseRequest\030\001 \001(\0132\031.wechat_prot" +
      "o.BaseRequest\022\021\n\trandomKey\030\002 \001(\014\022\020\n\010spam" +
      "Buff\030\003 \001(\014\"k\n\017FPFreshResponse\0220\n\014BaseRes" +
      "ponse\030\001 \002(\0132\032.wechat_proto.BaseResponse\022" +
      "&\n\007fpToken\030\002 \001(\0132\025.wechat_proto.FPTokenB" +
      "\034\n\017wechat.protobufZ\t../wechat"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          wechat.protobuf.Wechat.getDescriptor(),
        });
    internal_static_wechat_proto_FPData_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_wechat_proto_FPData_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_wechat_proto_FPData_descriptor,
        new java.lang.String[] { "Body", "Token", });
    internal_static_wechat_proto_FPData_FPBody_descriptor =
      internal_static_wechat_proto_FPData_descriptor.getNestedTypes().get(0);
    internal_static_wechat_proto_FPData_FPBody_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_wechat_proto_FPData_FPBody_descriptor,
        new java.lang.String[] { "Pair", });
    internal_static_wechat_proto_FPData_FPBody_FPPair_descriptor =
      internal_static_wechat_proto_FPData_FPBody_descriptor.getNestedTypes().get(0);
    internal_static_wechat_proto_FPData_FPBody_FPPair_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_wechat_proto_FPData_FPBody_FPPair_descriptor,
        new java.lang.String[] { "Key", "Value", });
    internal_static_wechat_proto_FPInitRequest_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_wechat_proto_FPInitRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_wechat_proto_FPInitRequest_descriptor,
        new java.lang.String[] { "BaseRequest", "RandomKey", "SpamBuff", });
    internal_static_wechat_proto_FPToken_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_wechat_proto_FPToken_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_wechat_proto_FPToken_descriptor,
        new java.lang.String[] { "Soft", "Token", "Expires", });
    internal_static_wechat_proto_FPToken_FPSoft_descriptor =
      internal_static_wechat_proto_FPToken_descriptor.getNestedTypes().get(0);
    internal_static_wechat_proto_FPToken_FPSoft_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_wechat_proto_FPToken_FPSoft_descriptor,
        new java.lang.String[] { "Data", "Config", });
    internal_static_wechat_proto_FPInitResponse_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_wechat_proto_FPInitResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_wechat_proto_FPInitResponse_descriptor,
        new java.lang.String[] { "BaseResponse", "FpToken", });
    internal_static_wechat_proto_FPFreshRequest_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_wechat_proto_FPFreshRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_wechat_proto_FPFreshRequest_descriptor,
        new java.lang.String[] { "BaseRequest", "RandomKey", "SpamBuff", });
    internal_static_wechat_proto_FPFreshResponse_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_wechat_proto_FPFreshResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_wechat_proto_FPFreshResponse_descriptor,
        new java.lang.String[] { "BaseResponse", "FpToken", });
    wechat.protobuf.Wechat.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy