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

package com.alibaba.fastjson2.dubbo;

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

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  /**
   * Protobuf enum {@code com.alibaba.fastjson2.dubbo.LEVEL}
   */
  public enum LEVEL
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * <code>C1 = 0;</code>
     */
    C1(0),
    /**
     * <code>C2 = 1;</code>
     */
    C2(1),
    /**
     * <code>C3 = 2;</code>
     */
    C3(2),
    UNRECOGNIZED(-1),
    ;

    /**
     * <code>C1 = 0;</code>
     */
    public static final int C1_VALUE = 0;
    /**
     * <code>C2 = 1;</code>
     */
    public static final int C2_VALUE = 1;
    /**
     * <code>C3 = 2;</code>
     */
    public static final int C3_VALUE = 2;


    public final int getNumber() {
      if (this == UNRECOGNIZED) {
        throw new 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.
     */
    @Deprecated
    public static LEVEL 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 LEVEL forNumber(int value) {
      switch (value) {
        case 0: return C1;
        case 1: return C2;
        case 2: return C3;
        default: return null;
      }
    }

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

    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      if (this == UNRECOGNIZED) {
        throw new IllegalStateException(
            "Can't get the descriptor of an unrecognized enum value.");
      }
      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 GoogleProtobufBasic.getDescriptor().getEnumTypes().get(0);
    }

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

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

    private final int value;

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

    // @@protoc_insertion_point(enum_scope:com.alibaba.fastjson2.dubbo.LEVEL)
  }

  public interface GooglePBRequestTypeOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.alibaba.fastjson2.dubbo.GooglePBRequestType)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>double double = 1;</code>
     * @return The double.
     */
    double getDouble();

    /**
     * <code>float float = 2;</code>
     * @return The float.
     */
    float getFloat();

    /**
     * <code>int32 int32 = 3;</code>
     * @return The int32.
     */
    int getInt32();

    /**
     * <code>int64 int64 = 4;</code>
     * @return The int64.
     */
    long getInt64();

    /**
     * <code>uint32 uint32 = 5;</code>
     * @return The uint32.
     */
    int getUint32();

    /**
     * <code>uint64 uint64 = 6;</code>
     * @return The uint64.
     */
    long getUint64();

    /**
     * <code>sint32 sint32 = 7;</code>
     * @return The sint32.
     */
    int getSint32();

    /**
     * <code>sint64 sint64 = 8;</code>
     * @return The sint64.
     */
    long getSint64();

    /**
     * <code>fixed32 fixed32 = 9;</code>
     * @return The fixed32.
     */
    int getFixed32();

    /**
     * <code>fixed64 fixed64 = 10;</code>
     * @return The fixed64.
     */
    long getFixed64();

    /**
     * <code>sfixed32 sfixed32 = 11;</code>
     * @return The sfixed32.
     */
    int getSfixed32();

    /**
     * <code>sfixed64 sfixed64 = 12;</code>
     * @return The sfixed64.
     */
    long getSfixed64();

    /**
     * <code>bool bool = 13;</code>
     * @return The bool.
     */
    boolean getBool();

    /**
     * <code>string string = 14;</code>
     * @return The string.
     */
    String getString();
    /**
     * <code>string string = 14;</code>
     * @return The bytes for string.
     */
    com.google.protobuf.ByteString
        getStringBytes();

    /**
     * <code>bytes bytesType = 15;</code>
     * @return The bytesType.
     */
    com.google.protobuf.ByteString getBytesType();

    /**
     * <code>.com.alibaba.fastjson2.dubbo.DriverCard card = 16;</code>
     * @return Whether the card field is set.
     */
    boolean hasCard();
    /**
     * <code>.com.alibaba.fastjson2.dubbo.DriverCard card = 16;</code>
     * @return The card.
     */
    DriverCard getCard();
    /**
     * <code>.com.alibaba.fastjson2.dubbo.DriverCard card = 16;</code>
     */
    DriverCardOrBuilder getCardOrBuilder();

    /**
     * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
     */
    java.util.List<DriverCard>
        getCardsList();
    /**
     * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
     */
    DriverCard getCards(int index);
    /**
     * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
     */
    int getCardsCount();
    /**
     * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
     */
    java.util.List<? extends DriverCardOrBuilder>
        getCardsOrBuilderList();
    /**
     * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
     */
    DriverCardOrBuilder getCardsOrBuilder(
        int index);

    /**
     * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
     */
    int getCardsmapCount();
    /**
     * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
     */
    boolean containsCardsmap(
        String key);
    /**
     * Use {@link #getCardsmapMap()} instead.
     */
    @Deprecated
    java.util.Map<String, DriverCard>
    getCardsmap();
    /**
     * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
     */
    java.util.Map<String, DriverCard>
    getCardsmapMap();
    /**
     * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
     */

    /* nullable */
DriverCard getCardsmapOrDefault(
        String key,
        /* nullable */
DriverCard defaultValue);
    /**
     * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
     */

    DriverCard getCardsmapOrThrow(
        String key);
  }
  /**
   * Protobuf type {@code com.alibaba.fastjson2.dubbo.GooglePBRequestType}
   */
  public static final class GooglePBRequestType extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.alibaba.fastjson2.dubbo.GooglePBRequestType)
      GooglePBRequestTypeOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use GooglePBRequestType.newBuilder() to construct.
    private GooglePBRequestType(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private GooglePBRequestType() {
      string_ = "";
      bytesType_ = com.google.protobuf.ByteString.EMPTY;
      cards_ = java.util.Collections.emptyList();
    }

    @Override
    @SuppressWarnings({"unused"})
    protected Object newInstance(
        UnusedPrivateParameter unused) {
      return new GooglePBRequestType();
    }

    @Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return GoogleProtobufBasic.internal_static_com_alibaba_fastjson2_dubbo_GooglePBRequestType_descriptor;
    }

    @SuppressWarnings({"rawtypes"})
    @Override
    protected com.google.protobuf.MapField internalGetMapField(
        int number) {
      switch (number) {
        case 18:
          return internalGetCardsmap();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    @Override
    protected FieldAccessorTable
        internalGetFieldAccessorTable() {
      return GoogleProtobufBasic.internal_static_com_alibaba_fastjson2_dubbo_GooglePBRequestType_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              GooglePBRequestType.class, Builder.class);
    }

    public static final int DOUBLE_FIELD_NUMBER = 1;
    private double double_;
    /**
     * <code>double double = 1;</code>
     * @return The double.
     */
    @Override
    public double getDouble() {
      return double_;
    }

    public static final int FLOAT_FIELD_NUMBER = 2;
    private float float_;
    /**
     * <code>float float = 2;</code>
     * @return The float.
     */
    @Override
    public float getFloat() {
      return float_;
    }

    public static final int INT32_FIELD_NUMBER = 3;
    private int int32_;
    /**
     * <code>int32 int32 = 3;</code>
     * @return The int32.
     */
    @Override
    public int getInt32() {
      return int32_;
    }

    public static final int INT64_FIELD_NUMBER = 4;
    private long int64_;
    /**
     * <code>int64 int64 = 4;</code>
     * @return The int64.
     */
    @Override
    public long getInt64() {
      return int64_;
    }

    public static final int UINT32_FIELD_NUMBER = 5;
    private int uint32_;
    /**
     * <code>uint32 uint32 = 5;</code>
     * @return The uint32.
     */
    @Override
    public int getUint32() {
      return uint32_;
    }

    public static final int UINT64_FIELD_NUMBER = 6;
    private long uint64_;
    /**
     * <code>uint64 uint64 = 6;</code>
     * @return The uint64.
     */
    @Override
    public long getUint64() {
      return uint64_;
    }

    public static final int SINT32_FIELD_NUMBER = 7;
    private int sint32_;
    /**
     * <code>sint32 sint32 = 7;</code>
     * @return The sint32.
     */
    @Override
    public int getSint32() {
      return sint32_;
    }

    public static final int SINT64_FIELD_NUMBER = 8;
    private long sint64_;
    /**
     * <code>sint64 sint64 = 8;</code>
     * @return The sint64.
     */
    @Override
    public long getSint64() {
      return sint64_;
    }

    public static final int FIXED32_FIELD_NUMBER = 9;
    private int fixed32_;
    /**
     * <code>fixed32 fixed32 = 9;</code>
     * @return The fixed32.
     */
    @Override
    public int getFixed32() {
      return fixed32_;
    }

    public static final int FIXED64_FIELD_NUMBER = 10;
    private long fixed64_;
    /**
     * <code>fixed64 fixed64 = 10;</code>
     * @return The fixed64.
     */
    @Override
    public long getFixed64() {
      return fixed64_;
    }

    public static final int SFIXED32_FIELD_NUMBER = 11;
    private int sfixed32_;
    /**
     * <code>sfixed32 sfixed32 = 11;</code>
     * @return The sfixed32.
     */
    @Override
    public int getSfixed32() {
      return sfixed32_;
    }

    public static final int SFIXED64_FIELD_NUMBER = 12;
    private long sfixed64_;
    /**
     * <code>sfixed64 sfixed64 = 12;</code>
     * @return The sfixed64.
     */
    @Override
    public long getSfixed64() {
      return sfixed64_;
    }

    public static final int BOOL_FIELD_NUMBER = 13;
    private boolean bool_;
    /**
     * <code>bool bool = 13;</code>
     * @return The bool.
     */
    @Override
    public boolean getBool() {
      return bool_;
    }

    public static final int STRING_FIELD_NUMBER = 14;
    private volatile Object string_;
    /**
     * <code>string string = 14;</code>
     * @return The string.
     */
    @Override
    public String getString() {
      Object ref = string_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        string_ = s;
        return s;
      }
    }
    /**
     * <code>string string = 14;</code>
     * @return The bytes for string.
     */
    @Override
    public com.google.protobuf.ByteString
        getStringBytes() {
      Object ref = string_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b =
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        string_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int BYTESTYPE_FIELD_NUMBER = 15;
    private com.google.protobuf.ByteString bytesType_;
    /**
     * <code>bytes bytesType = 15;</code>
     * @return The bytesType.
     */
    @Override
    public com.google.protobuf.ByteString getBytesType() {
      return bytesType_;
    }

    public static final int CARD_FIELD_NUMBER = 16;
    private DriverCard card_;
    /**
     * <code>.com.alibaba.fastjson2.dubbo.DriverCard card = 16;</code>
     * @return Whether the card field is set.
     */
    @Override
    public boolean hasCard() {
      return card_ != null;
    }
    /**
     * <code>.com.alibaba.fastjson2.dubbo.DriverCard card = 16;</code>
     * @return The card.
     */
    @Override
    public DriverCard getCard() {
      return card_ == null ? DriverCard.getDefaultInstance() : card_;
    }
    /**
     * <code>.com.alibaba.fastjson2.dubbo.DriverCard card = 16;</code>
     */
    @Override
    public DriverCardOrBuilder getCardOrBuilder() {
      return getCard();
    }

    public static final int CARDS_FIELD_NUMBER = 17;
    private java.util.List<DriverCard> cards_;
    /**
     * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
     */
    @Override
    public java.util.List<DriverCard> getCardsList() {
      return cards_;
    }
    /**
     * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
     */
    @Override
    public java.util.List<? extends DriverCardOrBuilder>
        getCardsOrBuilderList() {
      return cards_;
    }
    /**
     * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
     */
    @Override
    public int getCardsCount() {
      return cards_.size();
    }
    /**
     * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
     */
    @Override
    public DriverCard getCards(int index) {
      return cards_.get(index);
    }
    /**
     * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
     */
    @Override
    public DriverCardOrBuilder getCardsOrBuilder(
        int index) {
      return cards_.get(index);
    }

    public static final int CARDSMAP_FIELD_NUMBER = 18;
    private static final class CardsmapDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          String, DriverCard> defaultEntry =
              com.google.protobuf.MapEntry
              .<String, DriverCard>newDefaultInstance(
                  GoogleProtobufBasic.internal_static_com_alibaba_fastjson2_dubbo_GooglePBRequestType_CardsmapEntry_descriptor,
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.MESSAGE,
                  DriverCard.getDefaultInstance());
    }
    private com.google.protobuf.MapField<
        String, DriverCard> cardsmap_;
    private com.google.protobuf.MapField<String, DriverCard>
    internalGetCardsmap() {
      if (cardsmap_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            CardsmapDefaultEntryHolder.defaultEntry);
      }
      return cardsmap_;
    }

    public int getCardsmapCount() {
      return internalGetCardsmap().getMap().size();
    }
    /**
     * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
     */

    @Override
    public boolean containsCardsmap(
        String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      return internalGetCardsmap().getMap().containsKey(key);
    }
    /**
     * Use {@link #getCardsmapMap()} instead.
     */
    @Override
    @Deprecated
    public java.util.Map<String, DriverCard> getCardsmap() {
      return getCardsmapMap();
    }
    /**
     * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
     */
    @Override

    public java.util.Map<String, DriverCard> getCardsmapMap() {
      return internalGetCardsmap().getMap();
    }
    /**
     * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
     */
    @Override

    public DriverCard getCardsmapOrDefault(
        String key,
        DriverCard defaultValue) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map<String, DriverCard> map =
          internalGetCardsmap().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
     */
    @Override

    public DriverCard getCardsmapOrThrow(
        String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map<String, DriverCard> map =
          internalGetCardsmap().getMap();
      if (!map.containsKey(key)) {
        throw new IllegalArgumentException();
      }
      return map.get(key);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (Double.doubleToRawLongBits(double_) != 0) {
        output.writeDouble(1, double_);
      }
      if (Float.floatToRawIntBits(float_) != 0) {
        output.writeFloat(2, float_);
      }
      if (int32_ != 0) {
        output.writeInt32(3, int32_);
      }
      if (int64_ != 0L) {
        output.writeInt64(4, int64_);
      }
      if (uint32_ != 0) {
        output.writeUInt32(5, uint32_);
      }
      if (uint64_ != 0L) {
        output.writeUInt64(6, uint64_);
      }
      if (sint32_ != 0) {
        output.writeSInt32(7, sint32_);
      }
      if (sint64_ != 0L) {
        output.writeSInt64(8, sint64_);
      }
      if (fixed32_ != 0) {
        output.writeFixed32(9, fixed32_);
      }
      if (fixed64_ != 0L) {
        output.writeFixed64(10, fixed64_);
      }
      if (sfixed32_ != 0) {
        output.writeSFixed32(11, sfixed32_);
      }
      if (sfixed64_ != 0L) {
        output.writeSFixed64(12, sfixed64_);
      }
      if (bool_ != false) {
        output.writeBool(13, bool_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(string_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 14, string_);
      }
      if (!bytesType_.isEmpty()) {
        output.writeBytes(15, bytesType_);
      }
      if (card_ != null) {
        output.writeMessage(16, getCard());
      }
      for (int i = 0; i < cards_.size(); i++) {
        output.writeMessage(17, cards_.get(i));
      }
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetCardsmap(),
          CardsmapDefaultEntryHolder.defaultEntry,
          18);
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (Double.doubleToRawLongBits(double_) != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeDoubleSize(1, double_);
      }
      if (Float.floatToRawIntBits(float_) != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(2, float_);
      }
      if (int32_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, int32_);
      }
      if (int64_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(4, int64_);
      }
      if (uint32_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(5, uint32_);
      }
      if (uint64_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(6, uint64_);
      }
      if (sint32_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeSInt32Size(7, sint32_);
      }
      if (sint64_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeSInt64Size(8, sint64_);
      }
      if (fixed32_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(9, fixed32_);
      }
      if (fixed64_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed64Size(10, fixed64_);
      }
      if (sfixed32_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeSFixed32Size(11, sfixed32_);
      }
      if (sfixed64_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeSFixed64Size(12, sfixed64_);
      }
      if (bool_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(13, bool_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(string_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(14, string_);
      }
      if (!bytesType_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(15, bytesType_);
      }
      if (card_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(16, getCard());
      }
      for (int i = 0; i < cards_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(17, cards_.get(i));
      }
      for (java.util.Map.Entry<String, DriverCard> entry
           : internalGetCardsmap().getMap().entrySet()) {
        com.google.protobuf.MapEntry<String, DriverCard>
        cardsmap__ = CardsmapDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(18, cardsmap__);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @Override
    public boolean equals(final Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof GooglePBRequestType)) {
        return super.equals(obj);
      }
      GooglePBRequestType other = (GooglePBRequestType) obj;

      if (Double.doubleToLongBits(getDouble())
          != Double.doubleToLongBits(
              other.getDouble())) return false;
      if (Float.floatToIntBits(getFloat())
          != Float.floatToIntBits(
              other.getFloat())) return false;
      if (getInt32()
          != other.getInt32()) return false;
      if (getInt64()
          != other.getInt64()) return false;
      if (getUint32()
          != other.getUint32()) return false;
      if (getUint64()
          != other.getUint64()) return false;
      if (getSint32()
          != other.getSint32()) return false;
      if (getSint64()
          != other.getSint64()) return false;
      if (getFixed32()
          != other.getFixed32()) return false;
      if (getFixed64()
          != other.getFixed64()) return false;
      if (getSfixed32()
          != other.getSfixed32()) return false;
      if (getSfixed64()
          != other.getSfixed64()) return false;
      if (getBool()
          != other.getBool()) return false;
      if (!getString()
          .equals(other.getString())) return false;
      if (!getBytesType()
          .equals(other.getBytesType())) return false;
      if (hasCard() != other.hasCard()) return false;
      if (hasCard()) {
        if (!getCard()
            .equals(other.getCard())) return false;
      }
      if (!getCardsList()
          .equals(other.getCardsList())) return false;
      if (!internalGetCardsmap().equals(
          other.internalGetCardsmap())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + DOUBLE_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          Double.doubleToLongBits(getDouble()));
      hash = (37 * hash) + FLOAT_FIELD_NUMBER;
      hash = (53 * hash) + Float.floatToIntBits(
          getFloat());
      hash = (37 * hash) + INT32_FIELD_NUMBER;
      hash = (53 * hash) + getInt32();
      hash = (37 * hash) + INT64_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getInt64());
      hash = (37 * hash) + UINT32_FIELD_NUMBER;
      hash = (53 * hash) + getUint32();
      hash = (37 * hash) + UINT64_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getUint64());
      hash = (37 * hash) + SINT32_FIELD_NUMBER;
      hash = (53 * hash) + getSint32();
      hash = (37 * hash) + SINT64_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getSint64());
      hash = (37 * hash) + FIXED32_FIELD_NUMBER;
      hash = (53 * hash) + getFixed32();
      hash = (37 * hash) + FIXED64_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getFixed64());
      hash = (37 * hash) + SFIXED32_FIELD_NUMBER;
      hash = (53 * hash) + getSfixed32();
      hash = (37 * hash) + SFIXED64_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getSfixed64());
      hash = (37 * hash) + BOOL_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getBool());
      hash = (37 * hash) + STRING_FIELD_NUMBER;
      hash = (53 * hash) + getString().hashCode();
      hash = (37 * hash) + BYTESTYPE_FIELD_NUMBER;
      hash = (53 * hash) + getBytesType().hashCode();
      if (hasCard()) {
        hash = (37 * hash) + CARD_FIELD_NUMBER;
        hash = (53 * hash) + getCard().hashCode();
      }
      if (getCardsCount() > 0) {
        hash = (37 * hash) + CARDS_FIELD_NUMBER;
        hash = (53 * hash) + getCardsList().hashCode();
      }
      if (!internalGetCardsmap().getMap().isEmpty()) {
        hash = (37 * hash) + CARDSMAP_FIELD_NUMBER;
        hash = (53 * hash) + internalGetCardsmap().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

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

    @Override
    protected Builder newBuilderForType(
        BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code com.alibaba.fastjson2.dubbo.GooglePBRequestType}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.alibaba.fastjson2.dubbo.GooglePBRequestType)
        GooglePBRequestTypeOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return GoogleProtobufBasic.internal_static_com_alibaba_fastjson2_dubbo_GooglePBRequestType_descriptor;
      }

      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMapField(
          int number) {
        switch (number) {
          case 18:
            return internalGetCardsmap();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMutableMapField(
          int number) {
        switch (number) {
          case 18:
            return internalGetMutableCardsmap();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @Override
      protected FieldAccessorTable
          internalGetFieldAccessorTable() {
        return GoogleProtobufBasic.internal_static_com_alibaba_fastjson2_dubbo_GooglePBRequestType_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                GooglePBRequestType.class, Builder.class);
      }

      // Construct using com.alibaba.fastjson2.dubbo.GoogleProtobufBasic.GooglePBRequestType.newBuilder()
      private Builder() {

      }

      private Builder(
          BuilderParent parent) {
        super(parent);

      }
      @Override
      public Builder clear() {
        super.clear();
        double_ = 0D;

        float_ = 0F;

        int32_ = 0;

        int64_ = 0L;

        uint32_ = 0;

        uint64_ = 0L;

        sint32_ = 0;

        sint64_ = 0L;

        fixed32_ = 0;

        fixed64_ = 0L;

        sfixed32_ = 0;

        sfixed64_ = 0L;

        bool_ = false;

        string_ = "";

        bytesType_ = com.google.protobuf.ByteString.EMPTY;

        if (cardBuilder_ == null) {
          card_ = null;
        } else {
          card_ = null;
          cardBuilder_ = null;
        }
        if (cardsBuilder_ == null) {
          cards_ = java.util.Collections.emptyList();
        } else {
          cards_ = null;
          cardsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        internalGetMutableCardsmap().clear();
        return this;
      }

      @Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return GoogleProtobufBasic.internal_static_com_alibaba_fastjson2_dubbo_GooglePBRequestType_descriptor;
      }

      @Override
      public GooglePBRequestType getDefaultInstanceForType() {
        return GooglePBRequestType.getDefaultInstance();
      }

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

      @Override
      public GooglePBRequestType buildPartial() {
        GooglePBRequestType result = new GooglePBRequestType(this);
        int from_bitField0_ = bitField0_;
        result.double_ = double_;
        result.float_ = float_;
        result.int32_ = int32_;
        result.int64_ = int64_;
        result.uint32_ = uint32_;
        result.uint64_ = uint64_;
        result.sint32_ = sint32_;
        result.sint64_ = sint64_;
        result.fixed32_ = fixed32_;
        result.fixed64_ = fixed64_;
        result.sfixed32_ = sfixed32_;
        result.sfixed64_ = sfixed64_;
        result.bool_ = bool_;
        result.string_ = string_;
        result.bytesType_ = bytesType_;
        if (cardBuilder_ == null) {
          result.card_ = card_;
        } else {
          result.card_ = cardBuilder_.build();
        }
        if (cardsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            cards_ = java.util.Collections.unmodifiableList(cards_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.cards_ = cards_;
        } else {
          result.cards_ = cardsBuilder_.build();
        }
        result.cardsmap_ = internalGetCardsmap();
        result.cardsmap_.makeImmutable();
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(GooglePBRequestType other) {
        if (other == GooglePBRequestType.getDefaultInstance()) return this;
        if (other.getDouble() != 0D) {
          setDouble(other.getDouble());
        }
        if (other.getFloat() != 0F) {
          setFloat(other.getFloat());
        }
        if (other.getInt32() != 0) {
          setInt32(other.getInt32());
        }
        if (other.getInt64() != 0L) {
          setInt64(other.getInt64());
        }
        if (other.getUint32() != 0) {
          setUint32(other.getUint32());
        }
        if (other.getUint64() != 0L) {
          setUint64(other.getUint64());
        }
        if (other.getSint32() != 0) {
          setSint32(other.getSint32());
        }
        if (other.getSint64() != 0L) {
          setSint64(other.getSint64());
        }
        if (other.getFixed32() != 0) {
          setFixed32(other.getFixed32());
        }
        if (other.getFixed64() != 0L) {
          setFixed64(other.getFixed64());
        }
        if (other.getSfixed32() != 0) {
          setSfixed32(other.getSfixed32());
        }
        if (other.getSfixed64() != 0L) {
          setSfixed64(other.getSfixed64());
        }
        if (other.getBool() != false) {
          setBool(other.getBool());
        }
        if (!other.getString().isEmpty()) {
          string_ = other.string_;
          onChanged();
        }
        if (other.getBytesType() != com.google.protobuf.ByteString.EMPTY) {
          setBytesType(other.getBytesType());
        }
        if (other.hasCard()) {
          mergeCard(other.getCard());
        }
        if (cardsBuilder_ == null) {
          if (!other.cards_.isEmpty()) {
            if (cards_.isEmpty()) {
              cards_ = other.cards_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureCardsIsMutable();
              cards_.addAll(other.cards_);
            }
            onChanged();
          }
        } else {
          if (!other.cards_.isEmpty()) {
            if (cardsBuilder_.isEmpty()) {
              cardsBuilder_.dispose();
              cardsBuilder_ = null;
              cards_ = other.cards_;
              bitField0_ = (bitField0_ & ~0x00000001);
              cardsBuilder_ =
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getCardsFieldBuilder() : null;
            } else {
              cardsBuilder_.addAllMessages(other.cards_);
            }
          }
        }
        internalGetMutableCardsmap().mergeFrom(
            other.internalGetCardsmap());
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 9: {
                double_ = input.readDouble();

                break;
              } // case 9
              case 21: {
                float_ = input.readFloat();

                break;
              } // case 21
              case 24: {
                int32_ = input.readInt32();

                break;
              } // case 24
              case 32: {
                int64_ = input.readInt64();

                break;
              } // case 32
              case 40: {
                uint32_ = input.readUInt32();

                break;
              } // case 40
              case 48: {
                uint64_ = input.readUInt64();

                break;
              } // case 48
              case 56: {
                sint32_ = input.readSInt32();

                break;
              } // case 56
              case 64: {
                sint64_ = input.readSInt64();

                break;
              } // case 64
              case 77: {
                fixed32_ = input.readFixed32();

                break;
              } // case 77
              case 81: {
                fixed64_ = input.readFixed64();

                break;
              } // case 81
              case 93: {
                sfixed32_ = input.readSFixed32();

                break;
              } // case 93
              case 97: {
                sfixed64_ = input.readSFixed64();

                break;
              } // case 97
              case 104: {
                bool_ = input.readBool();

                break;
              } // case 104
              case 114: {
                string_ = input.readStringRequireUtf8();

                break;
              } // case 114
              case 122: {
                bytesType_ = input.readBytes();

                break;
              } // case 122
              case 130: {
                input.readMessage(
                    getCardFieldBuilder().getBuilder(),
                    extensionRegistry);

                break;
              } // case 130
              case 138: {
                DriverCard m =
                    input.readMessage(
                        DriverCard.parser(),
                        extensionRegistry);
                if (cardsBuilder_ == null) {
                  ensureCardsIsMutable();
                  cards_.add(m);
                } else {
                  cardsBuilder_.addMessage(m);
                }
                break;
              } // case 138
              case 146: {
                com.google.protobuf.MapEntry<String, DriverCard>
                cardsmap__ = input.readMessage(
                    CardsmapDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
                internalGetMutableCardsmap().getMutableMap().put(
                    cardsmap__.getKey(), cardsmap__.getValue());
                break;
              } // case 146
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private double double_ ;
      /**
       * <code>double double = 1;</code>
       * @return The double.
       */
      @Override
      public double getDouble() {
        return double_;
      }
      /**
       * <code>double double = 1;</code>
       * @param value The double to set.
       * @return This builder for chaining.
       */
      public Builder setDouble(double value) {

        double_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>double double = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearDouble() {

        double_ = 0D;
        onChanged();
        return this;
      }

      private float float_ ;
      /**
       * <code>float float = 2;</code>
       * @return The float.
       */
      @Override
      public float getFloat() {
        return float_;
      }
      /**
       * <code>float float = 2;</code>
       * @param value The float to set.
       * @return This builder for chaining.
       */
      public Builder setFloat(float value) {

        float_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>float float = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearFloat() {

        float_ = 0F;
        onChanged();
        return this;
      }

      private int int32_ ;
      /**
       * <code>int32 int32 = 3;</code>
       * @return The int32.
       */
      @Override
      public int getInt32() {
        return int32_;
      }
      /**
       * <code>int32 int32 = 3;</code>
       * @param value The int32 to set.
       * @return This builder for chaining.
       */
      public Builder setInt32(int value) {

        int32_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int32 int32 = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearInt32() {

        int32_ = 0;
        onChanged();
        return this;
      }

      private long int64_ ;
      /**
       * <code>int64 int64 = 4;</code>
       * @return The int64.
       */
      @Override
      public long getInt64() {
        return int64_;
      }
      /**
       * <code>int64 int64 = 4;</code>
       * @param value The int64 to set.
       * @return This builder for chaining.
       */
      public Builder setInt64(long value) {

        int64_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int64 int64 = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearInt64() {

        int64_ = 0L;
        onChanged();
        return this;
      }

      private int uint32_ ;
      /**
       * <code>uint32 uint32 = 5;</code>
       * @return The uint32.
       */
      @Override
      public int getUint32() {
        return uint32_;
      }
      /**
       * <code>uint32 uint32 = 5;</code>
       * @param value The uint32 to set.
       * @return This builder for chaining.
       */
      public Builder setUint32(int value) {

        uint32_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 uint32 = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearUint32() {

        uint32_ = 0;
        onChanged();
        return this;
      }

      private long uint64_ ;
      /**
       * <code>uint64 uint64 = 6;</code>
       * @return The uint64.
       */
      @Override
      public long getUint64() {
        return uint64_;
      }
      /**
       * <code>uint64 uint64 = 6;</code>
       * @param value The uint64 to set.
       * @return This builder for chaining.
       */
      public Builder setUint64(long value) {

        uint64_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint64 uint64 = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearUint64() {

        uint64_ = 0L;
        onChanged();
        return this;
      }

      private int sint32_ ;
      /**
       * <code>sint32 sint32 = 7;</code>
       * @return The sint32.
       */
      @Override
      public int getSint32() {
        return sint32_;
      }
      /**
       * <code>sint32 sint32 = 7;</code>
       * @param value The sint32 to set.
       * @return This builder for chaining.
       */
      public Builder setSint32(int value) {

        sint32_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>sint32 sint32 = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearSint32() {

        sint32_ = 0;
        onChanged();
        return this;
      }

      private long sint64_ ;
      /**
       * <code>sint64 sint64 = 8;</code>
       * @return The sint64.
       */
      @Override
      public long getSint64() {
        return sint64_;
      }
      /**
       * <code>sint64 sint64 = 8;</code>
       * @param value The sint64 to set.
       * @return This builder for chaining.
       */
      public Builder setSint64(long value) {

        sint64_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>sint64 sint64 = 8;</code>
       * @return This builder for chaining.
       */
      public Builder clearSint64() {

        sint64_ = 0L;
        onChanged();
        return this;
      }

      private int fixed32_ ;
      /**
       * <code>fixed32 fixed32 = 9;</code>
       * @return The fixed32.
       */
      @Override
      public int getFixed32() {
        return fixed32_;
      }
      /**
       * <code>fixed32 fixed32 = 9;</code>
       * @param value The fixed32 to set.
       * @return This builder for chaining.
       */
      public Builder setFixed32(int value) {

        fixed32_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>fixed32 fixed32 = 9;</code>
       * @return This builder for chaining.
       */
      public Builder clearFixed32() {

        fixed32_ = 0;
        onChanged();
        return this;
      }

      private long fixed64_ ;
      /**
       * <code>fixed64 fixed64 = 10;</code>
       * @return The fixed64.
       */
      @Override
      public long getFixed64() {
        return fixed64_;
      }
      /**
       * <code>fixed64 fixed64 = 10;</code>
       * @param value The fixed64 to set.
       * @return This builder for chaining.
       */
      public Builder setFixed64(long value) {

        fixed64_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>fixed64 fixed64 = 10;</code>
       * @return This builder for chaining.
       */
      public Builder clearFixed64() {

        fixed64_ = 0L;
        onChanged();
        return this;
      }

      private int sfixed32_ ;
      /**
       * <code>sfixed32 sfixed32 = 11;</code>
       * @return The sfixed32.
       */
      @Override
      public int getSfixed32() {
        return sfixed32_;
      }
      /**
       * <code>sfixed32 sfixed32 = 11;</code>
       * @param value The sfixed32 to set.
       * @return This builder for chaining.
       */
      public Builder setSfixed32(int value) {

        sfixed32_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>sfixed32 sfixed32 = 11;</code>
       * @return This builder for chaining.
       */
      public Builder clearSfixed32() {

        sfixed32_ = 0;
        onChanged();
        return this;
      }

      private long sfixed64_ ;
      /**
       * <code>sfixed64 sfixed64 = 12;</code>
       * @return The sfixed64.
       */
      @Override
      public long getSfixed64() {
        return sfixed64_;
      }
      /**
       * <code>sfixed64 sfixed64 = 12;</code>
       * @param value The sfixed64 to set.
       * @return This builder for chaining.
       */
      public Builder setSfixed64(long value) {

        sfixed64_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>sfixed64 sfixed64 = 12;</code>
       * @return This builder for chaining.
       */
      public Builder clearSfixed64() {

        sfixed64_ = 0L;
        onChanged();
        return this;
      }

      private boolean bool_ ;
      /**
       * <code>bool bool = 13;</code>
       * @return The bool.
       */
      @Override
      public boolean getBool() {
        return bool_;
      }
      /**
       * <code>bool bool = 13;</code>
       * @param value The bool to set.
       * @return This builder for chaining.
       */
      public Builder setBool(boolean value) {

        bool_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bool bool = 13;</code>
       * @return This builder for chaining.
       */
      public Builder clearBool() {

        bool_ = false;
        onChanged();
        return this;
      }

      private Object string_ = "";
      /**
       * <code>string string = 14;</code>
       * @return The string.
       */
      public String getString() {
        Object ref = string_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          string_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <code>string string = 14;</code>
       * @return The bytes for string.
       */
      public com.google.protobuf.ByteString
          getStringBytes() {
        Object ref = string_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b =
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          string_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string string = 14;</code>
       * @param value The string to set.
       * @return This builder for chaining.
       */
      public Builder setString(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }

        string_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string string = 14;</code>
       * @return This builder for chaining.
       */
      public Builder clearString() {

        string_ = getDefaultInstance().getString();
        onChanged();
        return this;
      }
      /**
       * <code>string string = 14;</code>
       * @param value The bytes for string to set.
       * @return This builder for chaining.
       */
      public Builder setStringBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);

        string_ = value;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString bytesType_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>bytes bytesType = 15;</code>
       * @return The bytesType.
       */
      @Override
      public com.google.protobuf.ByteString getBytesType() {
        return bytesType_;
      }
      /**
       * <code>bytes bytesType = 15;</code>
       * @param value The bytesType to set.
       * @return This builder for chaining.
       */
      public Builder setBytesType(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }

        bytesType_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bytes bytesType = 15;</code>
       * @return This builder for chaining.
       */
      public Builder clearBytesType() {

        bytesType_ = getDefaultInstance().getBytesType();
        onChanged();
        return this;
      }

      private DriverCard card_;
      private com.google.protobuf.SingleFieldBuilderV3<
          DriverCard, DriverCard.Builder, DriverCardOrBuilder> cardBuilder_;
      /**
       * <code>.com.alibaba.fastjson2.dubbo.DriverCard card = 16;</code>
       * @return Whether the card field is set.
       */
      public boolean hasCard() {
        return cardBuilder_ != null || card_ != null;
      }
      /**
       * <code>.com.alibaba.fastjson2.dubbo.DriverCard card = 16;</code>
       * @return The card.
       */
      public DriverCard getCard() {
        if (cardBuilder_ == null) {
          return card_ == null ? DriverCard.getDefaultInstance() : card_;
        } else {
          return cardBuilder_.getMessage();
        }
      }
      /**
       * <code>.com.alibaba.fastjson2.dubbo.DriverCard card = 16;</code>
       */
      public Builder setCard(DriverCard value) {
        if (cardBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          card_ = value;
          onChanged();
        } else {
          cardBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>.com.alibaba.fastjson2.dubbo.DriverCard card = 16;</code>
       */
      public Builder setCard(
          DriverCard.Builder builderForValue) {
        if (cardBuilder_ == null) {
          card_ = builderForValue.build();
          onChanged();
        } else {
          cardBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>.com.alibaba.fastjson2.dubbo.DriverCard card = 16;</code>
       */
      public Builder mergeCard(DriverCard value) {
        if (cardBuilder_ == null) {
          if (card_ != null) {
            card_ =
              DriverCard.newBuilder(card_).mergeFrom(value).buildPartial();
          } else {
            card_ = value;
          }
          onChanged();
        } else {
          cardBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>.com.alibaba.fastjson2.dubbo.DriverCard card = 16;</code>
       */
      public Builder clearCard() {
        if (cardBuilder_ == null) {
          card_ = null;
          onChanged();
        } else {
          card_ = null;
          cardBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>.com.alibaba.fastjson2.dubbo.DriverCard card = 16;</code>
       */
      public DriverCard.Builder getCardBuilder() {

        onChanged();
        return getCardFieldBuilder().getBuilder();
      }
      /**
       * <code>.com.alibaba.fastjson2.dubbo.DriverCard card = 16;</code>
       */
      public DriverCardOrBuilder getCardOrBuilder() {
        if (cardBuilder_ != null) {
          return cardBuilder_.getMessageOrBuilder();
        } else {
          return card_ == null ?
              DriverCard.getDefaultInstance() : card_;
        }
      }
      /**
       * <code>.com.alibaba.fastjson2.dubbo.DriverCard card = 16;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          DriverCard, DriverCard.Builder, DriverCardOrBuilder>
          getCardFieldBuilder() {
        if (cardBuilder_ == null) {
          cardBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              DriverCard, DriverCard.Builder, DriverCardOrBuilder>(
                  getCard(),
                  getParentForChildren(),
                  isClean());
          card_ = null;
        }
        return cardBuilder_;
      }

      private java.util.List<DriverCard> cards_ =
        java.util.Collections.emptyList();
      private void ensureCardsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          cards_ = new java.util.ArrayList<DriverCard>(cards_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          DriverCard, DriverCard.Builder, DriverCardOrBuilder> cardsBuilder_;

      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public java.util.List<DriverCard> getCardsList() {
        if (cardsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(cards_);
        } else {
          return cardsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public int getCardsCount() {
        if (cardsBuilder_ == null) {
          return cards_.size();
        } else {
          return cardsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public DriverCard getCards(int index) {
        if (cardsBuilder_ == null) {
          return cards_.get(index);
        } else {
          return cardsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public Builder setCards(
          int index, DriverCard value) {
        if (cardsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureCardsIsMutable();
          cards_.set(index, value);
          onChanged();
        } else {
          cardsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public Builder setCards(
          int index, DriverCard.Builder builderForValue) {
        if (cardsBuilder_ == null) {
          ensureCardsIsMutable();
          cards_.set(index, builderForValue.build());
          onChanged();
        } else {
          cardsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public Builder addCards(DriverCard value) {
        if (cardsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureCardsIsMutable();
          cards_.add(value);
          onChanged();
        } else {
          cardsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public Builder addCards(
          int index, DriverCard value) {
        if (cardsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureCardsIsMutable();
          cards_.add(index, value);
          onChanged();
        } else {
          cardsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public Builder addCards(
          DriverCard.Builder builderForValue) {
        if (cardsBuilder_ == null) {
          ensureCardsIsMutable();
          cards_.add(builderForValue.build());
          onChanged();
        } else {
          cardsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public Builder addCards(
          int index, DriverCard.Builder builderForValue) {
        if (cardsBuilder_ == null) {
          ensureCardsIsMutable();
          cards_.add(index, builderForValue.build());
          onChanged();
        } else {
          cardsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public Builder addAllCards(
          Iterable<? extends DriverCard> values) {
        if (cardsBuilder_ == null) {
          ensureCardsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, cards_);
          onChanged();
        } else {
          cardsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public Builder clearCards() {
        if (cardsBuilder_ == null) {
          cards_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          cardsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public Builder removeCards(int index) {
        if (cardsBuilder_ == null) {
          ensureCardsIsMutable();
          cards_.remove(index);
          onChanged();
        } else {
          cardsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public DriverCard.Builder getCardsBuilder(
          int index) {
        return getCardsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public DriverCardOrBuilder getCardsOrBuilder(
          int index) {
        if (cardsBuilder_ == null) {
          return cards_.get(index);  } else {
          return cardsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public java.util.List<? extends DriverCardOrBuilder>
           getCardsOrBuilderList() {
        if (cardsBuilder_ != null) {
          return cardsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(cards_);
        }
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public DriverCard.Builder addCardsBuilder() {
        return getCardsFieldBuilder().addBuilder(
            DriverCard.getDefaultInstance());
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public DriverCard.Builder addCardsBuilder(
          int index) {
        return getCardsFieldBuilder().addBuilder(
            index, DriverCard.getDefaultInstance());
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public java.util.List<DriverCard.Builder>
           getCardsBuilderList() {
        return getCardsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          DriverCard, DriverCard.Builder, DriverCardOrBuilder>
          getCardsFieldBuilder() {
        if (cardsBuilder_ == null) {
          cardsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              DriverCard, DriverCard.Builder, DriverCardOrBuilder>(
                  cards_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          cards_ = null;
        }
        return cardsBuilder_;
      }

      private com.google.protobuf.MapField<
          String, DriverCard> cardsmap_;
      private com.google.protobuf.MapField<String, DriverCard>
      internalGetCardsmap() {
        if (cardsmap_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              CardsmapDefaultEntryHolder.defaultEntry);
        }
        return cardsmap_;
      }
      private com.google.protobuf.MapField<String, DriverCard>
      internalGetMutableCardsmap() {
        onChanged();;
        if (cardsmap_ == null) {
          cardsmap_ = com.google.protobuf.MapField.newMapField(
              CardsmapDefaultEntryHolder.defaultEntry);
        }
        if (!cardsmap_.isMutable()) {
          cardsmap_ = cardsmap_.copy();
        }
        return cardsmap_;
      }

      public int getCardsmapCount() {
        return internalGetCardsmap().getMap().size();
      }
      /**
       * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
       */

      @Override
      public boolean containsCardsmap(
          String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        return internalGetCardsmap().getMap().containsKey(key);
      }
      /**
       * Use {@link #getCardsmapMap()} instead.
       */
      @Override
      @Deprecated
      public java.util.Map<String, DriverCard> getCardsmap() {
        return getCardsmapMap();
      }
      /**
       * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
       */
      @Override

      public java.util.Map<String, DriverCard> getCardsmapMap() {
        return internalGetCardsmap().getMap();
      }
      /**
       * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
       */
      @Override

      public DriverCard getCardsmapOrDefault(
          String key,
          DriverCard defaultValue) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map<String, DriverCard> map =
            internalGetCardsmap().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
       */
      @Override

      public DriverCard getCardsmapOrThrow(
          String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map<String, DriverCard> map =
            internalGetCardsmap().getMap();
        if (!map.containsKey(key)) {
          throw new IllegalArgumentException();
        }
        return map.get(key);
      }

      public Builder clearCardsmap() {
        internalGetMutableCardsmap().getMutableMap()
            .clear();
        return this;
      }
      /**
       * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
       */

      public Builder removeCardsmap(
          String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        internalGetMutableCardsmap().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @Deprecated
      public java.util.Map<String, DriverCard>
      getMutableCardsmap() {
        return internalGetMutableCardsmap().getMutableMap();
      }
      /**
       * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
       */
      public Builder putCardsmap(
          String key,
          DriverCard value) {
        if (key == null) { throw new NullPointerException("map key"); }
        if (value == null) {
  throw new NullPointerException("map value");
}

        internalGetMutableCardsmap().getMutableMap()
            .put(key, value);
        return this;
      }
      /**
       * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
       */

      public Builder putAllCardsmap(
          java.util.Map<String, DriverCard> values) {
        internalGetMutableCardsmap().getMutableMap()
            .putAll(values);
        return this;
      }
      @Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:com.alibaba.fastjson2.dubbo.GooglePBRequestType)
    }

    // @@protoc_insertion_point(class_scope:com.alibaba.fastjson2.dubbo.GooglePBRequestType)
    private static final GooglePBRequestType DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new GooglePBRequestType();
    }

    public static GooglePBRequestType getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<GooglePBRequestType>
        PARSER = new com.google.protobuf.AbstractParser<GooglePBRequestType>() {
      @Override
      public GooglePBRequestType parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

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

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

    @Override
    public GooglePBRequestType getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface DriverCardOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.alibaba.fastjson2.dubbo.DriverCard)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>.com.alibaba.fastjson2.dubbo.LEVEL level = 1;</code>
     * @return The enum numeric value on the wire for level.
     */
    int getLevelValue();
    /**
     * <code>.com.alibaba.fastjson2.dubbo.LEVEL level = 1;</code>
     * @return The level.
     */
    LEVEL getLevel();

    /**
     * <code>string id = 2;</code>
     * @return The id.
     */
    String getId();
    /**
     * <code>string id = 2;</code>
     * @return The bytes for id.
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>int32 years = 3;</code>
     * @return The years.
     */
    int getYears();
  }
  /**
   * Protobuf type {@code com.alibaba.fastjson2.dubbo.DriverCard}
   */
  public static final class DriverCard extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.alibaba.fastjson2.dubbo.DriverCard)
      DriverCardOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use DriverCard.newBuilder() to construct.
    private DriverCard(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private DriverCard() {
      level_ = 0;
      id_ = "";
    }

    @Override
    @SuppressWarnings({"unused"})
    protected Object newInstance(
        UnusedPrivateParameter unused) {
      return new DriverCard();
    }

    @Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return GoogleProtobufBasic.internal_static_com_alibaba_fastjson2_dubbo_DriverCard_descriptor;
    }

    @Override
    protected FieldAccessorTable
        internalGetFieldAccessorTable() {
      return GoogleProtobufBasic.internal_static_com_alibaba_fastjson2_dubbo_DriverCard_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              DriverCard.class, Builder.class);
    }

    public static final int LEVEL_FIELD_NUMBER = 1;
    private int level_;
    /**
     * <code>.com.alibaba.fastjson2.dubbo.LEVEL level = 1;</code>
     * @return The enum numeric value on the wire for level.
     */
    @Override public int getLevelValue() {
      return level_;
    }
    /**
     * <code>.com.alibaba.fastjson2.dubbo.LEVEL level = 1;</code>
     * @return The level.
     */
    @Override public LEVEL getLevel() {
      @SuppressWarnings("deprecation")
      LEVEL result = LEVEL.valueOf(level_);
      return result == null ? LEVEL.UNRECOGNIZED : result;
    }

    public static final int ID_FIELD_NUMBER = 2;
    private volatile Object id_;
    /**
     * <code>string id = 2;</code>
     * @return The id.
     */
    @Override
    public String getId() {
      Object ref = id_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        id_ = s;
        return s;
      }
    }
    /**
     * <code>string id = 2;</code>
     * @return The bytes for id.
     */
    @Override
    public com.google.protobuf.ByteString
        getIdBytes() {
      Object ref = id_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b =
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        id_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int YEARS_FIELD_NUMBER = 3;
    private int years_;
    /**
     * <code>int32 years = 3;</code>
     * @return The years.
     */
    @Override
    public int getYears() {
      return years_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (level_ != LEVEL.C1.getNumber()) {
        output.writeEnum(1, level_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(id_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, id_);
      }
      if (years_ != 0) {
        output.writeInt32(3, years_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (level_ != LEVEL.C1.getNumber()) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(1, level_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(id_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, id_);
      }
      if (years_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, years_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @Override
    public boolean equals(final Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof DriverCard)) {
        return super.equals(obj);
      }
      DriverCard other = (DriverCard) obj;

      if (level_ != other.level_) return false;
      if (!getId()
          .equals(other.getId())) return false;
      if (getYears()
          != other.getYears()) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + LEVEL_FIELD_NUMBER;
      hash = (53 * hash) + level_;
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + getId().hashCode();
      hash = (37 * hash) + YEARS_FIELD_NUMBER;
      hash = (53 * hash) + getYears();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

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

    @Override
    protected Builder newBuilderForType(
        BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code com.alibaba.fastjson2.dubbo.DriverCard}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.alibaba.fastjson2.dubbo.DriverCard)
        DriverCardOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return GoogleProtobufBasic.internal_static_com_alibaba_fastjson2_dubbo_DriverCard_descriptor;
      }

      @Override
      protected FieldAccessorTable
          internalGetFieldAccessorTable() {
        return GoogleProtobufBasic.internal_static_com_alibaba_fastjson2_dubbo_DriverCard_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                DriverCard.class, Builder.class);
      }

      // Construct using com.alibaba.fastjson2.dubbo.GoogleProtobufBasic.DriverCard.newBuilder()
      private Builder() {

      }

      private Builder(
          BuilderParent parent) {
        super(parent);

      }
      @Override
      public Builder clear() {
        super.clear();
        level_ = 0;

        id_ = "";

        years_ = 0;

        return this;
      }

      @Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return GoogleProtobufBasic.internal_static_com_alibaba_fastjson2_dubbo_DriverCard_descriptor;
      }

      @Override
      public DriverCard getDefaultInstanceForType() {
        return DriverCard.getDefaultInstance();
      }

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

      @Override
      public DriverCard buildPartial() {
        DriverCard result = new DriverCard(this);
        result.level_ = level_;
        result.id_ = id_;
        result.years_ = years_;
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(DriverCard other) {
        if (other == DriverCard.getDefaultInstance()) return this;
        if (other.level_ != 0) {
          setLevelValue(other.getLevelValue());
        }
        if (!other.getId().isEmpty()) {
          id_ = other.id_;
          onChanged();
        }
        if (other.getYears() != 0) {
          setYears(other.getYears());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                level_ = input.readEnum();

                break;
              } // case 8
              case 18: {
                id_ = input.readStringRequireUtf8();

                break;
              } // case 18
              case 24: {
                years_ = input.readInt32();

                break;
              } // case 24
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }

      private int level_ = 0;
      /**
       * <code>.com.alibaba.fastjson2.dubbo.LEVEL level = 1;</code>
       * @return The enum numeric value on the wire for level.
       */
      @Override public int getLevelValue() {
        return level_;
      }
      /**
       * <code>.com.alibaba.fastjson2.dubbo.LEVEL level = 1;</code>
       * @param value The enum numeric value on the wire for level to set.
       * @return This builder for chaining.
       */
      public Builder setLevelValue(int value) {

        level_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>.com.alibaba.fastjson2.dubbo.LEVEL level = 1;</code>
       * @return The level.
       */
      @Override
      public LEVEL getLevel() {
        @SuppressWarnings("deprecation")
        LEVEL result = LEVEL.valueOf(level_);
        return result == null ? LEVEL.UNRECOGNIZED : result;
      }
      /**
       * <code>.com.alibaba.fastjson2.dubbo.LEVEL level = 1;</code>
       * @param value The level to set.
       * @return This builder for chaining.
       */
      public Builder setLevel(LEVEL value) {
        if (value == null) {
          throw new NullPointerException();
        }

        level_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * <code>.com.alibaba.fastjson2.dubbo.LEVEL level = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearLevel() {

        level_ = 0;
        onChanged();
        return this;
      }

      private Object id_ = "";
      /**
       * <code>string id = 2;</code>
       * @return The id.
       */
      public String getId() {
        Object ref = id_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          id_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <code>string id = 2;</code>
       * @return The bytes for id.
       */
      public com.google.protobuf.ByteString
          getIdBytes() {
        Object ref = id_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b =
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          id_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string id = 2;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }

        id_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string id = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {

        id_ = getDefaultInstance().getId();
        onChanged();
        return this;
      }
      /**
       * <code>string id = 2;</code>
       * @param value The bytes for id to set.
       * @return This builder for chaining.
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);

        id_ = value;
        onChanged();
        return this;
      }

      private int years_ ;
      /**
       * <code>int32 years = 3;</code>
       * @return The years.
       */
      @Override
      public int getYears() {
        return years_;
      }
      /**
       * <code>int32 years = 3;</code>
       * @param value The years to set.
       * @return This builder for chaining.
       */
      public Builder setYears(int value) {

        years_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int32 years = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearYears() {

        years_ = 0;
        onChanged();
        return this;
      }
      @Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:com.alibaba.fastjson2.dubbo.DriverCard)
    }

    // @@protoc_insertion_point(class_scope:com.alibaba.fastjson2.dubbo.DriverCard)
    private static final DriverCard DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new DriverCard();
    }

    public static DriverCard getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<DriverCard>
        PARSER = new com.google.protobuf.AbstractParser<DriverCard>() {
      @Override
      public DriverCard parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

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

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

    @Override
    public DriverCard getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface GooglePBResponseTypeOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.alibaba.fastjson2.dubbo.GooglePBResponseType)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>double double = 1;</code>
     * @return The double.
     */
    double getDouble();

    /**
     * <code>float float = 2;</code>
     * @return The float.
     */
    float getFloat();

    /**
     * <code>int32 int32 = 3;</code>
     * @return The int32.
     */
    int getInt32();

    /**
     * <code>int64 int64 = 4;</code>
     * @return The int64.
     */
    long getInt64();

    /**
     * <code>uint32 uint32 = 5;</code>
     * @return The uint32.
     */
    int getUint32();

    /**
     * <code>uint64 uint64 = 6;</code>
     * @return The uint64.
     */
    long getUint64();

    /**
     * <code>sint32 sint32 = 7;</code>
     * @return The sint32.
     */
    int getSint32();

    /**
     * <code>sint64 sint64 = 8;</code>
     * @return The sint64.
     */
    long getSint64();

    /**
     * <code>fixed32 fixed32 = 9;</code>
     * @return The fixed32.
     */
    int getFixed32();

    /**
     * <code>fixed64 fixed64 = 10;</code>
     * @return The fixed64.
     */
    long getFixed64();

    /**
     * <code>sfixed32 sfixed32 = 11;</code>
     * @return The sfixed32.
     */
    int getSfixed32();

    /**
     * <code>sfixed64 sfixed64 = 12;</code>
     * @return The sfixed64.
     */
    long getSfixed64();

    /**
     * <code>bool bool = 13;</code>
     * @return The bool.
     */
    boolean getBool();

    /**
     * <code>string string = 14;</code>
     * @return The string.
     */
    String getString();
    /**
     * <code>string string = 14;</code>
     * @return The bytes for string.
     */
    com.google.protobuf.ByteString
        getStringBytes();

    /**
     * <code>bytes bytesType = 15;</code>
     * @return The bytesType.
     */
    com.google.protobuf.ByteString getBytesType();

    /**
     * <code>.com.alibaba.fastjson2.dubbo.DriverCard card = 16;</code>
     * @return Whether the card field is set.
     */
    boolean hasCard();
    /**
     * <code>.com.alibaba.fastjson2.dubbo.DriverCard card = 16;</code>
     * @return The card.
     */
    DriverCard getCard();
    /**
     * <code>.com.alibaba.fastjson2.dubbo.DriverCard card = 16;</code>
     */
    DriverCardOrBuilder getCardOrBuilder();

    /**
     * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
     */
    java.util.List<DriverCard>
        getCardsList();
    /**
     * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
     */
    DriverCard getCards(int index);
    /**
     * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
     */
    int getCardsCount();
    /**
     * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
     */
    java.util.List<? extends DriverCardOrBuilder>
        getCardsOrBuilderList();
    /**
     * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
     */
    DriverCardOrBuilder getCardsOrBuilder(
        int index);

    /**
     * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
     */
    int getCardsmapCount();
    /**
     * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
     */
    boolean containsCardsmap(
        String key);
    /**
     * Use {@link #getCardsmapMap()} instead.
     */
    @Deprecated
    java.util.Map<String, DriverCard>
    getCardsmap();
    /**
     * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
     */
    java.util.Map<String, DriverCard>
    getCardsmapMap();
    /**
     * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
     */

    /* nullable */
DriverCard getCardsmapOrDefault(
        String key,
        /* nullable */
DriverCard defaultValue);
    /**
     * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
     */

    DriverCard getCardsmapOrThrow(
        String key);
  }
  /**
   * Protobuf type {@code com.alibaba.fastjson2.dubbo.GooglePBResponseType}
   */
  public static final class GooglePBResponseType extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:com.alibaba.fastjson2.dubbo.GooglePBResponseType)
      GooglePBResponseTypeOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use GooglePBResponseType.newBuilder() to construct.
    private GooglePBResponseType(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private GooglePBResponseType() {
      string_ = "";
      bytesType_ = com.google.protobuf.ByteString.EMPTY;
      cards_ = java.util.Collections.emptyList();
    }

    @Override
    @SuppressWarnings({"unused"})
    protected Object newInstance(
        UnusedPrivateParameter unused) {
      return new GooglePBResponseType();
    }

    @Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return GoogleProtobufBasic.internal_static_com_alibaba_fastjson2_dubbo_GooglePBResponseType_descriptor;
    }

    @SuppressWarnings({"rawtypes"})
    @Override
    protected com.google.protobuf.MapField internalGetMapField(
        int number) {
      switch (number) {
        case 18:
          return internalGetCardsmap();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    @Override
    protected FieldAccessorTable
        internalGetFieldAccessorTable() {
      return GoogleProtobufBasic.internal_static_com_alibaba_fastjson2_dubbo_GooglePBResponseType_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              GooglePBResponseType.class, Builder.class);
    }

    public static final int DOUBLE_FIELD_NUMBER = 1;
    private double double_;
    /**
     * <code>double double = 1;</code>
     * @return The double.
     */
    @Override
    public double getDouble() {
      return double_;
    }

    public static final int FLOAT_FIELD_NUMBER = 2;
    private float float_;
    /**
     * <code>float float = 2;</code>
     * @return The float.
     */
    @Override
    public float getFloat() {
      return float_;
    }

    public static final int INT32_FIELD_NUMBER = 3;
    private int int32_;
    /**
     * <code>int32 int32 = 3;</code>
     * @return The int32.
     */
    @Override
    public int getInt32() {
      return int32_;
    }

    public static final int INT64_FIELD_NUMBER = 4;
    private long int64_;
    /**
     * <code>int64 int64 = 4;</code>
     * @return The int64.
     */
    @Override
    public long getInt64() {
      return int64_;
    }

    public static final int UINT32_FIELD_NUMBER = 5;
    private int uint32_;
    /**
     * <code>uint32 uint32 = 5;</code>
     * @return The uint32.
     */
    @Override
    public int getUint32() {
      return uint32_;
    }

    public static final int UINT64_FIELD_NUMBER = 6;
    private long uint64_;
    /**
     * <code>uint64 uint64 = 6;</code>
     * @return The uint64.
     */
    @Override
    public long getUint64() {
      return uint64_;
    }

    public static final int SINT32_FIELD_NUMBER = 7;
    private int sint32_;
    /**
     * <code>sint32 sint32 = 7;</code>
     * @return The sint32.
     */
    @Override
    public int getSint32() {
      return sint32_;
    }

    public static final int SINT64_FIELD_NUMBER = 8;
    private long sint64_;
    /**
     * <code>sint64 sint64 = 8;</code>
     * @return The sint64.
     */
    @Override
    public long getSint64() {
      return sint64_;
    }

    public static final int FIXED32_FIELD_NUMBER = 9;
    private int fixed32_;
    /**
     * <code>fixed32 fixed32 = 9;</code>
     * @return The fixed32.
     */
    @Override
    public int getFixed32() {
      return fixed32_;
    }

    public static final int FIXED64_FIELD_NUMBER = 10;
    private long fixed64_;
    /**
     * <code>fixed64 fixed64 = 10;</code>
     * @return The fixed64.
     */
    @Override
    public long getFixed64() {
      return fixed64_;
    }

    public static final int SFIXED32_FIELD_NUMBER = 11;
    private int sfixed32_;
    /**
     * <code>sfixed32 sfixed32 = 11;</code>
     * @return The sfixed32.
     */
    @Override
    public int getSfixed32() {
      return sfixed32_;
    }

    public static final int SFIXED64_FIELD_NUMBER = 12;
    private long sfixed64_;
    /**
     * <code>sfixed64 sfixed64 = 12;</code>
     * @return The sfixed64.
     */
    @Override
    public long getSfixed64() {
      return sfixed64_;
    }

    public static final int BOOL_FIELD_NUMBER = 13;
    private boolean bool_;
    /**
     * <code>bool bool = 13;</code>
     * @return The bool.
     */
    @Override
    public boolean getBool() {
      return bool_;
    }

    public static final int STRING_FIELD_NUMBER = 14;
    private volatile Object string_;
    /**
     * <code>string string = 14;</code>
     * @return The string.
     */
    @Override
    public String getString() {
      Object ref = string_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        string_ = s;
        return s;
      }
    }
    /**
     * <code>string string = 14;</code>
     * @return The bytes for string.
     */
    @Override
    public com.google.protobuf.ByteString
        getStringBytes() {
      Object ref = string_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b =
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        string_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int BYTESTYPE_FIELD_NUMBER = 15;
    private com.google.protobuf.ByteString bytesType_;
    /**
     * <code>bytes bytesType = 15;</code>
     * @return The bytesType.
     */
    @Override
    public com.google.protobuf.ByteString getBytesType() {
      return bytesType_;
    }

    public static final int CARD_FIELD_NUMBER = 16;
    private DriverCard card_;
    /**
     * <code>.com.alibaba.fastjson2.dubbo.DriverCard card = 16;</code>
     * @return Whether the card field is set.
     */
    @Override
    public boolean hasCard() {
      return card_ != null;
    }
    /**
     * <code>.com.alibaba.fastjson2.dubbo.DriverCard card = 16;</code>
     * @return The card.
     */
    @Override
    public DriverCard getCard() {
      return card_ == null ? DriverCard.getDefaultInstance() : card_;
    }
    /**
     * <code>.com.alibaba.fastjson2.dubbo.DriverCard card = 16;</code>
     */
    @Override
    public DriverCardOrBuilder getCardOrBuilder() {
      return getCard();
    }

    public static final int CARDS_FIELD_NUMBER = 17;
    private java.util.List<DriverCard> cards_;
    /**
     * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
     */
    @Override
    public java.util.List<DriverCard> getCardsList() {
      return cards_;
    }
    /**
     * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
     */
    @Override
    public java.util.List<? extends DriverCardOrBuilder>
        getCardsOrBuilderList() {
      return cards_;
    }
    /**
     * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
     */
    @Override
    public int getCardsCount() {
      return cards_.size();
    }
    /**
     * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
     */
    @Override
    public DriverCard getCards(int index) {
      return cards_.get(index);
    }
    /**
     * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
     */
    @Override
    public DriverCardOrBuilder getCardsOrBuilder(
        int index) {
      return cards_.get(index);
    }

    public static final int CARDSMAP_FIELD_NUMBER = 18;
    private static final class CardsmapDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          String, DriverCard> defaultEntry =
              com.google.protobuf.MapEntry
              .<String, DriverCard>newDefaultInstance(
                  GoogleProtobufBasic.internal_static_com_alibaba_fastjson2_dubbo_GooglePBResponseType_CardsmapEntry_descriptor,
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.MESSAGE,
                  DriverCard.getDefaultInstance());
    }
    private com.google.protobuf.MapField<
        String, DriverCard> cardsmap_;
    private com.google.protobuf.MapField<String, DriverCard>
    internalGetCardsmap() {
      if (cardsmap_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            CardsmapDefaultEntryHolder.defaultEntry);
      }
      return cardsmap_;
    }

    public int getCardsmapCount() {
      return internalGetCardsmap().getMap().size();
    }
    /**
     * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
     */

    @Override
    public boolean containsCardsmap(
        String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      return internalGetCardsmap().getMap().containsKey(key);
    }
    /**
     * Use {@link #getCardsmapMap()} instead.
     */
    @Override
    @Deprecated
    public java.util.Map<String, DriverCard> getCardsmap() {
      return getCardsmapMap();
    }
    /**
     * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
     */
    @Override

    public java.util.Map<String, DriverCard> getCardsmapMap() {
      return internalGetCardsmap().getMap();
    }
    /**
     * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
     */
    @Override

    public DriverCard getCardsmapOrDefault(
        String key,
        DriverCard defaultValue) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map<String, DriverCard> map =
          internalGetCardsmap().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
     */
    @Override

    public DriverCard getCardsmapOrThrow(
        String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map<String, DriverCard> map =
          internalGetCardsmap().getMap();
      if (!map.containsKey(key)) {
        throw new IllegalArgumentException();
      }
      return map.get(key);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (Double.doubleToRawLongBits(double_) != 0) {
        output.writeDouble(1, double_);
      }
      if (Float.floatToRawIntBits(float_) != 0) {
        output.writeFloat(2, float_);
      }
      if (int32_ != 0) {
        output.writeInt32(3, int32_);
      }
      if (int64_ != 0L) {
        output.writeInt64(4, int64_);
      }
      if (uint32_ != 0) {
        output.writeUInt32(5, uint32_);
      }
      if (uint64_ != 0L) {
        output.writeUInt64(6, uint64_);
      }
      if (sint32_ != 0) {
        output.writeSInt32(7, sint32_);
      }
      if (sint64_ != 0L) {
        output.writeSInt64(8, sint64_);
      }
      if (fixed32_ != 0) {
        output.writeFixed32(9, fixed32_);
      }
      if (fixed64_ != 0L) {
        output.writeFixed64(10, fixed64_);
      }
      if (sfixed32_ != 0) {
        output.writeSFixed32(11, sfixed32_);
      }
      if (sfixed64_ != 0L) {
        output.writeSFixed64(12, sfixed64_);
      }
      if (bool_ != false) {
        output.writeBool(13, bool_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(string_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 14, string_);
      }
      if (!bytesType_.isEmpty()) {
        output.writeBytes(15, bytesType_);
      }
      if (card_ != null) {
        output.writeMessage(16, getCard());
      }
      for (int i = 0; i < cards_.size(); i++) {
        output.writeMessage(17, cards_.get(i));
      }
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetCardsmap(),
          CardsmapDefaultEntryHolder.defaultEntry,
          18);
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (Double.doubleToRawLongBits(double_) != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeDoubleSize(1, double_);
      }
      if (Float.floatToRawIntBits(float_) != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(2, float_);
      }
      if (int32_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, int32_);
      }
      if (int64_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(4, int64_);
      }
      if (uint32_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(5, uint32_);
      }
      if (uint64_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(6, uint64_);
      }
      if (sint32_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeSInt32Size(7, sint32_);
      }
      if (sint64_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeSInt64Size(8, sint64_);
      }
      if (fixed32_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(9, fixed32_);
      }
      if (fixed64_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed64Size(10, fixed64_);
      }
      if (sfixed32_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeSFixed32Size(11, sfixed32_);
      }
      if (sfixed64_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeSFixed64Size(12, sfixed64_);
      }
      if (bool_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(13, bool_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(string_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(14, string_);
      }
      if (!bytesType_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(15, bytesType_);
      }
      if (card_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(16, getCard());
      }
      for (int i = 0; i < cards_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(17, cards_.get(i));
      }
      for (java.util.Map.Entry<String, DriverCard> entry
           : internalGetCardsmap().getMap().entrySet()) {
        com.google.protobuf.MapEntry<String, DriverCard>
        cardsmap__ = CardsmapDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(18, cardsmap__);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @Override
    public boolean equals(final Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof GooglePBResponseType)) {
        return super.equals(obj);
      }
      GooglePBResponseType other = (GooglePBResponseType) obj;

      if (Double.doubleToLongBits(getDouble())
          != Double.doubleToLongBits(
              other.getDouble())) return false;
      if (Float.floatToIntBits(getFloat())
          != Float.floatToIntBits(
              other.getFloat())) return false;
      if (getInt32()
          != other.getInt32()) return false;
      if (getInt64()
          != other.getInt64()) return false;
      if (getUint32()
          != other.getUint32()) return false;
      if (getUint64()
          != other.getUint64()) return false;
      if (getSint32()
          != other.getSint32()) return false;
      if (getSint64()
          != other.getSint64()) return false;
      if (getFixed32()
          != other.getFixed32()) return false;
      if (getFixed64()
          != other.getFixed64()) return false;
      if (getSfixed32()
          != other.getSfixed32()) return false;
      if (getSfixed64()
          != other.getSfixed64()) return false;
      if (getBool()
          != other.getBool()) return false;
      if (!getString()
          .equals(other.getString())) return false;
      if (!getBytesType()
          .equals(other.getBytesType())) return false;
      if (hasCard() != other.hasCard()) return false;
      if (hasCard()) {
        if (!getCard()
            .equals(other.getCard())) return false;
      }
      if (!getCardsList()
          .equals(other.getCardsList())) return false;
      if (!internalGetCardsmap().equals(
          other.internalGetCardsmap())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + DOUBLE_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          Double.doubleToLongBits(getDouble()));
      hash = (37 * hash) + FLOAT_FIELD_NUMBER;
      hash = (53 * hash) + Float.floatToIntBits(
          getFloat());
      hash = (37 * hash) + INT32_FIELD_NUMBER;
      hash = (53 * hash) + getInt32();
      hash = (37 * hash) + INT64_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getInt64());
      hash = (37 * hash) + UINT32_FIELD_NUMBER;
      hash = (53 * hash) + getUint32();
      hash = (37 * hash) + UINT64_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getUint64());
      hash = (37 * hash) + SINT32_FIELD_NUMBER;
      hash = (53 * hash) + getSint32();
      hash = (37 * hash) + SINT64_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getSint64());
      hash = (37 * hash) + FIXED32_FIELD_NUMBER;
      hash = (53 * hash) + getFixed32();
      hash = (37 * hash) + FIXED64_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getFixed64());
      hash = (37 * hash) + SFIXED32_FIELD_NUMBER;
      hash = (53 * hash) + getSfixed32();
      hash = (37 * hash) + SFIXED64_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getSfixed64());
      hash = (37 * hash) + BOOL_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getBool());
      hash = (37 * hash) + STRING_FIELD_NUMBER;
      hash = (53 * hash) + getString().hashCode();
      hash = (37 * hash) + BYTESTYPE_FIELD_NUMBER;
      hash = (53 * hash) + getBytesType().hashCode();
      if (hasCard()) {
        hash = (37 * hash) + CARD_FIELD_NUMBER;
        hash = (53 * hash) + getCard().hashCode();
      }
      if (getCardsCount() > 0) {
        hash = (37 * hash) + CARDS_FIELD_NUMBER;
        hash = (53 * hash) + getCardsList().hashCode();
      }
      if (!internalGetCardsmap().getMap().isEmpty()) {
        hash = (37 * hash) + CARDSMAP_FIELD_NUMBER;
        hash = (53 * hash) + internalGetCardsmap().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

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

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

    @Override
    protected Builder newBuilderForType(
        BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code com.alibaba.fastjson2.dubbo.GooglePBResponseType}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:com.alibaba.fastjson2.dubbo.GooglePBResponseType)
        GooglePBResponseTypeOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return GoogleProtobufBasic.internal_static_com_alibaba_fastjson2_dubbo_GooglePBResponseType_descriptor;
      }

      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMapField(
          int number) {
        switch (number) {
          case 18:
            return internalGetCardsmap();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMutableMapField(
          int number) {
        switch (number) {
          case 18:
            return internalGetMutableCardsmap();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @Override
      protected FieldAccessorTable
          internalGetFieldAccessorTable() {
        return GoogleProtobufBasic.internal_static_com_alibaba_fastjson2_dubbo_GooglePBResponseType_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                GooglePBResponseType.class, Builder.class);
      }

      // Construct using com.alibaba.fastjson2.dubbo.GoogleProtobufBasic.GooglePBResponseType.newBuilder()
      private Builder() {

      }

      private Builder(
          BuilderParent parent) {
        super(parent);

      }
      @Override
      public Builder clear() {
        super.clear();
        double_ = 0D;

        float_ = 0F;

        int32_ = 0;

        int64_ = 0L;

        uint32_ = 0;

        uint64_ = 0L;

        sint32_ = 0;

        sint64_ = 0L;

        fixed32_ = 0;

        fixed64_ = 0L;

        sfixed32_ = 0;

        sfixed64_ = 0L;

        bool_ = false;

        string_ = "";

        bytesType_ = com.google.protobuf.ByteString.EMPTY;

        if (cardBuilder_ == null) {
          card_ = null;
        } else {
          card_ = null;
          cardBuilder_ = null;
        }
        if (cardsBuilder_ == null) {
          cards_ = java.util.Collections.emptyList();
        } else {
          cards_ = null;
          cardsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        internalGetMutableCardsmap().clear();
        return this;
      }

      @Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return GoogleProtobufBasic.internal_static_com_alibaba_fastjson2_dubbo_GooglePBResponseType_descriptor;
      }

      @Override
      public GooglePBResponseType getDefaultInstanceForType() {
        return GooglePBResponseType.getDefaultInstance();
      }

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

      @Override
      public GooglePBResponseType buildPartial() {
        GooglePBResponseType result = new GooglePBResponseType(this);
        int from_bitField0_ = bitField0_;
        result.double_ = double_;
        result.float_ = float_;
        result.int32_ = int32_;
        result.int64_ = int64_;
        result.uint32_ = uint32_;
        result.uint64_ = uint64_;
        result.sint32_ = sint32_;
        result.sint64_ = sint64_;
        result.fixed32_ = fixed32_;
        result.fixed64_ = fixed64_;
        result.sfixed32_ = sfixed32_;
        result.sfixed64_ = sfixed64_;
        result.bool_ = bool_;
        result.string_ = string_;
        result.bytesType_ = bytesType_;
        if (cardBuilder_ == null) {
          result.card_ = card_;
        } else {
          result.card_ = cardBuilder_.build();
        }
        if (cardsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            cards_ = java.util.Collections.unmodifiableList(cards_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.cards_ = cards_;
        } else {
          result.cards_ = cardsBuilder_.build();
        }
        result.cardsmap_ = internalGetCardsmap();
        result.cardsmap_.makeImmutable();
        onBuilt();
        return result;
      }

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

      public Builder mergeFrom(GooglePBResponseType other) {
        if (other == GooglePBResponseType.getDefaultInstance()) return this;
        if (other.getDouble() != 0D) {
          setDouble(other.getDouble());
        }
        if (other.getFloat() != 0F) {
          setFloat(other.getFloat());
        }
        if (other.getInt32() != 0) {
          setInt32(other.getInt32());
        }
        if (other.getInt64() != 0L) {
          setInt64(other.getInt64());
        }
        if (other.getUint32() != 0) {
          setUint32(other.getUint32());
        }
        if (other.getUint64() != 0L) {
          setUint64(other.getUint64());
        }
        if (other.getSint32() != 0) {
          setSint32(other.getSint32());
        }
        if (other.getSint64() != 0L) {
          setSint64(other.getSint64());
        }
        if (other.getFixed32() != 0) {
          setFixed32(other.getFixed32());
        }
        if (other.getFixed64() != 0L) {
          setFixed64(other.getFixed64());
        }
        if (other.getSfixed32() != 0) {
          setSfixed32(other.getSfixed32());
        }
        if (other.getSfixed64() != 0L) {
          setSfixed64(other.getSfixed64());
        }
        if (other.getBool() != false) {
          setBool(other.getBool());
        }
        if (!other.getString().isEmpty()) {
          string_ = other.string_;
          onChanged();
        }
        if (other.getBytesType() != com.google.protobuf.ByteString.EMPTY) {
          setBytesType(other.getBytesType());
        }
        if (other.hasCard()) {
          mergeCard(other.getCard());
        }
        if (cardsBuilder_ == null) {
          if (!other.cards_.isEmpty()) {
            if (cards_.isEmpty()) {
              cards_ = other.cards_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureCardsIsMutable();
              cards_.addAll(other.cards_);
            }
            onChanged();
          }
        } else {
          if (!other.cards_.isEmpty()) {
            if (cardsBuilder_.isEmpty()) {
              cardsBuilder_.dispose();
              cardsBuilder_ = null;
              cards_ = other.cards_;
              bitField0_ = (bitField0_ & ~0x00000001);
              cardsBuilder_ =
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getCardsFieldBuilder() : null;
            } else {
              cardsBuilder_.addAllMessages(other.cards_);
            }
          }
        }
        internalGetMutableCardsmap().mergeFrom(
            other.internalGetCardsmap());
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 9: {
                double_ = input.readDouble();

                break;
              } // case 9
              case 21: {
                float_ = input.readFloat();

                break;
              } // case 21
              case 24: {
                int32_ = input.readInt32();

                break;
              } // case 24
              case 32: {
                int64_ = input.readInt64();

                break;
              } // case 32
              case 40: {
                uint32_ = input.readUInt32();

                break;
              } // case 40
              case 48: {
                uint64_ = input.readUInt64();

                break;
              } // case 48
              case 56: {
                sint32_ = input.readSInt32();

                break;
              } // case 56
              case 64: {
                sint64_ = input.readSInt64();

                break;
              } // case 64
              case 77: {
                fixed32_ = input.readFixed32();

                break;
              } // case 77
              case 81: {
                fixed64_ = input.readFixed64();

                break;
              } // case 81
              case 93: {
                sfixed32_ = input.readSFixed32();

                break;
              } // case 93
              case 97: {
                sfixed64_ = input.readSFixed64();

                break;
              } // case 97
              case 104: {
                bool_ = input.readBool();

                break;
              } // case 104
              case 114: {
                string_ = input.readStringRequireUtf8();

                break;
              } // case 114
              case 122: {
                bytesType_ = input.readBytes();

                break;
              } // case 122
              case 130: {
                input.readMessage(
                    getCardFieldBuilder().getBuilder(),
                    extensionRegistry);

                break;
              } // case 130
              case 138: {
                DriverCard m =
                    input.readMessage(
                        DriverCard.parser(),
                        extensionRegistry);
                if (cardsBuilder_ == null) {
                  ensureCardsIsMutable();
                  cards_.add(m);
                } else {
                  cardsBuilder_.addMessage(m);
                }
                break;
              } // case 138
              case 146: {
                com.google.protobuf.MapEntry<String, DriverCard>
                cardsmap__ = input.readMessage(
                    CardsmapDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
                internalGetMutableCardsmap().getMutableMap().put(
                    cardsmap__.getKey(), cardsmap__.getValue());
                break;
              } // case 146
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private double double_ ;
      /**
       * <code>double double = 1;</code>
       * @return The double.
       */
      @Override
      public double getDouble() {
        return double_;
      }
      /**
       * <code>double double = 1;</code>
       * @param value The double to set.
       * @return This builder for chaining.
       */
      public Builder setDouble(double value) {

        double_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>double double = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearDouble() {

        double_ = 0D;
        onChanged();
        return this;
      }

      private float float_ ;
      /**
       * <code>float float = 2;</code>
       * @return The float.
       */
      @Override
      public float getFloat() {
        return float_;
      }
      /**
       * <code>float float = 2;</code>
       * @param value The float to set.
       * @return This builder for chaining.
       */
      public Builder setFloat(float value) {

        float_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>float float = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearFloat() {

        float_ = 0F;
        onChanged();
        return this;
      }

      private int int32_ ;
      /**
       * <code>int32 int32 = 3;</code>
       * @return The int32.
       */
      @Override
      public int getInt32() {
        return int32_;
      }
      /**
       * <code>int32 int32 = 3;</code>
       * @param value The int32 to set.
       * @return This builder for chaining.
       */
      public Builder setInt32(int value) {

        int32_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int32 int32 = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearInt32() {

        int32_ = 0;
        onChanged();
        return this;
      }

      private long int64_ ;
      /**
       * <code>int64 int64 = 4;</code>
       * @return The int64.
       */
      @Override
      public long getInt64() {
        return int64_;
      }
      /**
       * <code>int64 int64 = 4;</code>
       * @param value The int64 to set.
       * @return This builder for chaining.
       */
      public Builder setInt64(long value) {

        int64_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int64 int64 = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearInt64() {

        int64_ = 0L;
        onChanged();
        return this;
      }

      private int uint32_ ;
      /**
       * <code>uint32 uint32 = 5;</code>
       * @return The uint32.
       */
      @Override
      public int getUint32() {
        return uint32_;
      }
      /**
       * <code>uint32 uint32 = 5;</code>
       * @param value The uint32 to set.
       * @return This builder for chaining.
       */
      public Builder setUint32(int value) {

        uint32_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 uint32 = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearUint32() {

        uint32_ = 0;
        onChanged();
        return this;
      }

      private long uint64_ ;
      /**
       * <code>uint64 uint64 = 6;</code>
       * @return The uint64.
       */
      @Override
      public long getUint64() {
        return uint64_;
      }
      /**
       * <code>uint64 uint64 = 6;</code>
       * @param value The uint64 to set.
       * @return This builder for chaining.
       */
      public Builder setUint64(long value) {

        uint64_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint64 uint64 = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearUint64() {

        uint64_ = 0L;
        onChanged();
        return this;
      }

      private int sint32_ ;
      /**
       * <code>sint32 sint32 = 7;</code>
       * @return The sint32.
       */
      @Override
      public int getSint32() {
        return sint32_;
      }
      /**
       * <code>sint32 sint32 = 7;</code>
       * @param value The sint32 to set.
       * @return This builder for chaining.
       */
      public Builder setSint32(int value) {

        sint32_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>sint32 sint32 = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearSint32() {

        sint32_ = 0;
        onChanged();
        return this;
      }

      private long sint64_ ;
      /**
       * <code>sint64 sint64 = 8;</code>
       * @return The sint64.
       */
      @Override
      public long getSint64() {
        return sint64_;
      }
      /**
       * <code>sint64 sint64 = 8;</code>
       * @param value The sint64 to set.
       * @return This builder for chaining.
       */
      public Builder setSint64(long value) {

        sint64_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>sint64 sint64 = 8;</code>
       * @return This builder for chaining.
       */
      public Builder clearSint64() {

        sint64_ = 0L;
        onChanged();
        return this;
      }

      private int fixed32_ ;
      /**
       * <code>fixed32 fixed32 = 9;</code>
       * @return The fixed32.
       */
      @Override
      public int getFixed32() {
        return fixed32_;
      }
      /**
       * <code>fixed32 fixed32 = 9;</code>
       * @param value The fixed32 to set.
       * @return This builder for chaining.
       */
      public Builder setFixed32(int value) {

        fixed32_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>fixed32 fixed32 = 9;</code>
       * @return This builder for chaining.
       */
      public Builder clearFixed32() {

        fixed32_ = 0;
        onChanged();
        return this;
      }

      private long fixed64_ ;
      /**
       * <code>fixed64 fixed64 = 10;</code>
       * @return The fixed64.
       */
      @Override
      public long getFixed64() {
        return fixed64_;
      }
      /**
       * <code>fixed64 fixed64 = 10;</code>
       * @param value The fixed64 to set.
       * @return This builder for chaining.
       */
      public Builder setFixed64(long value) {

        fixed64_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>fixed64 fixed64 = 10;</code>
       * @return This builder for chaining.
       */
      public Builder clearFixed64() {

        fixed64_ = 0L;
        onChanged();
        return this;
      }

      private int sfixed32_ ;
      /**
       * <code>sfixed32 sfixed32 = 11;</code>
       * @return The sfixed32.
       */
      @Override
      public int getSfixed32() {
        return sfixed32_;
      }
      /**
       * <code>sfixed32 sfixed32 = 11;</code>
       * @param value The sfixed32 to set.
       * @return This builder for chaining.
       */
      public Builder setSfixed32(int value) {

        sfixed32_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>sfixed32 sfixed32 = 11;</code>
       * @return This builder for chaining.
       */
      public Builder clearSfixed32() {

        sfixed32_ = 0;
        onChanged();
        return this;
      }

      private long sfixed64_ ;
      /**
       * <code>sfixed64 sfixed64 = 12;</code>
       * @return The sfixed64.
       */
      @Override
      public long getSfixed64() {
        return sfixed64_;
      }
      /**
       * <code>sfixed64 sfixed64 = 12;</code>
       * @param value The sfixed64 to set.
       * @return This builder for chaining.
       */
      public Builder setSfixed64(long value) {

        sfixed64_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>sfixed64 sfixed64 = 12;</code>
       * @return This builder for chaining.
       */
      public Builder clearSfixed64() {

        sfixed64_ = 0L;
        onChanged();
        return this;
      }

      private boolean bool_ ;
      /**
       * <code>bool bool = 13;</code>
       * @return The bool.
       */
      @Override
      public boolean getBool() {
        return bool_;
      }
      /**
       * <code>bool bool = 13;</code>
       * @param value The bool to set.
       * @return This builder for chaining.
       */
      public Builder setBool(boolean value) {

        bool_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bool bool = 13;</code>
       * @return This builder for chaining.
       */
      public Builder clearBool() {

        bool_ = false;
        onChanged();
        return this;
      }

      private Object string_ = "";
      /**
       * <code>string string = 14;</code>
       * @return The string.
       */
      public String getString() {
        Object ref = string_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          string_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <code>string string = 14;</code>
       * @return The bytes for string.
       */
      public com.google.protobuf.ByteString
          getStringBytes() {
        Object ref = string_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b =
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          string_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string string = 14;</code>
       * @param value The string to set.
       * @return This builder for chaining.
       */
      public Builder setString(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }

        string_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string string = 14;</code>
       * @return This builder for chaining.
       */
      public Builder clearString() {

        string_ = getDefaultInstance().getString();
        onChanged();
        return this;
      }
      /**
       * <code>string string = 14;</code>
       * @param value The bytes for string to set.
       * @return This builder for chaining.
       */
      public Builder setStringBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);

        string_ = value;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString bytesType_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>bytes bytesType = 15;</code>
       * @return The bytesType.
       */
      @Override
      public com.google.protobuf.ByteString getBytesType() {
        return bytesType_;
      }
      /**
       * <code>bytes bytesType = 15;</code>
       * @param value The bytesType to set.
       * @return This builder for chaining.
       */
      public Builder setBytesType(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }

        bytesType_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bytes bytesType = 15;</code>
       * @return This builder for chaining.
       */
      public Builder clearBytesType() {

        bytesType_ = getDefaultInstance().getBytesType();
        onChanged();
        return this;
      }

      private DriverCard card_;
      private com.google.protobuf.SingleFieldBuilderV3<
          DriverCard, DriverCard.Builder, DriverCardOrBuilder> cardBuilder_;
      /**
       * <code>.com.alibaba.fastjson2.dubbo.DriverCard card = 16;</code>
       * @return Whether the card field is set.
       */
      public boolean hasCard() {
        return cardBuilder_ != null || card_ != null;
      }
      /**
       * <code>.com.alibaba.fastjson2.dubbo.DriverCard card = 16;</code>
       * @return The card.
       */
      public DriverCard getCard() {
        if (cardBuilder_ == null) {
          return card_ == null ? DriverCard.getDefaultInstance() : card_;
        } else {
          return cardBuilder_.getMessage();
        }
      }
      /**
       * <code>.com.alibaba.fastjson2.dubbo.DriverCard card = 16;</code>
       */
      public Builder setCard(DriverCard value) {
        if (cardBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          card_ = value;
          onChanged();
        } else {
          cardBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>.com.alibaba.fastjson2.dubbo.DriverCard card = 16;</code>
       */
      public Builder setCard(
          DriverCard.Builder builderForValue) {
        if (cardBuilder_ == null) {
          card_ = builderForValue.build();
          onChanged();
        } else {
          cardBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>.com.alibaba.fastjson2.dubbo.DriverCard card = 16;</code>
       */
      public Builder mergeCard(DriverCard value) {
        if (cardBuilder_ == null) {
          if (card_ != null) {
            card_ =
              DriverCard.newBuilder(card_).mergeFrom(value).buildPartial();
          } else {
            card_ = value;
          }
          onChanged();
        } else {
          cardBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>.com.alibaba.fastjson2.dubbo.DriverCard card = 16;</code>
       */
      public Builder clearCard() {
        if (cardBuilder_ == null) {
          card_ = null;
          onChanged();
        } else {
          card_ = null;
          cardBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>.com.alibaba.fastjson2.dubbo.DriverCard card = 16;</code>
       */
      public DriverCard.Builder getCardBuilder() {

        onChanged();
        return getCardFieldBuilder().getBuilder();
      }
      /**
       * <code>.com.alibaba.fastjson2.dubbo.DriverCard card = 16;</code>
       */
      public DriverCardOrBuilder getCardOrBuilder() {
        if (cardBuilder_ != null) {
          return cardBuilder_.getMessageOrBuilder();
        } else {
          return card_ == null ?
              DriverCard.getDefaultInstance() : card_;
        }
      }
      /**
       * <code>.com.alibaba.fastjson2.dubbo.DriverCard card = 16;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          DriverCard, DriverCard.Builder, DriverCardOrBuilder>
          getCardFieldBuilder() {
        if (cardBuilder_ == null) {
          cardBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              DriverCard, DriverCard.Builder, DriverCardOrBuilder>(
                  getCard(),
                  getParentForChildren(),
                  isClean());
          card_ = null;
        }
        return cardBuilder_;
      }

      private java.util.List<DriverCard> cards_ =
        java.util.Collections.emptyList();
      private void ensureCardsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          cards_ = new java.util.ArrayList<DriverCard>(cards_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          DriverCard, DriverCard.Builder, DriverCardOrBuilder> cardsBuilder_;

      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public java.util.List<DriverCard> getCardsList() {
        if (cardsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(cards_);
        } else {
          return cardsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public int getCardsCount() {
        if (cardsBuilder_ == null) {
          return cards_.size();
        } else {
          return cardsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public DriverCard getCards(int index) {
        if (cardsBuilder_ == null) {
          return cards_.get(index);
        } else {
          return cardsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public Builder setCards(
          int index, DriverCard value) {
        if (cardsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureCardsIsMutable();
          cards_.set(index, value);
          onChanged();
        } else {
          cardsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public Builder setCards(
          int index, DriverCard.Builder builderForValue) {
        if (cardsBuilder_ == null) {
          ensureCardsIsMutable();
          cards_.set(index, builderForValue.build());
          onChanged();
        } else {
          cardsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public Builder addCards(DriverCard value) {
        if (cardsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureCardsIsMutable();
          cards_.add(value);
          onChanged();
        } else {
          cardsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public Builder addCards(
          int index, DriverCard value) {
        if (cardsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureCardsIsMutable();
          cards_.add(index, value);
          onChanged();
        } else {
          cardsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public Builder addCards(
          DriverCard.Builder builderForValue) {
        if (cardsBuilder_ == null) {
          ensureCardsIsMutable();
          cards_.add(builderForValue.build());
          onChanged();
        } else {
          cardsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public Builder addCards(
          int index, DriverCard.Builder builderForValue) {
        if (cardsBuilder_ == null) {
          ensureCardsIsMutable();
          cards_.add(index, builderForValue.build());
          onChanged();
        } else {
          cardsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public Builder addAllCards(
          Iterable<? extends DriverCard> values) {
        if (cardsBuilder_ == null) {
          ensureCardsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, cards_);
          onChanged();
        } else {
          cardsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public Builder clearCards() {
        if (cardsBuilder_ == null) {
          cards_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          cardsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public Builder removeCards(int index) {
        if (cardsBuilder_ == null) {
          ensureCardsIsMutable();
          cards_.remove(index);
          onChanged();
        } else {
          cardsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public DriverCard.Builder getCardsBuilder(
          int index) {
        return getCardsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public DriverCardOrBuilder getCardsOrBuilder(
          int index) {
        if (cardsBuilder_ == null) {
          return cards_.get(index);  } else {
          return cardsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public java.util.List<? extends DriverCardOrBuilder>
           getCardsOrBuilderList() {
        if (cardsBuilder_ != null) {
          return cardsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(cards_);
        }
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public DriverCard.Builder addCardsBuilder() {
        return getCardsFieldBuilder().addBuilder(
            DriverCard.getDefaultInstance());
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public DriverCard.Builder addCardsBuilder(
          int index) {
        return getCardsFieldBuilder().addBuilder(
            index, DriverCard.getDefaultInstance());
      }
      /**
       * <code>repeated .com.alibaba.fastjson2.dubbo.DriverCard cards = 17;</code>
       */
      public java.util.List<DriverCard.Builder>
           getCardsBuilderList() {
        return getCardsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          DriverCard, DriverCard.Builder, DriverCardOrBuilder>
          getCardsFieldBuilder() {
        if (cardsBuilder_ == null) {
          cardsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              DriverCard, DriverCard.Builder, DriverCardOrBuilder>(
                  cards_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          cards_ = null;
        }
        return cardsBuilder_;
      }

      private com.google.protobuf.MapField<
          String, DriverCard> cardsmap_;
      private com.google.protobuf.MapField<String, DriverCard>
      internalGetCardsmap() {
        if (cardsmap_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              CardsmapDefaultEntryHolder.defaultEntry);
        }
        return cardsmap_;
      }
      private com.google.protobuf.MapField<String, DriverCard>
      internalGetMutableCardsmap() {
        onChanged();;
        if (cardsmap_ == null) {
          cardsmap_ = com.google.protobuf.MapField.newMapField(
              CardsmapDefaultEntryHolder.defaultEntry);
        }
        if (!cardsmap_.isMutable()) {
          cardsmap_ = cardsmap_.copy();
        }
        return cardsmap_;
      }

      public int getCardsmapCount() {
        return internalGetCardsmap().getMap().size();
      }
      /**
       * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
       */

      @Override
      public boolean containsCardsmap(
          String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        return internalGetCardsmap().getMap().containsKey(key);
      }
      /**
       * Use {@link #getCardsmapMap()} instead.
       */
      @Override
      @Deprecated
      public java.util.Map<String, DriverCard> getCardsmap() {
        return getCardsmapMap();
      }
      /**
       * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
       */
      @Override

      public java.util.Map<String, DriverCard> getCardsmapMap() {
        return internalGetCardsmap().getMap();
      }
      /**
       * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
       */
      @Override

      public DriverCard getCardsmapOrDefault(
          String key,
          DriverCard defaultValue) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map<String, DriverCard> map =
            internalGetCardsmap().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
       */
      @Override

      public DriverCard getCardsmapOrThrow(
          String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map<String, DriverCard> map =
            internalGetCardsmap().getMap();
        if (!map.containsKey(key)) {
          throw new IllegalArgumentException();
        }
        return map.get(key);
      }

      public Builder clearCardsmap() {
        internalGetMutableCardsmap().getMutableMap()
            .clear();
        return this;
      }
      /**
       * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
       */

      public Builder removeCardsmap(
          String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        internalGetMutableCardsmap().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @Deprecated
      public java.util.Map<String, DriverCard>
      getMutableCardsmap() {
        return internalGetMutableCardsmap().getMutableMap();
      }
      /**
       * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
       */
      public Builder putCardsmap(
          String key,
          DriverCard value) {
        if (key == null) { throw new NullPointerException("map key"); }
        if (value == null) {
  throw new NullPointerException("map value");
}

        internalGetMutableCardsmap().getMutableMap()
            .put(key, value);
        return this;
      }
      /**
       * <code>map&lt;string, .com.alibaba.fastjson2.dubbo.DriverCard&gt; cardsmap = 18;</code>
       */

      public Builder putAllCardsmap(
          java.util.Map<String, DriverCard> values) {
        internalGetMutableCardsmap().getMutableMap()
            .putAll(values);
        return this;
      }
      @Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:com.alibaba.fastjson2.dubbo.GooglePBResponseType)
    }

    // @@protoc_insertion_point(class_scope:com.alibaba.fastjson2.dubbo.GooglePBResponseType)
    private static final GooglePBResponseType DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new GooglePBResponseType();
    }

    public static GooglePBResponseType getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<GooglePBResponseType>
        PARSER = new com.google.protobuf.AbstractParser<GooglePBResponseType>() {
      @Override
      public GooglePBResponseType parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

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

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

    @Override
    public GooglePBResponseType getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_alibaba_fastjson2_dubbo_GooglePBRequestType_descriptor;
  private static final
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_alibaba_fastjson2_dubbo_GooglePBRequestType_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_alibaba_fastjson2_dubbo_GooglePBRequestType_CardsmapEntry_descriptor;
  private static final
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_alibaba_fastjson2_dubbo_GooglePBRequestType_CardsmapEntry_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_alibaba_fastjson2_dubbo_DriverCard_descriptor;
  private static final
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_alibaba_fastjson2_dubbo_DriverCard_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_alibaba_fastjson2_dubbo_GooglePBResponseType_descriptor;
  private static final
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_alibaba_fastjson2_dubbo_GooglePBResponseType_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_alibaba_fastjson2_dubbo_GooglePBResponseType_CardsmapEntry_descriptor;
  private static final
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_com_alibaba_fastjson2_dubbo_GooglePBResponseType_CardsmapEntry_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    String[] descriptorData = {
      "\n\031googleProtobufBasic.proto\022\033com.alibaba" +
      ".fastjson2.dubbo\"\244\004\n\023GooglePBRequestType" +
      "\022\016\n\006double\030\001 \001(\001\022\r\n\005float\030\002 \001(\002\022\r\n\005int32" +
      "\030\003 \001(\005\022\r\n\005int64\030\004 \001(\003\022\016\n\006uint32\030\005 \001(\r\022\016\n" +
      "\006uint64\030\006 \001(\004\022\016\n\006sint32\030\007 \001(\021\022\016\n\006sint64\030" +
      "\010 \001(\022\022\017\n\007fixed32\030\t \001(\007\022\017\n\007fixed64\030\n \001(\006\022" +
      "\020\n\010sfixed32\030\013 \001(\017\022\020\n\010sfixed64\030\014 \001(\020\022\014\n\004b" +
      "ool\030\r \001(\010\022\016\n\006string\030\016 \001(\t\022\021\n\tbytesType\030\017" +
      " \001(\014\0225\n\004card\030\020 \001(\0132\'.com.alibaba.fastjso" +
      "n2.dubbo.DriverCard\0226\n\005cards\030\021 \003(\0132\'.com" +
      ".alibaba.fastjson2.dubbo.DriverCard\022P\n\010c" +
      "ardsmap\030\022 \003(\0132>.com.alibaba.fastjson2.du" +
      "bbo.GooglePBRequestType.CardsmapEntry\032X\n" +
      "\rCardsmapEntry\022\013\n\003key\030\001 \001(\t\0226\n\005value\030\002 \001" +
      "(\0132\'.com.alibaba.fastjson2.dubbo.DriverC" +
      "ard:\0028\001\"Z\n\nDriverCard\0221\n\005level\030\001 \001(\0162\".c" +
      "om.alibaba.fastjson2.dubbo.LEVEL\022\n\n\002id\030\002" +
      " \001(\t\022\r\n\005years\030\003 \001(\005\"\246\004\n\024GooglePBResponse" +
      "Type\022\016\n\006double\030\001 \001(\001\022\r\n\005float\030\002 \001(\002\022\r\n\005i" +
      "nt32\030\003 \001(\005\022\r\n\005int64\030\004 \001(\003\022\016\n\006uint32\030\005 \001(" +
      "\r\022\016\n\006uint64\030\006 \001(\004\022\016\n\006sint32\030\007 \001(\021\022\016\n\006sin" +
      "t64\030\010 \001(\022\022\017\n\007fixed32\030\t \001(\007\022\017\n\007fixed64\030\n " +
      "\001(\006\022\020\n\010sfixed32\030\013 \001(\017\022\020\n\010sfixed64\030\014 \001(\020\022" +
      "\014\n\004bool\030\r \001(\010\022\016\n\006string\030\016 \001(\t\022\021\n\tbytesTy" +
      "pe\030\017 \001(\014\0225\n\004card\030\020 \001(\0132\'.com.alibaba.fas" +
      "tjson2.dubbo.DriverCard\0226\n\005cards\030\021 \003(\0132\'" +
      ".com.alibaba.fastjson2.dubbo.DriverCard\022" +
      "Q\n\010cardsmap\030\022 \003(\0132?.com.alibaba.fastjson" +
      "2.dubbo.GooglePBResponseType.CardsmapEnt" +
      "ry\032X\n\rCardsmapEntry\022\013\n\003key\030\001 \001(\t\0226\n\005valu" +
      "e\030\002 \001(\0132\'.com.alibaba.fastjson2.dubbo.Dr" +
      "iverCard:\0028\001*\037\n\005LEVEL\022\006\n\002C1\020\000\022\006\n\002C2\020\001\022\006\n" +
      "\002C3\020\0022\210\001\n\025CDubboGooglePBService\022o\n\010sayHe" +
      "llo\0220.com.alibaba.fastjson2.dubbo.Google" +
      "PBRequestType\0321.com.alibaba.fastjson2.du" +
      "bbo.GooglePBResponseTypeb\006proto3"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        });
    internal_static_com_alibaba_fastjson2_dubbo_GooglePBRequestType_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_com_alibaba_fastjson2_dubbo_GooglePBRequestType_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_alibaba_fastjson2_dubbo_GooglePBRequestType_descriptor,
        new String[] { "Double", "Float", "Int32", "Int64", "Uint32", "Uint64", "Sint32", "Sint64", "Fixed32", "Fixed64", "Sfixed32", "Sfixed64", "Bool", "String", "BytesType", "Card", "Cards", "Cardsmap", });
    internal_static_com_alibaba_fastjson2_dubbo_GooglePBRequestType_CardsmapEntry_descriptor =
      internal_static_com_alibaba_fastjson2_dubbo_GooglePBRequestType_descriptor.getNestedTypes().get(0);
    internal_static_com_alibaba_fastjson2_dubbo_GooglePBRequestType_CardsmapEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_alibaba_fastjson2_dubbo_GooglePBRequestType_CardsmapEntry_descriptor,
        new String[] { "Key", "Value", });
    internal_static_com_alibaba_fastjson2_dubbo_DriverCard_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_com_alibaba_fastjson2_dubbo_DriverCard_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_alibaba_fastjson2_dubbo_DriverCard_descriptor,
        new String[] { "Level", "Id", "Years", });
    internal_static_com_alibaba_fastjson2_dubbo_GooglePBResponseType_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_com_alibaba_fastjson2_dubbo_GooglePBResponseType_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_alibaba_fastjson2_dubbo_GooglePBResponseType_descriptor,
        new String[] { "Double", "Float", "Int32", "Int64", "Uint32", "Uint64", "Sint32", "Sint64", "Fixed32", "Fixed64", "Sfixed32", "Sfixed64", "Bool", "String", "BytesType", "Card", "Cards", "Cardsmap", });
    internal_static_com_alibaba_fastjson2_dubbo_GooglePBResponseType_CardsmapEntry_descriptor =
      internal_static_com_alibaba_fastjson2_dubbo_GooglePBResponseType_descriptor.getNestedTypes().get(0);
    internal_static_com_alibaba_fastjson2_dubbo_GooglePBResponseType_CardsmapEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_com_alibaba_fastjson2_dubbo_GooglePBResponseType_CardsmapEntry_descriptor,
        new String[] { "Key", "Value", });
  }

  // @@protoc_insertion_point(outer_class_scope)
}
