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

package pb.xiugou.x1.protobuf.promotion;

public final class P1009ZhiGou {
  private P1009ZhiGou() {}
  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 ZhiGouInfoRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.ZhiGouInfoRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *活动类型ID
     * </pre>
     *
     * <code>int32 type_id = 1;</code>
     * @return The typeId.
     */
    int getTypeId();
  }
  /**
   * <pre>
   *直购信息
   * </pre>
   *
   * Protobuf type {@code pb.ZhiGouInfoRequest}
   */
  public  static final class ZhiGouInfoRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.ZhiGouInfoRequest)
      ZhiGouInfoRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ZhiGouInfoRequest.newBuilder() to construct.
    private ZhiGouInfoRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ZhiGouInfoRequest() {
    }

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

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

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

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_ZhiGouInfoRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoRequest.class, pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoRequest.Builder.class);
    }

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

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


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

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

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

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

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

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

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

      private final int value;

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

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

    public static final int TYPE_ID_FIELD_NUMBER = 1;
    private int typeId_;
    /**
     * <pre>
     *活动类型ID
     * </pre>
     *
     * <code>int32 type_id = 1;</code>
     * @return The typeId.
     */
    public int getTypeId() {
      return typeId_;
    }

    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 (typeId_ != 0) {
        output.writeInt32(1, typeId_);
      }
      unknownFields.writeTo(output);
    }

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

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

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

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

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

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

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

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *直购信息
     * </pre>
     *
     * Protobuf type {@code pb.ZhiGouInfoRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.ZhiGouInfoRequest)
        pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_ZhiGouInfoRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_ZhiGouInfoRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoRequest.class, pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoRequest.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoRequest.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();
        typeId_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_ZhiGouInfoRequest_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoRequest getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoRequest.getDefaultInstance();
      }

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

      @java.lang.Override
      public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoRequest buildPartial() {
        pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoRequest result = new pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoRequest(this);
        result.typeId_ = typeId_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoRequest other) {
        if (other == pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoRequest.getDefaultInstance()) return this;
        if (other.getTypeId() != 0) {
          setTypeId(other.getTypeId());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private int typeId_ ;
      /**
       * <pre>
       *活动类型ID
       * </pre>
       *
       * <code>int32 type_id = 1;</code>
       * @return The typeId.
       */
      public int getTypeId() {
        return typeId_;
      }
      /**
       * <pre>
       *活动类型ID
       * </pre>
       *
       * <code>int32 type_id = 1;</code>
       * @param value The typeId to set.
       * @return This builder for chaining.
       */
      public Builder setTypeId(int value) {
        
        typeId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *活动类型ID
       * </pre>
       *
       * <code>int32 type_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearTypeId() {
        
        typeId_ = 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:pb.ZhiGouInfoRequest)
    }

    // @@protoc_insertion_point(class_scope:pb.ZhiGouInfoRequest)
    private static final pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoRequest();
    }

    public static pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * <pre>
     *活动类型ID
     * </pre>
     *
     * <code>int32 type_id = 1;</code>
     * @return The typeId.
     */
    int getTypeId();

    /**
     * <pre>
     *限购信息
     * </pre>
     *
     * <code>repeated .pb.PbKeyV keyvs = 2;</code>
     */
    java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV> 
        getKeyvsList();
    /**
     * <pre>
     *限购信息
     * </pre>
     *
     * <code>repeated .pb.PbKeyV keyvs = 2;</code>
     */
    pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV getKeyvs(int index);
    /**
     * <pre>
     *限购信息
     * </pre>
     *
     * <code>repeated .pb.PbKeyV keyvs = 2;</code>
     */
    int getKeyvsCount();
    /**
     * <pre>
     *限购信息
     * </pre>
     *
     * <code>repeated .pb.PbKeyV keyvs = 2;</code>
     */
    java.util.List<? extends pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyVOrBuilder> 
        getKeyvsOrBuilderList();
    /**
     * <pre>
     *限购信息
     * </pre>
     *
     * <code>repeated .pb.PbKeyV keyvs = 2;</code>
     */
    pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyVOrBuilder getKeyvsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code pb.ZhiGouInfoResponse}
   */
  public  static final class ZhiGouInfoResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.ZhiGouInfoResponse)
      ZhiGouInfoResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ZhiGouInfoResponse.newBuilder() to construct.
    private ZhiGouInfoResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ZhiGouInfoResponse() {
      keyvs_ = java.util.Collections.emptyList();
    }

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

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

              typeId_ = input.readInt32();
              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                keyvs_ = new java.util.ArrayList<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV>();
                mutable_bitField0_ |= 0x00000001;
              }
              keyvs_.add(
                  input.readMessage(pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.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)) {
          keyvs_ = java.util.Collections.unmodifiableList(keyvs_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_ZhiGouInfoResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_ZhiGouInfoResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoResponse.class, pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoResponse.Builder.class);
    }

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

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


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

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

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

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

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

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

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

      private final int value;

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

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

    public static final int TYPE_ID_FIELD_NUMBER = 1;
    private int typeId_;
    /**
     * <pre>
     *活动类型ID
     * </pre>
     *
     * <code>int32 type_id = 1;</code>
     * @return The typeId.
     */
    public int getTypeId() {
      return typeId_;
    }

    public static final int KEYVS_FIELD_NUMBER = 2;
    private java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV> keyvs_;
    /**
     * <pre>
     *限购信息
     * </pre>
     *
     * <code>repeated .pb.PbKeyV keyvs = 2;</code>
     */
    public java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV> getKeyvsList() {
      return keyvs_;
    }
    /**
     * <pre>
     *限购信息
     * </pre>
     *
     * <code>repeated .pb.PbKeyV keyvs = 2;</code>
     */
    public java.util.List<? extends pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyVOrBuilder> 
        getKeyvsOrBuilderList() {
      return keyvs_;
    }
    /**
     * <pre>
     *限购信息
     * </pre>
     *
     * <code>repeated .pb.PbKeyV keyvs = 2;</code>
     */
    public int getKeyvsCount() {
      return keyvs_.size();
    }
    /**
     * <pre>
     *限购信息
     * </pre>
     *
     * <code>repeated .pb.PbKeyV keyvs = 2;</code>
     */
    public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV getKeyvs(int index) {
      return keyvs_.get(index);
    }
    /**
     * <pre>
     *限购信息
     * </pre>
     *
     * <code>repeated .pb.PbKeyV keyvs = 2;</code>
     */
    public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyVOrBuilder getKeyvsOrBuilder(
        int index) {
      return keyvs_.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 {
      if (typeId_ != 0) {
        output.writeInt32(1, typeId_);
      }
      for (int i = 0; i < keyvs_.size(); i++) {
        output.writeMessage(2, keyvs_.get(i));
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (typeId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, typeId_);
      }
      for (int i = 0; i < keyvs_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, keyvs_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

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

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

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + TYPE_ID_FIELD_NUMBER;
      hash = (53 * hash) + getTypeId();
      if (getKeyvsCount() > 0) {
        hash = (37 * hash) + KEYVS_FIELD_NUMBER;
        hash = (53 * hash) + getKeyvsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

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

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

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_ZhiGouInfoResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoResponse.class, pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoResponse.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        if (keyvsBuilder_ == null) {
          keyvs_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          keyvsBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_ZhiGouInfoResponse_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoResponse getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoResponse.getDefaultInstance();
      }

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

      @java.lang.Override
      public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoResponse buildPartial() {
        pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoResponse result = new pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoResponse(this);
        int from_bitField0_ = bitField0_;
        result.typeId_ = typeId_;
        if (keyvsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            keyvs_ = java.util.Collections.unmodifiableList(keyvs_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.keyvs_ = keyvs_;
        } else {
          result.keyvs_ = keyvsBuilder_.build();
        }
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoResponse other) {
        if (other == pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoResponse.getDefaultInstance()) return this;
        if (other.getTypeId() != 0) {
          setTypeId(other.getTypeId());
        }
        if (keyvsBuilder_ == null) {
          if (!other.keyvs_.isEmpty()) {
            if (keyvs_.isEmpty()) {
              keyvs_ = other.keyvs_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureKeyvsIsMutable();
              keyvs_.addAll(other.keyvs_);
            }
            onChanged();
          }
        } else {
          if (!other.keyvs_.isEmpty()) {
            if (keyvsBuilder_.isEmpty()) {
              keyvsBuilder_.dispose();
              keyvsBuilder_ = null;
              keyvs_ = other.keyvs_;
              bitField0_ = (bitField0_ & ~0x00000001);
              keyvsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getKeyvsFieldBuilder() : null;
            } else {
              keyvsBuilder_.addAllMessages(other.keyvs_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private int typeId_ ;
      /**
       * <pre>
       *活动类型ID
       * </pre>
       *
       * <code>int32 type_id = 1;</code>
       * @return The typeId.
       */
      public int getTypeId() {
        return typeId_;
      }
      /**
       * <pre>
       *活动类型ID
       * </pre>
       *
       * <code>int32 type_id = 1;</code>
       * @param value The typeId to set.
       * @return This builder for chaining.
       */
      public Builder setTypeId(int value) {
        
        typeId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *活动类型ID
       * </pre>
       *
       * <code>int32 type_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearTypeId() {
        
        typeId_ = 0;
        onChanged();
        return this;
      }

      private java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV> keyvs_ =
        java.util.Collections.emptyList();
      private void ensureKeyvsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          keyvs_ = new java.util.ArrayList<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV>(keyvs_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyVOrBuilder> keyvsBuilder_;

      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>repeated .pb.PbKeyV keyvs = 2;</code>
       */
      public java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV> getKeyvsList() {
        if (keyvsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(keyvs_);
        } else {
          return keyvsBuilder_.getMessageList();
        }
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>repeated .pb.PbKeyV keyvs = 2;</code>
       */
      public int getKeyvsCount() {
        if (keyvsBuilder_ == null) {
          return keyvs_.size();
        } else {
          return keyvsBuilder_.getCount();
        }
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>repeated .pb.PbKeyV keyvs = 2;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV getKeyvs(int index) {
        if (keyvsBuilder_ == null) {
          return keyvs_.get(index);
        } else {
          return keyvsBuilder_.getMessage(index);
        }
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>repeated .pb.PbKeyV keyvs = 2;</code>
       */
      public Builder setKeyvs(
          int index, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV value) {
        if (keyvsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureKeyvsIsMutable();
          keyvs_.set(index, value);
          onChanged();
        } else {
          keyvsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>repeated .pb.PbKeyV keyvs = 2;</code>
       */
      public Builder setKeyvs(
          int index, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder builderForValue) {
        if (keyvsBuilder_ == null) {
          ensureKeyvsIsMutable();
          keyvs_.set(index, builderForValue.build());
          onChanged();
        } else {
          keyvsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>repeated .pb.PbKeyV keyvs = 2;</code>
       */
      public Builder addKeyvs(pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV value) {
        if (keyvsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureKeyvsIsMutable();
          keyvs_.add(value);
          onChanged();
        } else {
          keyvsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>repeated .pb.PbKeyV keyvs = 2;</code>
       */
      public Builder addKeyvs(
          int index, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV value) {
        if (keyvsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureKeyvsIsMutable();
          keyvs_.add(index, value);
          onChanged();
        } else {
          keyvsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>repeated .pb.PbKeyV keyvs = 2;</code>
       */
      public Builder addKeyvs(
          pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder builderForValue) {
        if (keyvsBuilder_ == null) {
          ensureKeyvsIsMutable();
          keyvs_.add(builderForValue.build());
          onChanged();
        } else {
          keyvsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>repeated .pb.PbKeyV keyvs = 2;</code>
       */
      public Builder addKeyvs(
          int index, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder builderForValue) {
        if (keyvsBuilder_ == null) {
          ensureKeyvsIsMutable();
          keyvs_.add(index, builderForValue.build());
          onChanged();
        } else {
          keyvsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>repeated .pb.PbKeyV keyvs = 2;</code>
       */
      public Builder addAllKeyvs(
          java.lang.Iterable<? extends pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV> values) {
        if (keyvsBuilder_ == null) {
          ensureKeyvsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, keyvs_);
          onChanged();
        } else {
          keyvsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>repeated .pb.PbKeyV keyvs = 2;</code>
       */
      public Builder clearKeyvs() {
        if (keyvsBuilder_ == null) {
          keyvs_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          keyvsBuilder_.clear();
        }
        return this;
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>repeated .pb.PbKeyV keyvs = 2;</code>
       */
      public Builder removeKeyvs(int index) {
        if (keyvsBuilder_ == null) {
          ensureKeyvsIsMutable();
          keyvs_.remove(index);
          onChanged();
        } else {
          keyvsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>repeated .pb.PbKeyV keyvs = 2;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder getKeyvsBuilder(
          int index) {
        return getKeyvsFieldBuilder().getBuilder(index);
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>repeated .pb.PbKeyV keyvs = 2;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyVOrBuilder getKeyvsOrBuilder(
          int index) {
        if (keyvsBuilder_ == null) {
          return keyvs_.get(index);  } else {
          return keyvsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>repeated .pb.PbKeyV keyvs = 2;</code>
       */
      public java.util.List<? extends pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyVOrBuilder> 
           getKeyvsOrBuilderList() {
        if (keyvsBuilder_ != null) {
          return keyvsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(keyvs_);
        }
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>repeated .pb.PbKeyV keyvs = 2;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder addKeyvsBuilder() {
        return getKeyvsFieldBuilder().addBuilder(
            pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.getDefaultInstance());
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>repeated .pb.PbKeyV keyvs = 2;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder addKeyvsBuilder(
          int index) {
        return getKeyvsFieldBuilder().addBuilder(
            index, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.getDefaultInstance());
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>repeated .pb.PbKeyV keyvs = 2;</code>
       */
      public java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder> 
           getKeyvsBuilderList() {
        return getKeyvsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyVOrBuilder> 
          getKeyvsFieldBuilder() {
        if (keyvsBuilder_ == null) {
          keyvsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyVOrBuilder>(
                  keyvs_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          keyvs_ = null;
        }
        return keyvsBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


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

    // @@protoc_insertion_point(class_scope:pb.ZhiGouInfoResponse)
    private static final pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoResponse();
    }

    public static pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouInfoResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * <pre>
     *活动类型ID
     * </pre>
     *
     * <code>int32 type_id = 1;</code>
     * @return The typeId.
     */
    int getTypeId();

    /**
     * <pre>
     *限购信息
     * </pre>
     *
     * <code>.pb.PbKeyV keyvs = 2;</code>
     * @return Whether the keyvs field is set.
     */
    boolean hasKeyvs();
    /**
     * <pre>
     *限购信息
     * </pre>
     *
     * <code>.pb.PbKeyV keyvs = 2;</code>
     * @return The keyvs.
     */
    pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV getKeyvs();
    /**
     * <pre>
     *限购信息
     * </pre>
     *
     * <code>.pb.PbKeyV keyvs = 2;</code>
     */
    pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyVOrBuilder getKeyvsOrBuilder();
  }
  /**
   * <pre>
   *购买推送
   * </pre>
   *
   * Protobuf type {@code pb.ZhiGouBuyMessage}
   */
  public  static final class ZhiGouBuyMessage extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.ZhiGouBuyMessage)
      ZhiGouBuyMessageOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ZhiGouBuyMessage.newBuilder() to construct.
    private ZhiGouBuyMessage(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ZhiGouBuyMessage() {
    }

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

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

              typeId_ = input.readInt32();
              break;
            }
            case 18: {
              pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder subBuilder = null;
              if (keyvs_ != null) {
                subBuilder = keyvs_.toBuilder();
              }
              keyvs_ = input.readMessage(pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(keyvs_);
                keyvs_ = subBuilder.buildPartial();
              }

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

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_ZhiGouBuyMessage_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouBuyMessage.class, pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouBuyMessage.Builder.class);
    }

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

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


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

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

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

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

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

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

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

      private final int value;

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

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

    public static final int TYPE_ID_FIELD_NUMBER = 1;
    private int typeId_;
    /**
     * <pre>
     *活动类型ID
     * </pre>
     *
     * <code>int32 type_id = 1;</code>
     * @return The typeId.
     */
    public int getTypeId() {
      return typeId_;
    }

    public static final int KEYVS_FIELD_NUMBER = 2;
    private pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV keyvs_;
    /**
     * <pre>
     *限购信息
     * </pre>
     *
     * <code>.pb.PbKeyV keyvs = 2;</code>
     * @return Whether the keyvs field is set.
     */
    public boolean hasKeyvs() {
      return keyvs_ != null;
    }
    /**
     * <pre>
     *限购信息
     * </pre>
     *
     * <code>.pb.PbKeyV keyvs = 2;</code>
     * @return The keyvs.
     */
    public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV getKeyvs() {
      return keyvs_ == null ? pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.getDefaultInstance() : keyvs_;
    }
    /**
     * <pre>
     *限购信息
     * </pre>
     *
     * <code>.pb.PbKeyV keyvs = 2;</code>
     */
    public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyVOrBuilder getKeyvsOrBuilder() {
      return getKeyvs();
    }

    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 (typeId_ != 0) {
        output.writeInt32(1, typeId_);
      }
      if (keyvs_ != null) {
        output.writeMessage(2, getKeyvs());
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (typeId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, typeId_);
      }
      if (keyvs_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getKeyvs());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

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

      if (getTypeId()
          != other.getTypeId()) return false;
      if (hasKeyvs() != other.hasKeyvs()) return false;
      if (hasKeyvs()) {
        if (!getKeyvs()
            .equals(other.getKeyvs())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + TYPE_ID_FIELD_NUMBER;
      hash = (53 * hash) + getTypeId();
      if (hasKeyvs()) {
        hash = (37 * hash) + KEYVS_FIELD_NUMBER;
        hash = (53 * hash) + getKeyvs().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

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

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *购买推送
     * </pre>
     *
     * Protobuf type {@code pb.ZhiGouBuyMessage}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.ZhiGouBuyMessage)
        pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouBuyMessageOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_ZhiGouBuyMessage_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_ZhiGouBuyMessage_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouBuyMessage.class, pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouBuyMessage.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouBuyMessage.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();
        typeId_ = 0;

        if (keyvsBuilder_ == null) {
          keyvs_ = null;
        } else {
          keyvs_ = null;
          keyvsBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_ZhiGouBuyMessage_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouBuyMessage getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouBuyMessage.getDefaultInstance();
      }

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

      @java.lang.Override
      public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouBuyMessage buildPartial() {
        pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouBuyMessage result = new pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouBuyMessage(this);
        result.typeId_ = typeId_;
        if (keyvsBuilder_ == null) {
          result.keyvs_ = keyvs_;
        } else {
          result.keyvs_ = keyvsBuilder_.build();
        }
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouBuyMessage other) {
        if (other == pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouBuyMessage.getDefaultInstance()) return this;
        if (other.getTypeId() != 0) {
          setTypeId(other.getTypeId());
        }
        if (other.hasKeyvs()) {
          mergeKeyvs(other.getKeyvs());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private int typeId_ ;
      /**
       * <pre>
       *活动类型ID
       * </pre>
       *
       * <code>int32 type_id = 1;</code>
       * @return The typeId.
       */
      public int getTypeId() {
        return typeId_;
      }
      /**
       * <pre>
       *活动类型ID
       * </pre>
       *
       * <code>int32 type_id = 1;</code>
       * @param value The typeId to set.
       * @return This builder for chaining.
       */
      public Builder setTypeId(int value) {
        
        typeId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *活动类型ID
       * </pre>
       *
       * <code>int32 type_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearTypeId() {
        
        typeId_ = 0;
        onChanged();
        return this;
      }

      private pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV keyvs_;
      private com.google.protobuf.SingleFieldBuilderV3<
          pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyVOrBuilder> keyvsBuilder_;
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>.pb.PbKeyV keyvs = 2;</code>
       * @return Whether the keyvs field is set.
       */
      public boolean hasKeyvs() {
        return keyvsBuilder_ != null || keyvs_ != null;
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>.pb.PbKeyV keyvs = 2;</code>
       * @return The keyvs.
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV getKeyvs() {
        if (keyvsBuilder_ == null) {
          return keyvs_ == null ? pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.getDefaultInstance() : keyvs_;
        } else {
          return keyvsBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>.pb.PbKeyV keyvs = 2;</code>
       */
      public Builder setKeyvs(pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV value) {
        if (keyvsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          keyvs_ = value;
          onChanged();
        } else {
          keyvsBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>.pb.PbKeyV keyvs = 2;</code>
       */
      public Builder setKeyvs(
          pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder builderForValue) {
        if (keyvsBuilder_ == null) {
          keyvs_ = builderForValue.build();
          onChanged();
        } else {
          keyvsBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>.pb.PbKeyV keyvs = 2;</code>
       */
      public Builder mergeKeyvs(pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV value) {
        if (keyvsBuilder_ == null) {
          if (keyvs_ != null) {
            keyvs_ =
              pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.newBuilder(keyvs_).mergeFrom(value).buildPartial();
          } else {
            keyvs_ = value;
          }
          onChanged();
        } else {
          keyvsBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>.pb.PbKeyV keyvs = 2;</code>
       */
      public Builder clearKeyvs() {
        if (keyvsBuilder_ == null) {
          keyvs_ = null;
          onChanged();
        } else {
          keyvs_ = null;
          keyvsBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>.pb.PbKeyV keyvs = 2;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder getKeyvsBuilder() {
        
        onChanged();
        return getKeyvsFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>.pb.PbKeyV keyvs = 2;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyVOrBuilder getKeyvsOrBuilder() {
        if (keyvsBuilder_ != null) {
          return keyvsBuilder_.getMessageOrBuilder();
        } else {
          return keyvs_ == null ?
              pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.getDefaultInstance() : keyvs_;
        }
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>.pb.PbKeyV keyvs = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyVOrBuilder> 
          getKeyvsFieldBuilder() {
        if (keyvsBuilder_ == null) {
          keyvsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyVOrBuilder>(
                  getKeyvs(),
                  getParentForChildren(),
                  isClean());
          keyvs_ = null;
        }
        return keyvsBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


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

    // @@protoc_insertion_point(class_scope:pb.ZhiGouBuyMessage)
    private static final pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouBuyMessage DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouBuyMessage();
    }

    public static pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouBuyMessage getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouBuyMessage getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * <pre>
     *活动类型ID
     * </pre>
     *
     * <code>int32 type_id = 1;</code>
     * @return The typeId.
     */
    int getTypeId();
  }
  /**
   * <pre>
   *直购配置
   * </pre>
   *
   * Protobuf type {@code pb.ZhiGouCfgRequest}
   */
  public  static final class ZhiGouCfgRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.ZhiGouCfgRequest)
      ZhiGouCfgRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ZhiGouCfgRequest.newBuilder() to construct.
    private ZhiGouCfgRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ZhiGouCfgRequest() {
    }

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

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

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

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_ZhiGouCfgRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgRequest.class, pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgRequest.Builder.class);
    }

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

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


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

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

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

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

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

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

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

      private final int value;

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

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

    public static final int TYPE_ID_FIELD_NUMBER = 1;
    private int typeId_;
    /**
     * <pre>
     *活动类型ID
     * </pre>
     *
     * <code>int32 type_id = 1;</code>
     * @return The typeId.
     */
    public int getTypeId() {
      return typeId_;
    }

    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 (typeId_ != 0) {
        output.writeInt32(1, typeId_);
      }
      unknownFields.writeTo(output);
    }

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

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

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

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

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

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

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

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *直购配置
     * </pre>
     *
     * Protobuf type {@code pb.ZhiGouCfgRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.ZhiGouCfgRequest)
        pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_ZhiGouCfgRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_ZhiGouCfgRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgRequest.class, pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgRequest.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgRequest.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();
        typeId_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_ZhiGouCfgRequest_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgRequest getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgRequest.getDefaultInstance();
      }

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

      @java.lang.Override
      public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgRequest buildPartial() {
        pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgRequest result = new pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgRequest(this);
        result.typeId_ = typeId_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgRequest other) {
        if (other == pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgRequest.getDefaultInstance()) return this;
        if (other.getTypeId() != 0) {
          setTypeId(other.getTypeId());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private int typeId_ ;
      /**
       * <pre>
       *活动类型ID
       * </pre>
       *
       * <code>int32 type_id = 1;</code>
       * @return The typeId.
       */
      public int getTypeId() {
        return typeId_;
      }
      /**
       * <pre>
       *活动类型ID
       * </pre>
       *
       * <code>int32 type_id = 1;</code>
       * @param value The typeId to set.
       * @return This builder for chaining.
       */
      public Builder setTypeId(int value) {
        
        typeId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *活动类型ID
       * </pre>
       *
       * <code>int32 type_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearTypeId() {
        
        typeId_ = 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:pb.ZhiGouCfgRequest)
    }

    // @@protoc_insertion_point(class_scope:pb.ZhiGouCfgRequest)
    private static final pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgRequest();
    }

    public static pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * <pre>
     *活动类型ID
     * </pre>
     *
     * <code>int32 type_id = 1;</code>
     * @return The typeId.
     */
    int getTypeId();

    /**
     * <pre>
     * </pre>
     *
     * <code>repeated .pb.PbZhiGouCfg cfgs = 2;</code>
     */
    java.util.List<pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg> 
        getCfgsList();
    /**
     * <pre>
     * </pre>
     *
     * <code>repeated .pb.PbZhiGouCfg cfgs = 2;</code>
     */
    pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg getCfgs(int index);
    /**
     * <pre>
     * </pre>
     *
     * <code>repeated .pb.PbZhiGouCfg cfgs = 2;</code>
     */
    int getCfgsCount();
    /**
     * <pre>
     * </pre>
     *
     * <code>repeated .pb.PbZhiGouCfg cfgs = 2;</code>
     */
    java.util.List<? extends pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfgOrBuilder> 
        getCfgsOrBuilderList();
    /**
     * <pre>
     * </pre>
     *
     * <code>repeated .pb.PbZhiGouCfg cfgs = 2;</code>
     */
    pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfgOrBuilder getCfgsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code pb.ZhiGouCfgResponse}
   */
  public  static final class ZhiGouCfgResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.ZhiGouCfgResponse)
      ZhiGouCfgResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ZhiGouCfgResponse.newBuilder() to construct.
    private ZhiGouCfgResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ZhiGouCfgResponse() {
      cfgs_ = java.util.Collections.emptyList();
    }

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

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

              typeId_ = input.readInt32();
              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                cfgs_ = new java.util.ArrayList<pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg>();
                mutable_bitField0_ |= 0x00000001;
              }
              cfgs_.add(
                  input.readMessage(pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg.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)) {
          cfgs_ = java.util.Collections.unmodifiableList(cfgs_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_ZhiGouCfgResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_ZhiGouCfgResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgResponse.class, pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgResponse.Builder.class);
    }

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

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


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

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

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

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

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

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

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

      private final int value;

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

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

    public static final int TYPE_ID_FIELD_NUMBER = 1;
    private int typeId_;
    /**
     * <pre>
     *活动类型ID
     * </pre>
     *
     * <code>int32 type_id = 1;</code>
     * @return The typeId.
     */
    public int getTypeId() {
      return typeId_;
    }

    public static final int CFGS_FIELD_NUMBER = 2;
    private java.util.List<pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg> cfgs_;
    /**
     * <pre>
     * </pre>
     *
     * <code>repeated .pb.PbZhiGouCfg cfgs = 2;</code>
     */
    public java.util.List<pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg> getCfgsList() {
      return cfgs_;
    }
    /**
     * <pre>
     * </pre>
     *
     * <code>repeated .pb.PbZhiGouCfg cfgs = 2;</code>
     */
    public java.util.List<? extends pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfgOrBuilder> 
        getCfgsOrBuilderList() {
      return cfgs_;
    }
    /**
     * <pre>
     * </pre>
     *
     * <code>repeated .pb.PbZhiGouCfg cfgs = 2;</code>
     */
    public int getCfgsCount() {
      return cfgs_.size();
    }
    /**
     * <pre>
     * </pre>
     *
     * <code>repeated .pb.PbZhiGouCfg cfgs = 2;</code>
     */
    public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg getCfgs(int index) {
      return cfgs_.get(index);
    }
    /**
     * <pre>
     * </pre>
     *
     * <code>repeated .pb.PbZhiGouCfg cfgs = 2;</code>
     */
    public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfgOrBuilder getCfgsOrBuilder(
        int index) {
      return cfgs_.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 {
      if (typeId_ != 0) {
        output.writeInt32(1, typeId_);
      }
      for (int i = 0; i < cfgs_.size(); i++) {
        output.writeMessage(2, cfgs_.get(i));
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (typeId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, typeId_);
      }
      for (int i = 0; i < cfgs_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, cfgs_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

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

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

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + TYPE_ID_FIELD_NUMBER;
      hash = (53 * hash) + getTypeId();
      if (getCfgsCount() > 0) {
        hash = (37 * hash) + CFGS_FIELD_NUMBER;
        hash = (53 * hash) + getCfgsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

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

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

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_ZhiGouCfgResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgResponse.class, pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgResponse.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        if (cfgsBuilder_ == null) {
          cfgs_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          cfgsBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_ZhiGouCfgResponse_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgResponse getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgResponse.getDefaultInstance();
      }

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

      @java.lang.Override
      public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgResponse buildPartial() {
        pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgResponse result = new pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgResponse(this);
        int from_bitField0_ = bitField0_;
        result.typeId_ = typeId_;
        if (cfgsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            cfgs_ = java.util.Collections.unmodifiableList(cfgs_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.cfgs_ = cfgs_;
        } else {
          result.cfgs_ = cfgsBuilder_.build();
        }
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgResponse other) {
        if (other == pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgResponse.getDefaultInstance()) return this;
        if (other.getTypeId() != 0) {
          setTypeId(other.getTypeId());
        }
        if (cfgsBuilder_ == null) {
          if (!other.cfgs_.isEmpty()) {
            if (cfgs_.isEmpty()) {
              cfgs_ = other.cfgs_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureCfgsIsMutable();
              cfgs_.addAll(other.cfgs_);
            }
            onChanged();
          }
        } else {
          if (!other.cfgs_.isEmpty()) {
            if (cfgsBuilder_.isEmpty()) {
              cfgsBuilder_.dispose();
              cfgsBuilder_ = null;
              cfgs_ = other.cfgs_;
              bitField0_ = (bitField0_ & ~0x00000001);
              cfgsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getCfgsFieldBuilder() : null;
            } else {
              cfgsBuilder_.addAllMessages(other.cfgs_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private int typeId_ ;
      /**
       * <pre>
       *活动类型ID
       * </pre>
       *
       * <code>int32 type_id = 1;</code>
       * @return The typeId.
       */
      public int getTypeId() {
        return typeId_;
      }
      /**
       * <pre>
       *活动类型ID
       * </pre>
       *
       * <code>int32 type_id = 1;</code>
       * @param value The typeId to set.
       * @return This builder for chaining.
       */
      public Builder setTypeId(int value) {
        
        typeId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *活动类型ID
       * </pre>
       *
       * <code>int32 type_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearTypeId() {
        
        typeId_ = 0;
        onChanged();
        return this;
      }

      private java.util.List<pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg> cfgs_ =
        java.util.Collections.emptyList();
      private void ensureCfgsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          cfgs_ = new java.util.ArrayList<pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg>(cfgs_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg, pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg.Builder, pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfgOrBuilder> cfgsBuilder_;

      /**
       * <pre>
       * </pre>
       *
       * <code>repeated .pb.PbZhiGouCfg cfgs = 2;</code>
       */
      public java.util.List<pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg> getCfgsList() {
        if (cfgsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(cfgs_);
        } else {
          return cfgsBuilder_.getMessageList();
        }
      }
      /**
       * <pre>
       * </pre>
       *
       * <code>repeated .pb.PbZhiGouCfg cfgs = 2;</code>
       */
      public int getCfgsCount() {
        if (cfgsBuilder_ == null) {
          return cfgs_.size();
        } else {
          return cfgsBuilder_.getCount();
        }
      }
      /**
       * <pre>
       * </pre>
       *
       * <code>repeated .pb.PbZhiGouCfg cfgs = 2;</code>
       */
      public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg getCfgs(int index) {
        if (cfgsBuilder_ == null) {
          return cfgs_.get(index);
        } else {
          return cfgsBuilder_.getMessage(index);
        }
      }
      /**
       * <pre>
       * </pre>
       *
       * <code>repeated .pb.PbZhiGouCfg cfgs = 2;</code>
       */
      public Builder setCfgs(
          int index, pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg value) {
        if (cfgsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureCfgsIsMutable();
          cfgs_.set(index, value);
          onChanged();
        } else {
          cfgsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       * </pre>
       *
       * <code>repeated .pb.PbZhiGouCfg cfgs = 2;</code>
       */
      public Builder setCfgs(
          int index, pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg.Builder builderForValue) {
        if (cfgsBuilder_ == null) {
          ensureCfgsIsMutable();
          cfgs_.set(index, builderForValue.build());
          onChanged();
        } else {
          cfgsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       * </pre>
       *
       * <code>repeated .pb.PbZhiGouCfg cfgs = 2;</code>
       */
      public Builder addCfgs(pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg value) {
        if (cfgsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureCfgsIsMutable();
          cfgs_.add(value);
          onChanged();
        } else {
          cfgsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <pre>
       * </pre>
       *
       * <code>repeated .pb.PbZhiGouCfg cfgs = 2;</code>
       */
      public Builder addCfgs(
          int index, pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg value) {
        if (cfgsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureCfgsIsMutable();
          cfgs_.add(index, value);
          onChanged();
        } else {
          cfgsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       * </pre>
       *
       * <code>repeated .pb.PbZhiGouCfg cfgs = 2;</code>
       */
      public Builder addCfgs(
          pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg.Builder builderForValue) {
        if (cfgsBuilder_ == null) {
          ensureCfgsIsMutable();
          cfgs_.add(builderForValue.build());
          onChanged();
        } else {
          cfgsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       * </pre>
       *
       * <code>repeated .pb.PbZhiGouCfg cfgs = 2;</code>
       */
      public Builder addCfgs(
          int index, pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg.Builder builderForValue) {
        if (cfgsBuilder_ == null) {
          ensureCfgsIsMutable();
          cfgs_.add(index, builderForValue.build());
          onChanged();
        } else {
          cfgsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       * </pre>
       *
       * <code>repeated .pb.PbZhiGouCfg cfgs = 2;</code>
       */
      public Builder addAllCfgs(
          java.lang.Iterable<? extends pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg> values) {
        if (cfgsBuilder_ == null) {
          ensureCfgsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, cfgs_);
          onChanged();
        } else {
          cfgsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <pre>
       * </pre>
       *
       * <code>repeated .pb.PbZhiGouCfg cfgs = 2;</code>
       */
      public Builder clearCfgs() {
        if (cfgsBuilder_ == null) {
          cfgs_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          cfgsBuilder_.clear();
        }
        return this;
      }
      /**
       * <pre>
       * </pre>
       *
       * <code>repeated .pb.PbZhiGouCfg cfgs = 2;</code>
       */
      public Builder removeCfgs(int index) {
        if (cfgsBuilder_ == null) {
          ensureCfgsIsMutable();
          cfgs_.remove(index);
          onChanged();
        } else {
          cfgsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <pre>
       * </pre>
       *
       * <code>repeated .pb.PbZhiGouCfg cfgs = 2;</code>
       */
      public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg.Builder getCfgsBuilder(
          int index) {
        return getCfgsFieldBuilder().getBuilder(index);
      }
      /**
       * <pre>
       * </pre>
       *
       * <code>repeated .pb.PbZhiGouCfg cfgs = 2;</code>
       */
      public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfgOrBuilder getCfgsOrBuilder(
          int index) {
        if (cfgsBuilder_ == null) {
          return cfgs_.get(index);  } else {
          return cfgsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <pre>
       * </pre>
       *
       * <code>repeated .pb.PbZhiGouCfg cfgs = 2;</code>
       */
      public java.util.List<? extends pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfgOrBuilder> 
           getCfgsOrBuilderList() {
        if (cfgsBuilder_ != null) {
          return cfgsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(cfgs_);
        }
      }
      /**
       * <pre>
       * </pre>
       *
       * <code>repeated .pb.PbZhiGouCfg cfgs = 2;</code>
       */
      public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg.Builder addCfgsBuilder() {
        return getCfgsFieldBuilder().addBuilder(
            pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg.getDefaultInstance());
      }
      /**
       * <pre>
       * </pre>
       *
       * <code>repeated .pb.PbZhiGouCfg cfgs = 2;</code>
       */
      public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg.Builder addCfgsBuilder(
          int index) {
        return getCfgsFieldBuilder().addBuilder(
            index, pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg.getDefaultInstance());
      }
      /**
       * <pre>
       * </pre>
       *
       * <code>repeated .pb.PbZhiGouCfg cfgs = 2;</code>
       */
      public java.util.List<pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg.Builder> 
           getCfgsBuilderList() {
        return getCfgsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg, pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg.Builder, pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfgOrBuilder> 
          getCfgsFieldBuilder() {
        if (cfgsBuilder_ == null) {
          cfgsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg, pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg.Builder, pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfgOrBuilder>(
                  cfgs_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          cfgs_ = null;
        }
        return cfgsBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


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

    // @@protoc_insertion_point(class_scope:pb.ZhiGouCfgResponse)
    private static final pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgResponse();
    }

    public static pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouCfgResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * <pre>
     *活动类型ID
     * </pre>
     *
     * <code>int32 type_id = 1;</code>
     * @return The typeId.
     */
    int getTypeId();

    /**
     * <pre>
     *礼包ID
     * </pre>
     *
     * <code>int32 id = 2;</code>
     * @return The id.
     */
    int getId();
  }
  /**
   * <pre>
   *领取免费奖励
   * </pre>
   *
   * Protobuf type {@code pb.ZhiGouTakeFreeRequest}
   */
  public  static final class ZhiGouTakeFreeRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.ZhiGouTakeFreeRequest)
      ZhiGouTakeFreeRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ZhiGouTakeFreeRequest.newBuilder() to construct.
    private ZhiGouTakeFreeRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ZhiGouTakeFreeRequest() {
    }

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

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

              typeId_ = input.readInt32();
              break;
            }
            case 16: {

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

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_ZhiGouTakeFreeRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeRequest.class, pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeRequest.Builder.class);
    }

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

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


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

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

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

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

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

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

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

      private final int value;

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

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

    public static final int TYPE_ID_FIELD_NUMBER = 1;
    private int typeId_;
    /**
     * <pre>
     *活动类型ID
     * </pre>
     *
     * <code>int32 type_id = 1;</code>
     * @return The typeId.
     */
    public int getTypeId() {
      return typeId_;
    }

    public static final int ID_FIELD_NUMBER = 2;
    private int id_;
    /**
     * <pre>
     *礼包ID
     * </pre>
     *
     * <code>int32 id = 2;</code>
     * @return The id.
     */
    public int getId() {
      return id_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

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

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

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

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

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

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

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *领取免费奖励
     * </pre>
     *
     * Protobuf type {@code pb.ZhiGouTakeFreeRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.ZhiGouTakeFreeRequest)
        pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_ZhiGouTakeFreeRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_ZhiGouTakeFreeRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeRequest.class, pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeRequest.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeRequest.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();
        typeId_ = 0;

        id_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_ZhiGouTakeFreeRequest_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeRequest getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeRequest.getDefaultInstance();
      }

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

      @java.lang.Override
      public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeRequest buildPartial() {
        pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeRequest result = new pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeRequest(this);
        result.typeId_ = typeId_;
        result.id_ = id_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeRequest other) {
        if (other == pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeRequest.getDefaultInstance()) return this;
        if (other.getTypeId() != 0) {
          setTypeId(other.getTypeId());
        }
        if (other.getId() != 0) {
          setId(other.getId());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private int typeId_ ;
      /**
       * <pre>
       *活动类型ID
       * </pre>
       *
       * <code>int32 type_id = 1;</code>
       * @return The typeId.
       */
      public int getTypeId() {
        return typeId_;
      }
      /**
       * <pre>
       *活动类型ID
       * </pre>
       *
       * <code>int32 type_id = 1;</code>
       * @param value The typeId to set.
       * @return This builder for chaining.
       */
      public Builder setTypeId(int value) {
        
        typeId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *活动类型ID
       * </pre>
       *
       * <code>int32 type_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearTypeId() {
        
        typeId_ = 0;
        onChanged();
        return this;
      }

      private int id_ ;
      /**
       * <pre>
       *礼包ID
       * </pre>
       *
       * <code>int32 id = 2;</code>
       * @return The id.
       */
      public int getId() {
        return id_;
      }
      /**
       * <pre>
       *礼包ID
       * </pre>
       *
       * <code>int32 id = 2;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(int value) {
        
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *礼包ID
       * </pre>
       *
       * <code>int32 id = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        
        id_ = 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:pb.ZhiGouTakeFreeRequest)
    }

    // @@protoc_insertion_point(class_scope:pb.ZhiGouTakeFreeRequest)
    private static final pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeRequest();
    }

    public static pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * <pre>
     *活动类型ID
     * </pre>
     *
     * <code>int32 type_id = 1;</code>
     * @return The typeId.
     */
    int getTypeId();

    /**
     * <pre>
     *限购信息
     * </pre>
     *
     * <code>.pb.PbKeyV keyv = 2;</code>
     * @return Whether the keyv field is set.
     */
    boolean hasKeyv();
    /**
     * <pre>
     *限购信息
     * </pre>
     *
     * <code>.pb.PbKeyV keyv = 2;</code>
     * @return The keyv.
     */
    pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV getKeyv();
    /**
     * <pre>
     *限购信息
     * </pre>
     *
     * <code>.pb.PbKeyV keyv = 2;</code>
     */
    pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyVOrBuilder getKeyvOrBuilder();
  }
  /**
   * Protobuf type {@code pb.ZhiGouTakeFreeResponse}
   */
  public  static final class ZhiGouTakeFreeResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.ZhiGouTakeFreeResponse)
      ZhiGouTakeFreeResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ZhiGouTakeFreeResponse.newBuilder() to construct.
    private ZhiGouTakeFreeResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ZhiGouTakeFreeResponse() {
    }

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

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

              typeId_ = input.readInt32();
              break;
            }
            case 18: {
              pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder subBuilder = null;
              if (keyv_ != null) {
                subBuilder = keyv_.toBuilder();
              }
              keyv_ = input.readMessage(pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(keyv_);
                keyv_ = subBuilder.buildPartial();
              }

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

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_ZhiGouTakeFreeResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeResponse.class, pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeResponse.Builder.class);
    }

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

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


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

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

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

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

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

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

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

      private final int value;

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

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

    public static final int TYPE_ID_FIELD_NUMBER = 1;
    private int typeId_;
    /**
     * <pre>
     *活动类型ID
     * </pre>
     *
     * <code>int32 type_id = 1;</code>
     * @return The typeId.
     */
    public int getTypeId() {
      return typeId_;
    }

    public static final int KEYV_FIELD_NUMBER = 2;
    private pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV keyv_;
    /**
     * <pre>
     *限购信息
     * </pre>
     *
     * <code>.pb.PbKeyV keyv = 2;</code>
     * @return Whether the keyv field is set.
     */
    public boolean hasKeyv() {
      return keyv_ != null;
    }
    /**
     * <pre>
     *限购信息
     * </pre>
     *
     * <code>.pb.PbKeyV keyv = 2;</code>
     * @return The keyv.
     */
    public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV getKeyv() {
      return keyv_ == null ? pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.getDefaultInstance() : keyv_;
    }
    /**
     * <pre>
     *限购信息
     * </pre>
     *
     * <code>.pb.PbKeyV keyv = 2;</code>
     */
    public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyVOrBuilder getKeyvOrBuilder() {
      return getKeyv();
    }

    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 (typeId_ != 0) {
        output.writeInt32(1, typeId_);
      }
      if (keyv_ != null) {
        output.writeMessage(2, getKeyv());
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (typeId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, typeId_);
      }
      if (keyv_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getKeyv());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

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

      if (getTypeId()
          != other.getTypeId()) return false;
      if (hasKeyv() != other.hasKeyv()) return false;
      if (hasKeyv()) {
        if (!getKeyv()
            .equals(other.getKeyv())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + TYPE_ID_FIELD_NUMBER;
      hash = (53 * hash) + getTypeId();
      if (hasKeyv()) {
        hash = (37 * hash) + KEYV_FIELD_NUMBER;
        hash = (53 * hash) + getKeyv().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

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

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

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_ZhiGouTakeFreeResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeResponse.class, pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeResponse.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeResponse.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();
        typeId_ = 0;

        if (keyvBuilder_ == null) {
          keyv_ = null;
        } else {
          keyv_ = null;
          keyvBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_ZhiGouTakeFreeResponse_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeResponse getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeResponse.getDefaultInstance();
      }

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

      @java.lang.Override
      public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeResponse buildPartial() {
        pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeResponse result = new pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeResponse(this);
        result.typeId_ = typeId_;
        if (keyvBuilder_ == null) {
          result.keyv_ = keyv_;
        } else {
          result.keyv_ = keyvBuilder_.build();
        }
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeResponse other) {
        if (other == pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeResponse.getDefaultInstance()) return this;
        if (other.getTypeId() != 0) {
          setTypeId(other.getTypeId());
        }
        if (other.hasKeyv()) {
          mergeKeyv(other.getKeyv());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

      private int typeId_ ;
      /**
       * <pre>
       *活动类型ID
       * </pre>
       *
       * <code>int32 type_id = 1;</code>
       * @return The typeId.
       */
      public int getTypeId() {
        return typeId_;
      }
      /**
       * <pre>
       *活动类型ID
       * </pre>
       *
       * <code>int32 type_id = 1;</code>
       * @param value The typeId to set.
       * @return This builder for chaining.
       */
      public Builder setTypeId(int value) {
        
        typeId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *活动类型ID
       * </pre>
       *
       * <code>int32 type_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearTypeId() {
        
        typeId_ = 0;
        onChanged();
        return this;
      }

      private pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV keyv_;
      private com.google.protobuf.SingleFieldBuilderV3<
          pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyVOrBuilder> keyvBuilder_;
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>.pb.PbKeyV keyv = 2;</code>
       * @return Whether the keyv field is set.
       */
      public boolean hasKeyv() {
        return keyvBuilder_ != null || keyv_ != null;
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>.pb.PbKeyV keyv = 2;</code>
       * @return The keyv.
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV getKeyv() {
        if (keyvBuilder_ == null) {
          return keyv_ == null ? pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.getDefaultInstance() : keyv_;
        } else {
          return keyvBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>.pb.PbKeyV keyv = 2;</code>
       */
      public Builder setKeyv(pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV value) {
        if (keyvBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          keyv_ = value;
          onChanged();
        } else {
          keyvBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>.pb.PbKeyV keyv = 2;</code>
       */
      public Builder setKeyv(
          pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder builderForValue) {
        if (keyvBuilder_ == null) {
          keyv_ = builderForValue.build();
          onChanged();
        } else {
          keyvBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>.pb.PbKeyV keyv = 2;</code>
       */
      public Builder mergeKeyv(pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV value) {
        if (keyvBuilder_ == null) {
          if (keyv_ != null) {
            keyv_ =
              pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.newBuilder(keyv_).mergeFrom(value).buildPartial();
          } else {
            keyv_ = value;
          }
          onChanged();
        } else {
          keyvBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>.pb.PbKeyV keyv = 2;</code>
       */
      public Builder clearKeyv() {
        if (keyvBuilder_ == null) {
          keyv_ = null;
          onChanged();
        } else {
          keyv_ = null;
          keyvBuilder_ = null;
        }

        return this;
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>.pb.PbKeyV keyv = 2;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder getKeyvBuilder() {
        
        onChanged();
        return getKeyvFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>.pb.PbKeyV keyv = 2;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyVOrBuilder getKeyvOrBuilder() {
        if (keyvBuilder_ != null) {
          return keyvBuilder_.getMessageOrBuilder();
        } else {
          return keyv_ == null ?
              pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.getDefaultInstance() : keyv_;
        }
      }
      /**
       * <pre>
       *限购信息
       * </pre>
       *
       * <code>.pb.PbKeyV keyv = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyVOrBuilder> 
          getKeyvFieldBuilder() {
        if (keyvBuilder_ == null) {
          keyvBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyV.Builder, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbKeyVOrBuilder>(
                  getKeyv(),
                  getParentForChildren(),
                  isClean());
          keyv_ = null;
        }
        return keyvBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


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

    // @@protoc_insertion_point(class_scope:pb.ZhiGouTakeFreeResponse)
    private static final pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeResponse();
    }

    public static pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.ZhiGouTakeFreeResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * <pre>
     *礼包ID
     * </pre>
     *
     * <code>int32 id = 1;</code>
     * @return The id.
     */
    int getId();

    /**
     * <code>int32 charge_product_id = 2;</code>
     * @return The chargeProductId.
     */
    int getChargeProductId();

    /**
     * <code>repeated .pb.PbItem diff_reward = 3;</code>
     */
    java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem> 
        getDiffRewardList();
    /**
     * <code>repeated .pb.PbItem diff_reward = 3;</code>
     */
    pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem getDiffReward(int index);
    /**
     * <code>repeated .pb.PbItem diff_reward = 3;</code>
     */
    int getDiffRewardCount();
    /**
     * <code>repeated .pb.PbItem diff_reward = 3;</code>
     */
    java.util.List<? extends pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItemOrBuilder> 
        getDiffRewardOrBuilderList();
    /**
     * <code>repeated .pb.PbItem diff_reward = 3;</code>
     */
    pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItemOrBuilder getDiffRewardOrBuilder(
        int index);

    /**
     * <code>int32 limit_type = 4;</code>
     * @return The limitType.
     */
    int getLimitType();

    /**
     * <code>int32 limit_num = 5;</code>
     * @return The limitNum.
     */
    int getLimitNum();
  }
  /**
   * Protobuf type {@code pb.PbZhiGouCfg}
   */
  public  static final class PbZhiGouCfg extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.PbZhiGouCfg)
      PbZhiGouCfgOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PbZhiGouCfg.newBuilder() to construct.
    private PbZhiGouCfg(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PbZhiGouCfg() {
      diffReward_ = java.util.Collections.emptyList();
    }

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

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

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

              chargeProductId_ = input.readInt32();
              break;
            }
            case 26: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                diffReward_ = new java.util.ArrayList<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem>();
                mutable_bitField0_ |= 0x00000001;
              }
              diffReward_.add(
                  input.readMessage(pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem.parser(), extensionRegistry));
              break;
            }
            case 32: {

              limitType_ = input.readInt32();
              break;
            }
            case 40: {

              limitNum_ = input.readInt32();
              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)) {
          diffReward_ = java.util.Collections.unmodifiableList(diffReward_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_PbZhiGouCfg_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_PbZhiGouCfg_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg.class, pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg.Builder.class);
    }

    public static final int ID_FIELD_NUMBER = 1;
    private int id_;
    /**
     * <pre>
     *礼包ID
     * </pre>
     *
     * <code>int32 id = 1;</code>
     * @return The id.
     */
    public int getId() {
      return id_;
    }

    public static final int CHARGE_PRODUCT_ID_FIELD_NUMBER = 2;
    private int chargeProductId_;
    /**
     * <code>int32 charge_product_id = 2;</code>
     * @return The chargeProductId.
     */
    public int getChargeProductId() {
      return chargeProductId_;
    }

    public static final int DIFF_REWARD_FIELD_NUMBER = 3;
    private java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem> diffReward_;
    /**
     * <code>repeated .pb.PbItem diff_reward = 3;</code>
     */
    public java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem> getDiffRewardList() {
      return diffReward_;
    }
    /**
     * <code>repeated .pb.PbItem diff_reward = 3;</code>
     */
    public java.util.List<? extends pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItemOrBuilder> 
        getDiffRewardOrBuilderList() {
      return diffReward_;
    }
    /**
     * <code>repeated .pb.PbItem diff_reward = 3;</code>
     */
    public int getDiffRewardCount() {
      return diffReward_.size();
    }
    /**
     * <code>repeated .pb.PbItem diff_reward = 3;</code>
     */
    public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem getDiffReward(int index) {
      return diffReward_.get(index);
    }
    /**
     * <code>repeated .pb.PbItem diff_reward = 3;</code>
     */
    public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItemOrBuilder getDiffRewardOrBuilder(
        int index) {
      return diffReward_.get(index);
    }

    public static final int LIMIT_TYPE_FIELD_NUMBER = 4;
    private int limitType_;
    /**
     * <code>int32 limit_type = 4;</code>
     * @return The limitType.
     */
    public int getLimitType() {
      return limitType_;
    }

    public static final int LIMIT_NUM_FIELD_NUMBER = 5;
    private int limitNum_;
    /**
     * <code>int32 limit_num = 5;</code>
     * @return The limitNum.
     */
    public int getLimitNum() {
      return limitNum_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (id_ != 0) {
        output.writeInt32(1, id_);
      }
      if (chargeProductId_ != 0) {
        output.writeInt32(2, chargeProductId_);
      }
      for (int i = 0; i < diffReward_.size(); i++) {
        output.writeMessage(3, diffReward_.get(i));
      }
      if (limitType_ != 0) {
        output.writeInt32(4, limitType_);
      }
      if (limitNum_ != 0) {
        output.writeInt32(5, limitNum_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (id_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, id_);
      }
      if (chargeProductId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, chargeProductId_);
      }
      for (int i = 0; i < diffReward_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, diffReward_.get(i));
      }
      if (limitType_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(4, limitType_);
      }
      if (limitNum_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(5, limitNum_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

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

      if (getId()
          != other.getId()) return false;
      if (getChargeProductId()
          != other.getChargeProductId()) return false;
      if (!getDiffRewardList()
          .equals(other.getDiffRewardList())) return false;
      if (getLimitType()
          != other.getLimitType()) return false;
      if (getLimitNum()
          != other.getLimitNum()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + getId();
      hash = (37 * hash) + CHARGE_PRODUCT_ID_FIELD_NUMBER;
      hash = (53 * hash) + getChargeProductId();
      if (getDiffRewardCount() > 0) {
        hash = (37 * hash) + DIFF_REWARD_FIELD_NUMBER;
        hash = (53 * hash) + getDiffRewardList().hashCode();
      }
      hash = (37 * hash) + LIMIT_TYPE_FIELD_NUMBER;
      hash = (53 * hash) + getLimitType();
      hash = (37 * hash) + LIMIT_NUM_FIELD_NUMBER;
      hash = (53 * hash) + getLimitNum();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

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

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

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_PbZhiGouCfg_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg.class, pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

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

        chargeProductId_ = 0;

        if (diffRewardBuilder_ == null) {
          diffReward_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          diffRewardBuilder_.clear();
        }
        limitType_ = 0;

        limitNum_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.internal_static_pb_PbZhiGouCfg_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg.getDefaultInstance();
      }

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

      @java.lang.Override
      public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg buildPartial() {
        pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg result = new pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg(this);
        int from_bitField0_ = bitField0_;
        result.id_ = id_;
        result.chargeProductId_ = chargeProductId_;
        if (diffRewardBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            diffReward_ = java.util.Collections.unmodifiableList(diffReward_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.diffReward_ = diffReward_;
        } else {
          result.diffReward_ = diffRewardBuilder_.build();
        }
        result.limitType_ = limitType_;
        result.limitNum_ = limitNum_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg other) {
        if (other == pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg.getDefaultInstance()) return this;
        if (other.getId() != 0) {
          setId(other.getId());
        }
        if (other.getChargeProductId() != 0) {
          setChargeProductId(other.getChargeProductId());
        }
        if (diffRewardBuilder_ == null) {
          if (!other.diffReward_.isEmpty()) {
            if (diffReward_.isEmpty()) {
              diffReward_ = other.diffReward_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureDiffRewardIsMutable();
              diffReward_.addAll(other.diffReward_);
            }
            onChanged();
          }
        } else {
          if (!other.diffReward_.isEmpty()) {
            if (diffRewardBuilder_.isEmpty()) {
              diffRewardBuilder_.dispose();
              diffRewardBuilder_ = null;
              diffReward_ = other.diffReward_;
              bitField0_ = (bitField0_ & ~0x00000001);
              diffRewardBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getDiffRewardFieldBuilder() : null;
            } else {
              diffRewardBuilder_.addAllMessages(other.diffReward_);
            }
          }
        }
        if (other.getLimitType() != 0) {
          setLimitType(other.getLimitType());
        }
        if (other.getLimitNum() != 0) {
          setLimitNum(other.getLimitNum());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

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

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

      private int chargeProductId_ ;
      /**
       * <code>int32 charge_product_id = 2;</code>
       * @return The chargeProductId.
       */
      public int getChargeProductId() {
        return chargeProductId_;
      }
      /**
       * <code>int32 charge_product_id = 2;</code>
       * @param value The chargeProductId to set.
       * @return This builder for chaining.
       */
      public Builder setChargeProductId(int value) {
        
        chargeProductId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int32 charge_product_id = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearChargeProductId() {
        
        chargeProductId_ = 0;
        onChanged();
        return this;
      }

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

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

      /**
       * <code>repeated .pb.PbItem diff_reward = 3;</code>
       */
      public java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem> getDiffRewardList() {
        if (diffRewardBuilder_ == null) {
          return java.util.Collections.unmodifiableList(diffReward_);
        } else {
          return diffRewardBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .pb.PbItem diff_reward = 3;</code>
       */
      public int getDiffRewardCount() {
        if (diffRewardBuilder_ == null) {
          return diffReward_.size();
        } else {
          return diffRewardBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .pb.PbItem diff_reward = 3;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem getDiffReward(int index) {
        if (diffRewardBuilder_ == null) {
          return diffReward_.get(index);
        } else {
          return diffRewardBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .pb.PbItem diff_reward = 3;</code>
       */
      public Builder setDiffReward(
          int index, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem value) {
        if (diffRewardBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDiffRewardIsMutable();
          diffReward_.set(index, value);
          onChanged();
        } else {
          diffRewardBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .pb.PbItem diff_reward = 3;</code>
       */
      public Builder setDiffReward(
          int index, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem.Builder builderForValue) {
        if (diffRewardBuilder_ == null) {
          ensureDiffRewardIsMutable();
          diffReward_.set(index, builderForValue.build());
          onChanged();
        } else {
          diffRewardBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .pb.PbItem diff_reward = 3;</code>
       */
      public Builder addDiffReward(pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem value) {
        if (diffRewardBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDiffRewardIsMutable();
          diffReward_.add(value);
          onChanged();
        } else {
          diffRewardBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .pb.PbItem diff_reward = 3;</code>
       */
      public Builder addDiffReward(
          int index, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem value) {
        if (diffRewardBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDiffRewardIsMutable();
          diffReward_.add(index, value);
          onChanged();
        } else {
          diffRewardBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .pb.PbItem diff_reward = 3;</code>
       */
      public Builder addDiffReward(
          pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem.Builder builderForValue) {
        if (diffRewardBuilder_ == null) {
          ensureDiffRewardIsMutable();
          diffReward_.add(builderForValue.build());
          onChanged();
        } else {
          diffRewardBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .pb.PbItem diff_reward = 3;</code>
       */
      public Builder addDiffReward(
          int index, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem.Builder builderForValue) {
        if (diffRewardBuilder_ == null) {
          ensureDiffRewardIsMutable();
          diffReward_.add(index, builderForValue.build());
          onChanged();
        } else {
          diffRewardBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .pb.PbItem diff_reward = 3;</code>
       */
      public Builder addAllDiffReward(
          java.lang.Iterable<? extends pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem> values) {
        if (diffRewardBuilder_ == null) {
          ensureDiffRewardIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, diffReward_);
          onChanged();
        } else {
          diffRewardBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .pb.PbItem diff_reward = 3;</code>
       */
      public Builder clearDiffReward() {
        if (diffRewardBuilder_ == null) {
          diffReward_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          diffRewardBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .pb.PbItem diff_reward = 3;</code>
       */
      public Builder removeDiffReward(int index) {
        if (diffRewardBuilder_ == null) {
          ensureDiffRewardIsMutable();
          diffReward_.remove(index);
          onChanged();
        } else {
          diffRewardBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .pb.PbItem diff_reward = 3;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem.Builder getDiffRewardBuilder(
          int index) {
        return getDiffRewardFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .pb.PbItem diff_reward = 3;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItemOrBuilder getDiffRewardOrBuilder(
          int index) {
        if (diffRewardBuilder_ == null) {
          return diffReward_.get(index);  } else {
          return diffRewardBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .pb.PbItem diff_reward = 3;</code>
       */
      public java.util.List<? extends pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItemOrBuilder> 
           getDiffRewardOrBuilderList() {
        if (diffRewardBuilder_ != null) {
          return diffRewardBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(diffReward_);
        }
      }
      /**
       * <code>repeated .pb.PbItem diff_reward = 3;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem.Builder addDiffRewardBuilder() {
        return getDiffRewardFieldBuilder().addBuilder(
            pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem.getDefaultInstance());
      }
      /**
       * <code>repeated .pb.PbItem diff_reward = 3;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem.Builder addDiffRewardBuilder(
          int index) {
        return getDiffRewardFieldBuilder().addBuilder(
            index, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem.getDefaultInstance());
      }
      /**
       * <code>repeated .pb.PbItem diff_reward = 3;</code>
       */
      public java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem.Builder> 
           getDiffRewardBuilderList() {
        return getDiffRewardFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem.Builder, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItemOrBuilder> 
          getDiffRewardFieldBuilder() {
        if (diffRewardBuilder_ == null) {
          diffRewardBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItem.Builder, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbItemOrBuilder>(
                  diffReward_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          diffReward_ = null;
        }
        return diffRewardBuilder_;
      }

      private int limitType_ ;
      /**
       * <code>int32 limit_type = 4;</code>
       * @return The limitType.
       */
      public int getLimitType() {
        return limitType_;
      }
      /**
       * <code>int32 limit_type = 4;</code>
       * @param value The limitType to set.
       * @return This builder for chaining.
       */
      public Builder setLimitType(int value) {
        
        limitType_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int32 limit_type = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearLimitType() {
        
        limitType_ = 0;
        onChanged();
        return this;
      }

      private int limitNum_ ;
      /**
       * <code>int32 limit_num = 5;</code>
       * @return The limitNum.
       */
      public int getLimitNum() {
        return limitNum_;
      }
      /**
       * <code>int32 limit_num = 5;</code>
       * @param value The limitNum to set.
       * @return This builder for chaining.
       */
      public Builder setLimitNum(int value) {
        
        limitNum_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int32 limit_num = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearLimitNum() {
        
        limitNum_ = 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:pb.PbZhiGouCfg)
    }

    // @@protoc_insertion_point(class_scope:pb.PbZhiGouCfg)
    private static final pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg();
    }

    public static pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    @java.lang.Override
    public pb.xiugou.x1.protobuf.promotion.P1009ZhiGou.PbZhiGouCfg getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_ZhiGouInfoRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_ZhiGouInfoRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_ZhiGouInfoResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_ZhiGouInfoResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_ZhiGouBuyMessage_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_ZhiGouBuyMessage_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_ZhiGouCfgRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_ZhiGouCfgRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_ZhiGouCfgResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_ZhiGouCfgResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_ZhiGouTakeFreeRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_ZhiGouTakeFreeRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_ZhiGouTakeFreeResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_ZhiGouTakeFreeResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_PbZhiGouCfg_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_PbZhiGouCfg_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\021P1009ZhiGou.proto\022\002pb\032\020MiniStruct.prot" +
      "o\"E\n\021ZhiGouInfoRequest\022\017\n\007type_id\030\001 \001(\005\"" +
      "\037\n\005Proto\022\013\n\007UNKNOWN\020\000\022\t\n\002ID\020\245\235\200\001\"a\n\022ZhiG" +
      "ouInfoResponse\022\017\n\007type_id\030\001 \001(\005\022\031\n\005keyvs" +
      "\030\002 \003(\0132\n.pb.PbKeyV\"\037\n\005Proto\022\013\n\007UNKNOWN\020\000" +
      "\022\t\n\002ID\020\245\235\200\001\"_\n\020ZhiGouBuyMessage\022\017\n\007type_" +
      "id\030\001 \001(\005\022\031\n\005keyvs\030\002 \001(\0132\n.pb.PbKeyV\"\037\n\005P" +
      "roto\022\013\n\007UNKNOWN\020\000\022\t\n\002ID\020\246\235\200\001\"D\n\020ZhiGouCf" +
      "gRequest\022\017\n\007type_id\030\001 \001(\005\"\037\n\005Proto\022\013\n\007UN" +
      "KNOWN\020\000\022\t\n\002ID\020\247\235\200\001\"d\n\021ZhiGouCfgResponse\022" +
      "\017\n\007type_id\030\001 \001(\005\022\035\n\004cfgs\030\002 \003(\0132\017.pb.PbZh" +
      "iGouCfg\"\037\n\005Proto\022\013\n\007UNKNOWN\020\000\022\t\n\002ID\020\247\235\200\001" +
      "\"U\n\025ZhiGouTakeFreeRequest\022\017\n\007type_id\030\001 \001" +
      "(\005\022\n\n\002id\030\002 \001(\005\"\037\n\005Proto\022\013\n\007UNKNOWN\020\000\022\t\n\002" +
      "ID\020\250\235\200\001\"d\n\026ZhiGouTakeFreeResponse\022\017\n\007typ" +
      "e_id\030\001 \001(\005\022\030\n\004keyv\030\002 \001(\0132\n.pb.PbKeyV\"\037\n\005" +
      "Proto\022\013\n\007UNKNOWN\020\000\022\t\n\002ID\020\250\235\200\001\"|\n\013PbZhiGo" +
      "uCfg\022\n\n\002id\030\001 \001(\005\022\031\n\021charge_product_id\030\002 " +
      "\001(\005\022\037\n\013diff_reward\030\003 \003(\0132\n.pb.PbItem\022\022\n\n" +
      "limit_type\030\004 \001(\005\022\021\n\tlimit_num\030\005 \001(\005B9\n\037p" +
      "b.xiugou.x1.protobuf.promotion\252\002\025pb.xiug" +
      "ou.x1.protobufb\006proto3"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          pb.xiugou.x1.protobuf.ministruct.MiniStruct.getDescriptor(),
        });
    internal_static_pb_ZhiGouInfoRequest_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_pb_ZhiGouInfoRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_ZhiGouInfoRequest_descriptor,
        new java.lang.String[] { "TypeId", });
    internal_static_pb_ZhiGouInfoResponse_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_pb_ZhiGouInfoResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_ZhiGouInfoResponse_descriptor,
        new java.lang.String[] { "TypeId", "Keyvs", });
    internal_static_pb_ZhiGouBuyMessage_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_pb_ZhiGouBuyMessage_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_ZhiGouBuyMessage_descriptor,
        new java.lang.String[] { "TypeId", "Keyvs", });
    internal_static_pb_ZhiGouCfgRequest_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_pb_ZhiGouCfgRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_ZhiGouCfgRequest_descriptor,
        new java.lang.String[] { "TypeId", });
    internal_static_pb_ZhiGouCfgResponse_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_pb_ZhiGouCfgResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_ZhiGouCfgResponse_descriptor,
        new java.lang.String[] { "TypeId", "Cfgs", });
    internal_static_pb_ZhiGouTakeFreeRequest_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_pb_ZhiGouTakeFreeRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_ZhiGouTakeFreeRequest_descriptor,
        new java.lang.String[] { "TypeId", "Id", });
    internal_static_pb_ZhiGouTakeFreeResponse_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_pb_ZhiGouTakeFreeResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_ZhiGouTakeFreeResponse_descriptor,
        new java.lang.String[] { "TypeId", "Keyv", });
    internal_static_pb_PbZhiGouCfg_descriptor =
      getDescriptor().getMessageTypes().get(7);
    internal_static_pb_PbZhiGouCfg_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_PbZhiGouCfg_descriptor,
        new java.lang.String[] { "Id", "ChargeProductId", "DiffReward", "LimitType", "LimitNum", });
    pb.xiugou.x1.protobuf.ministruct.MiniStruct.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}
