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

in.dragonbra.javasteam.protobufs.tf.BaseGcmessages Maven / Gradle / Ivy

The newest version!
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: in/dragonbra/javasteam/protobufs/tf/base_gcmessages.proto
// Protobuf Java Version: 4.28.0

package in.dragonbra.javasteam.protobufs.tf;

public final class BaseGcmessages {
  private BaseGcmessages() {}
  static {
    com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
      com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
      /* major= */ 4,
      /* minor= */ 28,
      /* patch= */ 0,
      /* suffix= */ "",
      BaseGcmessages.class.getName());
  }
  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 EGCBaseMsg}
   */
  public enum EGCBaseMsg
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * k_EMsgGCSystemMessage = 4001;
     */
    k_EMsgGCSystemMessage(4001),
    /**
     * k_EMsgGCReplicateConVars = 4002;
     */
    k_EMsgGCReplicateConVars(4002),
    /**
     * k_EMsgGCConVarUpdated = 4003;
     */
    k_EMsgGCConVarUpdated(4003),
    /**
     * k_EMsgGCServerAvailable = 4506;
     */
    k_EMsgGCServerAvailable(4506),
    /**
     * k_EMsgGCClientConnectToServer = 4507;
     */
    k_EMsgGCClientConnectToServer(4507),
    /**
     * k_EMsgGCGameServerInfo = 4508;
     */
    k_EMsgGCGameServerInfo(4508),
    /**
     * k_EMsgGCError = 4509;
     */
    k_EMsgGCError(4509),
    /**
     * k_EMsgGCReplay_UploadedToYouTube = 4510;
     */
    k_EMsgGCReplay_UploadedToYouTube(4510),
    /**
     * k_EMsgGCLANServerAvailable = 4511;
     */
    k_EMsgGCLANServerAvailable(4511),
    ;

    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        EGCBaseMsg.class.getName());
    }
    /**
     * k_EMsgGCSystemMessage = 4001;
     */
    public static final int k_EMsgGCSystemMessage_VALUE = 4001;
    /**
     * k_EMsgGCReplicateConVars = 4002;
     */
    public static final int k_EMsgGCReplicateConVars_VALUE = 4002;
    /**
     * k_EMsgGCConVarUpdated = 4003;
     */
    public static final int k_EMsgGCConVarUpdated_VALUE = 4003;
    /**
     * k_EMsgGCServerAvailable = 4506;
     */
    public static final int k_EMsgGCServerAvailable_VALUE = 4506;
    /**
     * k_EMsgGCClientConnectToServer = 4507;
     */
    public static final int k_EMsgGCClientConnectToServer_VALUE = 4507;
    /**
     * k_EMsgGCGameServerInfo = 4508;
     */
    public static final int k_EMsgGCGameServerInfo_VALUE = 4508;
    /**
     * k_EMsgGCError = 4509;
     */
    public static final int k_EMsgGCError_VALUE = 4509;
    /**
     * k_EMsgGCReplay_UploadedToYouTube = 4510;
     */
    public static final int k_EMsgGCReplay_UploadedToYouTube_VALUE = 4510;
    /**
     * k_EMsgGCLANServerAvailable = 4511;
     */
    public static final int k_EMsgGCLANServerAvailable_VALUE = 4511;


    public final int getNumber() {
      return value;
    }

    /**
     * @param value The numeric wire value of the corresponding enum entry.
     * @return The enum associated with the given numeric wire value.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static EGCBaseMsg 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 EGCBaseMsg forNumber(int value) {
      switch (value) {
        case 4001: return k_EMsgGCSystemMessage;
        case 4002: return k_EMsgGCReplicateConVars;
        case 4003: return k_EMsgGCConVarUpdated;
        case 4506: return k_EMsgGCServerAvailable;
        case 4507: return k_EMsgGCClientConnectToServer;
        case 4508: return k_EMsgGCGameServerInfo;
        case 4509: return k_EMsgGCError;
        case 4510: return k_EMsgGCReplay_UploadedToYouTube;
        case 4511: return k_EMsgGCLANServerAvailable;
        default: return null;
      }
    }

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

    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(ordinal());
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.getDescriptor().getEnumTypes().get(0);
    }

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

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

    private final int value;

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

    // @@protoc_insertion_point(enum_scope:EGCBaseMsg)
  }

  /**
   * Protobuf enum {@code EGCBaseProtoObjectTypes}
   */
  public enum EGCBaseProtoObjectTypes
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * k_EProtoObjectPartyInvite = 1001;
     */
    k_EProtoObjectPartyInvite(1001),
    /**
     * k_EProtoObjectLobbyInvite = 1002;
     */
    k_EProtoObjectLobbyInvite(1002),
    ;

    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        EGCBaseProtoObjectTypes.class.getName());
    }
    /**
     * k_EProtoObjectPartyInvite = 1001;
     */
    public static final int k_EProtoObjectPartyInvite_VALUE = 1001;
    /**
     * k_EProtoObjectLobbyInvite = 1002;
     */
    public static final int k_EProtoObjectLobbyInvite_VALUE = 1002;


    public final int getNumber() {
      return value;
    }

    /**
     * @param value The numeric wire value of the corresponding enum entry.
     * @return The enum associated with the given numeric wire value.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static EGCBaseProtoObjectTypes 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 EGCBaseProtoObjectTypes forNumber(int value) {
      switch (value) {
        case 1001: return k_EProtoObjectPartyInvite;
        case 1002: return k_EProtoObjectLobbyInvite;
        default: return null;
      }
    }

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

    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(ordinal());
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.getDescriptor().getEnumTypes().get(1);
    }

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

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

    private final int value;

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

    // @@protoc_insertion_point(enum_scope:EGCBaseProtoObjectTypes)
  }

  /**
   * Protobuf enum {@code GCGoodbyeReason}
   */
  public enum GCGoodbyeReason
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * GCGoodbyeReason_GC_GOING_DOWN = 1;
     */
    GCGoodbyeReason_GC_GOING_DOWN(1),
    /**
     * GCGoodbyeReason_NO_SESSION = 2;
     */
    GCGoodbyeReason_NO_SESSION(2),
    ;

    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        GCGoodbyeReason.class.getName());
    }
    /**
     * GCGoodbyeReason_GC_GOING_DOWN = 1;
     */
    public static final int GCGoodbyeReason_GC_GOING_DOWN_VALUE = 1;
    /**
     * GCGoodbyeReason_NO_SESSION = 2;
     */
    public static final int GCGoodbyeReason_NO_SESSION_VALUE = 2;


    public final int getNumber() {
      return value;
    }

    /**
     * @param value The numeric wire value of the corresponding enum entry.
     * @return The enum associated with the given numeric wire value.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static GCGoodbyeReason 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 GCGoodbyeReason forNumber(int value) {
      switch (value) {
        case 1: return GCGoodbyeReason_GC_GOING_DOWN;
        case 2: return GCGoodbyeReason_NO_SESSION;
        default: return null;
      }
    }

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

    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(ordinal());
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.getDescriptor().getEnumTypes().get(2);
    }

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

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

    private final int value;

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

    // @@protoc_insertion_point(enum_scope:GCGoodbyeReason)
  }

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

    /**
     * optional uint32 item_def_id = 1;
     * @return Whether the itemDefId field is set.
     */
    boolean hasItemDefId();
    /**
     * optional uint32 item_def_id = 1;
     * @return The itemDefId.
     */
    int getItemDefId();

    /**
     * optional uint32 quantity = 2;
     * @return Whether the quantity field is set.
     */
    boolean hasQuantity();
    /**
     * optional uint32 quantity = 2;
     * @return The quantity.
     */
    int getQuantity();

    /**
     * optional uint32 cost_in_local_currency = 3;
     * @return Whether the costInLocalCurrency field is set.
     */
    boolean hasCostInLocalCurrency();
    /**
     * optional uint32 cost_in_local_currency = 3;
     * @return The costInLocalCurrency.
     */
    int getCostInLocalCurrency();

    /**
     * optional uint32 purchase_type = 4;
     * @return Whether the purchaseType field is set.
     */
    boolean hasPurchaseType();
    /**
     * optional uint32 purchase_type = 4;
     * @return The purchaseType.
     */
    int getPurchaseType();
  }
  /**
   * Protobuf type {@code CGCStorePurchaseInit_LineItem}
   */
  public static final class CGCStorePurchaseInit_LineItem extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CGCStorePurchaseInit_LineItem)
      CGCStorePurchaseInit_LineItemOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CGCStorePurchaseInit_LineItem.class.getName());
    }
    // Use CGCStorePurchaseInit_LineItem.newBuilder() to construct.
    private CGCStorePurchaseInit_LineItem(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CGCStorePurchaseInit_LineItem() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CGCStorePurchaseInit_LineItem_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CGCStorePurchaseInit_LineItem_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem.Builder.class);
    }

    private int bitField0_;
    public static final int ITEM_DEF_ID_FIELD_NUMBER = 1;
    private int itemDefId_ = 0;
    /**
     * optional uint32 item_def_id = 1;
     * @return Whether the itemDefId field is set.
     */
    @java.lang.Override
    public boolean hasItemDefId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 item_def_id = 1;
     * @return The itemDefId.
     */
    @java.lang.Override
    public int getItemDefId() {
      return itemDefId_;
    }

    public static final int QUANTITY_FIELD_NUMBER = 2;
    private int quantity_ = 0;
    /**
     * optional uint32 quantity = 2;
     * @return Whether the quantity field is set.
     */
    @java.lang.Override
    public boolean hasQuantity() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint32 quantity = 2;
     * @return The quantity.
     */
    @java.lang.Override
    public int getQuantity() {
      return quantity_;
    }

    public static final int COST_IN_LOCAL_CURRENCY_FIELD_NUMBER = 3;
    private int costInLocalCurrency_ = 0;
    /**
     * optional uint32 cost_in_local_currency = 3;
     * @return Whether the costInLocalCurrency field is set.
     */
    @java.lang.Override
    public boolean hasCostInLocalCurrency() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional uint32 cost_in_local_currency = 3;
     * @return The costInLocalCurrency.
     */
    @java.lang.Override
    public int getCostInLocalCurrency() {
      return costInLocalCurrency_;
    }

    public static final int PURCHASE_TYPE_FIELD_NUMBER = 4;
    private int purchaseType_ = 0;
    /**
     * optional uint32 purchase_type = 4;
     * @return Whether the purchaseType field is set.
     */
    @java.lang.Override
    public boolean hasPurchaseType() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional uint32 purchase_type = 4;
     * @return The purchaseType.
     */
    @java.lang.Override
    public int getPurchaseType() {
      return purchaseType_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt32(1, itemDefId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeUInt32(2, quantity_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeUInt32(3, costInLocalCurrency_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeUInt32(4, purchaseType_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, itemDefId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, quantity_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, costInLocalCurrency_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, purchaseType_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem) obj;

      if (hasItemDefId() != other.hasItemDefId()) return false;
      if (hasItemDefId()) {
        if (getItemDefId()
            != other.getItemDefId()) return false;
      }
      if (hasQuantity() != other.hasQuantity()) return false;
      if (hasQuantity()) {
        if (getQuantity()
            != other.getQuantity()) return false;
      }
      if (hasCostInLocalCurrency() != other.hasCostInLocalCurrency()) return false;
      if (hasCostInLocalCurrency()) {
        if (getCostInLocalCurrency()
            != other.getCostInLocalCurrency()) return false;
      }
      if (hasPurchaseType() != other.hasPurchaseType()) return false;
      if (hasPurchaseType()) {
        if (getPurchaseType()
            != other.getPurchaseType()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasItemDefId()) {
        hash = (37 * hash) + ITEM_DEF_ID_FIELD_NUMBER;
        hash = (53 * hash) + getItemDefId();
      }
      if (hasQuantity()) {
        hash = (37 * hash) + QUANTITY_FIELD_NUMBER;
        hash = (53 * hash) + getQuantity();
      }
      if (hasCostInLocalCurrency()) {
        hash = (37 * hash) + COST_IN_LOCAL_CURRENCY_FIELD_NUMBER;
        hash = (53 * hash) + getCostInLocalCurrency();
      }
      if (hasPurchaseType()) {
        hash = (37 * hash) + PURCHASE_TYPE_FIELD_NUMBER;
        hash = (53 * hash) + getPurchaseType();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CGCStorePurchaseInit_LineItem}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CGCStorePurchaseInit_LineItem)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItemOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CGCStorePurchaseInit_LineItem_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CGCStorePurchaseInit_LineItem_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        itemDefId_ = 0;
        quantity_ = 0;
        costInLocalCurrency_ = 0;
        purchaseType_ = 0;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CGCStorePurchaseInit_LineItem_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.itemDefId_ = itemDefId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.quantity_ = quantity_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.costInLocalCurrency_ = costInLocalCurrency_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.purchaseType_ = purchaseType_;
          to_bitField0_ |= 0x00000008;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem.getDefaultInstance()) return this;
        if (other.hasItemDefId()) {
          setItemDefId(other.getItemDefId());
        }
        if (other.hasQuantity()) {
          setQuantity(other.getQuantity());
        }
        if (other.hasCostInLocalCurrency()) {
          setCostInLocalCurrency(other.getCostInLocalCurrency());
        }
        if (other.hasPurchaseType()) {
          setPurchaseType(other.getPurchaseType());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                itemDefId_ = input.readUInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                quantity_ = input.readUInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 24: {
                costInLocalCurrency_ = input.readUInt32();
                bitField0_ |= 0x00000004;
                break;
              } // case 24
              case 32: {
                purchaseType_ = input.readUInt32();
                bitField0_ |= 0x00000008;
                break;
              } // case 32
              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 int itemDefId_ ;
      /**
       * optional uint32 item_def_id = 1;
       * @return Whether the itemDefId field is set.
       */
      @java.lang.Override
      public boolean hasItemDefId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 item_def_id = 1;
       * @return The itemDefId.
       */
      @java.lang.Override
      public int getItemDefId() {
        return itemDefId_;
      }
      /**
       * optional uint32 item_def_id = 1;
       * @param value The itemDefId to set.
       * @return This builder for chaining.
       */
      public Builder setItemDefId(int value) {

        itemDefId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint32 item_def_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearItemDefId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        itemDefId_ = 0;
        onChanged();
        return this;
      }

      private int quantity_ ;
      /**
       * optional uint32 quantity = 2;
       * @return Whether the quantity field is set.
       */
      @java.lang.Override
      public boolean hasQuantity() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint32 quantity = 2;
       * @return The quantity.
       */
      @java.lang.Override
      public int getQuantity() {
        return quantity_;
      }
      /**
       * optional uint32 quantity = 2;
       * @param value The quantity to set.
       * @return This builder for chaining.
       */
      public Builder setQuantity(int value) {

        quantity_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint32 quantity = 2;
       * @return This builder for chaining.
       */
      public Builder clearQuantity() {
        bitField0_ = (bitField0_ & ~0x00000002);
        quantity_ = 0;
        onChanged();
        return this;
      }

      private int costInLocalCurrency_ ;
      /**
       * optional uint32 cost_in_local_currency = 3;
       * @return Whether the costInLocalCurrency field is set.
       */
      @java.lang.Override
      public boolean hasCostInLocalCurrency() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional uint32 cost_in_local_currency = 3;
       * @return The costInLocalCurrency.
       */
      @java.lang.Override
      public int getCostInLocalCurrency() {
        return costInLocalCurrency_;
      }
      /**
       * optional uint32 cost_in_local_currency = 3;
       * @param value The costInLocalCurrency to set.
       * @return This builder for chaining.
       */
      public Builder setCostInLocalCurrency(int value) {

        costInLocalCurrency_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional uint32 cost_in_local_currency = 3;
       * @return This builder for chaining.
       */
      public Builder clearCostInLocalCurrency() {
        bitField0_ = (bitField0_ & ~0x00000004);
        costInLocalCurrency_ = 0;
        onChanged();
        return this;
      }

      private int purchaseType_ ;
      /**
       * optional uint32 purchase_type = 4;
       * @return Whether the purchaseType field is set.
       */
      @java.lang.Override
      public boolean hasPurchaseType() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional uint32 purchase_type = 4;
       * @return The purchaseType.
       */
      @java.lang.Override
      public int getPurchaseType() {
        return purchaseType_;
      }
      /**
       * optional uint32 purchase_type = 4;
       * @param value The purchaseType to set.
       * @return This builder for chaining.
       */
      public Builder setPurchaseType(int value) {

        purchaseType_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional uint32 purchase_type = 4;
       * @return This builder for chaining.
       */
      public Builder clearPurchaseType() {
        bitField0_ = (bitField0_ & ~0x00000008);
        purchaseType_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CGCStorePurchaseInit_LineItem)
    }

    // @@protoc_insertion_point(class_scope:CGCStorePurchaseInit_LineItem)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CGCStorePurchaseInit_LineItem 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional string country = 1;
     * @return Whether the country field is set.
     */
    boolean hasCountry();
    /**
     * optional string country = 1;
     * @return The country.
     */
    java.lang.String getCountry();
    /**
     * optional string country = 1;
     * @return The bytes for country.
     */
    com.google.protobuf.ByteString
        getCountryBytes();

    /**
     * optional int32 language = 2;
     * @return Whether the language field is set.
     */
    boolean hasLanguage();
    /**
     * optional int32 language = 2;
     * @return The language.
     */
    int getLanguage();

    /**
     * optional int32 currency = 3;
     * @return Whether the currency field is set.
     */
    boolean hasCurrency();
    /**
     * optional int32 currency = 3;
     * @return The currency.
     */
    int getCurrency();

    /**
     * repeated .CGCStorePurchaseInit_LineItem line_items = 4;
     */
    java.util.List 
        getLineItemsList();
    /**
     * repeated .CGCStorePurchaseInit_LineItem line_items = 4;
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem getLineItems(int index);
    /**
     * repeated .CGCStorePurchaseInit_LineItem line_items = 4;
     */
    int getLineItemsCount();
    /**
     * repeated .CGCStorePurchaseInit_LineItem line_items = 4;
     */
    java.util.List 
        getLineItemsOrBuilderList();
    /**
     * repeated .CGCStorePurchaseInit_LineItem line_items = 4;
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItemOrBuilder getLineItemsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code CMsgGCStorePurchaseInit}
   */
  public static final class CMsgGCStorePurchaseInit extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgGCStorePurchaseInit)
      CMsgGCStorePurchaseInitOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgGCStorePurchaseInit.class.getName());
    }
    // Use CMsgGCStorePurchaseInit.newBuilder() to construct.
    private CMsgGCStorePurchaseInit(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgGCStorePurchaseInit() {
      country_ = "";
      lineItems_ = java.util.Collections.emptyList();
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCStorePurchaseInit_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCStorePurchaseInit_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit.Builder.class);
    }

    private int bitField0_;
    public static final int COUNTRY_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object country_ = "";
    /**
     * optional string country = 1;
     * @return Whether the country field is set.
     */
    @java.lang.Override
    public boolean hasCountry() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional string country = 1;
     * @return The country.
     */
    @java.lang.Override
    public java.lang.String getCountry() {
      java.lang.Object ref = country_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          country_ = s;
        }
        return s;
      }
    }
    /**
     * optional string country = 1;
     * @return The bytes for country.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCountryBytes() {
      java.lang.Object ref = country_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        country_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int LANGUAGE_FIELD_NUMBER = 2;
    private int language_ = 0;
    /**
     * optional int32 language = 2;
     * @return Whether the language field is set.
     */
    @java.lang.Override
    public boolean hasLanguage() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional int32 language = 2;
     * @return The language.
     */
    @java.lang.Override
    public int getLanguage() {
      return language_;
    }

    public static final int CURRENCY_FIELD_NUMBER = 3;
    private int currency_ = 0;
    /**
     * optional int32 currency = 3;
     * @return Whether the currency field is set.
     */
    @java.lang.Override
    public boolean hasCurrency() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional int32 currency = 3;
     * @return The currency.
     */
    @java.lang.Override
    public int getCurrency() {
      return currency_;
    }

    public static final int LINE_ITEMS_FIELD_NUMBER = 4;
    @SuppressWarnings("serial")
    private java.util.List lineItems_;
    /**
     * repeated .CGCStorePurchaseInit_LineItem line_items = 4;
     */
    @java.lang.Override
    public java.util.List getLineItemsList() {
      return lineItems_;
    }
    /**
     * repeated .CGCStorePurchaseInit_LineItem line_items = 4;
     */
    @java.lang.Override
    public java.util.List 
        getLineItemsOrBuilderList() {
      return lineItems_;
    }
    /**
     * repeated .CGCStorePurchaseInit_LineItem line_items = 4;
     */
    @java.lang.Override
    public int getLineItemsCount() {
      return lineItems_.size();
    }
    /**
     * repeated .CGCStorePurchaseInit_LineItem line_items = 4;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem getLineItems(int index) {
      return lineItems_.get(index);
    }
    /**
     * repeated .CGCStorePurchaseInit_LineItem line_items = 4;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItemOrBuilder getLineItemsOrBuilder(
        int index) {
      return lineItems_.get(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 1, country_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeInt32(2, language_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeInt32(3, currency_);
      }
      for (int i = 0; i < lineItems_.size(); i++) {
        output.writeMessage(4, lineItems_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(1, country_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, language_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, currency_);
      }
      for (int i = 0; i < lineItems_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, lineItems_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit) obj;

      if (hasCountry() != other.hasCountry()) return false;
      if (hasCountry()) {
        if (!getCountry()
            .equals(other.getCountry())) return false;
      }
      if (hasLanguage() != other.hasLanguage()) return false;
      if (hasLanguage()) {
        if (getLanguage()
            != other.getLanguage()) return false;
      }
      if (hasCurrency() != other.hasCurrency()) return false;
      if (hasCurrency()) {
        if (getCurrency()
            != other.getCurrency()) return false;
      }
      if (!getLineItemsList()
          .equals(other.getLineItemsList())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasCountry()) {
        hash = (37 * hash) + COUNTRY_FIELD_NUMBER;
        hash = (53 * hash) + getCountry().hashCode();
      }
      if (hasLanguage()) {
        hash = (37 * hash) + LANGUAGE_FIELD_NUMBER;
        hash = (53 * hash) + getLanguage();
      }
      if (hasCurrency()) {
        hash = (37 * hash) + CURRENCY_FIELD_NUMBER;
        hash = (53 * hash) + getCurrency();
      }
      if (getLineItemsCount() > 0) {
        hash = (37 * hash) + LINE_ITEMS_FIELD_NUMBER;
        hash = (53 * hash) + getLineItemsList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgGCStorePurchaseInit}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgGCStorePurchaseInit)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCStorePurchaseInit_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCStorePurchaseInit_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        country_ = "";
        language_ = 0;
        currency_ = 0;
        if (lineItemsBuilder_ == null) {
          lineItems_ = java.util.Collections.emptyList();
        } else {
          lineItems_ = null;
          lineItemsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCStorePurchaseInit_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit(this);
        buildPartialRepeatedFields(result);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartialRepeatedFields(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit result) {
        if (lineItemsBuilder_ == null) {
          if (((bitField0_ & 0x00000008) != 0)) {
            lineItems_ = java.util.Collections.unmodifiableList(lineItems_);
            bitField0_ = (bitField0_ & ~0x00000008);
          }
          result.lineItems_ = lineItems_;
        } else {
          result.lineItems_ = lineItemsBuilder_.build();
        }
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.country_ = country_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.language_ = language_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.currency_ = currency_;
          to_bitField0_ |= 0x00000004;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit.getDefaultInstance()) return this;
        if (other.hasCountry()) {
          country_ = other.country_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        if (other.hasLanguage()) {
          setLanguage(other.getLanguage());
        }
        if (other.hasCurrency()) {
          setCurrency(other.getCurrency());
        }
        if (lineItemsBuilder_ == null) {
          if (!other.lineItems_.isEmpty()) {
            if (lineItems_.isEmpty()) {
              lineItems_ = other.lineItems_;
              bitField0_ = (bitField0_ & ~0x00000008);
            } else {
              ensureLineItemsIsMutable();
              lineItems_.addAll(other.lineItems_);
            }
            onChanged();
          }
        } else {
          if (!other.lineItems_.isEmpty()) {
            if (lineItemsBuilder_.isEmpty()) {
              lineItemsBuilder_.dispose();
              lineItemsBuilder_ = null;
              lineItems_ = other.lineItems_;
              bitField0_ = (bitField0_ & ~0x00000008);
              lineItemsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getLineItemsFieldBuilder() : null;
            } else {
              lineItemsBuilder_.addAllMessages(other.lineItems_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                country_ = input.readBytes();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 16: {
                language_ = input.readInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 24: {
                currency_ = input.readInt32();
                bitField0_ |= 0x00000004;
                break;
              } // case 24
              case 34: {
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem.parser(),
                        extensionRegistry);
                if (lineItemsBuilder_ == null) {
                  ensureLineItemsIsMutable();
                  lineItems_.add(m);
                } else {
                  lineItemsBuilder_.addMessage(m);
                }
                break;
              } // case 34
              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 java.lang.Object country_ = "";
      /**
       * optional string country = 1;
       * @return Whether the country field is set.
       */
      public boolean hasCountry() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional string country = 1;
       * @return The country.
       */
      public java.lang.String getCountry() {
        java.lang.Object ref = country_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            country_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string country = 1;
       * @return The bytes for country.
       */
      public com.google.protobuf.ByteString
          getCountryBytes() {
        java.lang.Object ref = country_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          country_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string country = 1;
       * @param value The country to set.
       * @return This builder for chaining.
       */
      public Builder setCountry(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        country_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional string country = 1;
       * @return This builder for chaining.
       */
      public Builder clearCountry() {
        country_ = getDefaultInstance().getCountry();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * optional string country = 1;
       * @param value The bytes for country to set.
       * @return This builder for chaining.
       */
      public Builder setCountryBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        country_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      private int language_ ;
      /**
       * optional int32 language = 2;
       * @return Whether the language field is set.
       */
      @java.lang.Override
      public boolean hasLanguage() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional int32 language = 2;
       * @return The language.
       */
      @java.lang.Override
      public int getLanguage() {
        return language_;
      }
      /**
       * optional int32 language = 2;
       * @param value The language to set.
       * @return This builder for chaining.
       */
      public Builder setLanguage(int value) {

        language_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional int32 language = 2;
       * @return This builder for chaining.
       */
      public Builder clearLanguage() {
        bitField0_ = (bitField0_ & ~0x00000002);
        language_ = 0;
        onChanged();
        return this;
      }

      private int currency_ ;
      /**
       * optional int32 currency = 3;
       * @return Whether the currency field is set.
       */
      @java.lang.Override
      public boolean hasCurrency() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional int32 currency = 3;
       * @return The currency.
       */
      @java.lang.Override
      public int getCurrency() {
        return currency_;
      }
      /**
       * optional int32 currency = 3;
       * @param value The currency to set.
       * @return This builder for chaining.
       */
      public Builder setCurrency(int value) {

        currency_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional int32 currency = 3;
       * @return This builder for chaining.
       */
      public Builder clearCurrency() {
        bitField0_ = (bitField0_ & ~0x00000004);
        currency_ = 0;
        onChanged();
        return this;
      }

      private java.util.List lineItems_ =
        java.util.Collections.emptyList();
      private void ensureLineItemsIsMutable() {
        if (!((bitField0_ & 0x00000008) != 0)) {
          lineItems_ = new java.util.ArrayList(lineItems_);
          bitField0_ |= 0x00000008;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItemOrBuilder> lineItemsBuilder_;

      /**
       * repeated .CGCStorePurchaseInit_LineItem line_items = 4;
       */
      public java.util.List getLineItemsList() {
        if (lineItemsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(lineItems_);
        } else {
          return lineItemsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CGCStorePurchaseInit_LineItem line_items = 4;
       */
      public int getLineItemsCount() {
        if (lineItemsBuilder_ == null) {
          return lineItems_.size();
        } else {
          return lineItemsBuilder_.getCount();
        }
      }
      /**
       * repeated .CGCStorePurchaseInit_LineItem line_items = 4;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem getLineItems(int index) {
        if (lineItemsBuilder_ == null) {
          return lineItems_.get(index);
        } else {
          return lineItemsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CGCStorePurchaseInit_LineItem line_items = 4;
       */
      public Builder setLineItems(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem value) {
        if (lineItemsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureLineItemsIsMutable();
          lineItems_.set(index, value);
          onChanged();
        } else {
          lineItemsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CGCStorePurchaseInit_LineItem line_items = 4;
       */
      public Builder setLineItems(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem.Builder builderForValue) {
        if (lineItemsBuilder_ == null) {
          ensureLineItemsIsMutable();
          lineItems_.set(index, builderForValue.build());
          onChanged();
        } else {
          lineItemsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CGCStorePurchaseInit_LineItem line_items = 4;
       */
      public Builder addLineItems(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem value) {
        if (lineItemsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureLineItemsIsMutable();
          lineItems_.add(value);
          onChanged();
        } else {
          lineItemsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CGCStorePurchaseInit_LineItem line_items = 4;
       */
      public Builder addLineItems(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem value) {
        if (lineItemsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureLineItemsIsMutable();
          lineItems_.add(index, value);
          onChanged();
        } else {
          lineItemsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CGCStorePurchaseInit_LineItem line_items = 4;
       */
      public Builder addLineItems(
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem.Builder builderForValue) {
        if (lineItemsBuilder_ == null) {
          ensureLineItemsIsMutable();
          lineItems_.add(builderForValue.build());
          onChanged();
        } else {
          lineItemsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CGCStorePurchaseInit_LineItem line_items = 4;
       */
      public Builder addLineItems(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem.Builder builderForValue) {
        if (lineItemsBuilder_ == null) {
          ensureLineItemsIsMutable();
          lineItems_.add(index, builderForValue.build());
          onChanged();
        } else {
          lineItemsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CGCStorePurchaseInit_LineItem line_items = 4;
       */
      public Builder addAllLineItems(
          java.lang.Iterable values) {
        if (lineItemsBuilder_ == null) {
          ensureLineItemsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, lineItems_);
          onChanged();
        } else {
          lineItemsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CGCStorePurchaseInit_LineItem line_items = 4;
       */
      public Builder clearLineItems() {
        if (lineItemsBuilder_ == null) {
          lineItems_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
          onChanged();
        } else {
          lineItemsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CGCStorePurchaseInit_LineItem line_items = 4;
       */
      public Builder removeLineItems(int index) {
        if (lineItemsBuilder_ == null) {
          ensureLineItemsIsMutable();
          lineItems_.remove(index);
          onChanged();
        } else {
          lineItemsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CGCStorePurchaseInit_LineItem line_items = 4;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem.Builder getLineItemsBuilder(
          int index) {
        return getLineItemsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CGCStorePurchaseInit_LineItem line_items = 4;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItemOrBuilder getLineItemsOrBuilder(
          int index) {
        if (lineItemsBuilder_ == null) {
          return lineItems_.get(index);  } else {
          return lineItemsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CGCStorePurchaseInit_LineItem line_items = 4;
       */
      public java.util.List 
           getLineItemsOrBuilderList() {
        if (lineItemsBuilder_ != null) {
          return lineItemsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(lineItems_);
        }
      }
      /**
       * repeated .CGCStorePurchaseInit_LineItem line_items = 4;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem.Builder addLineItemsBuilder() {
        return getLineItemsFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem.getDefaultInstance());
      }
      /**
       * repeated .CGCStorePurchaseInit_LineItem line_items = 4;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem.Builder addLineItemsBuilder(
          int index) {
        return getLineItemsFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem.getDefaultInstance());
      }
      /**
       * repeated .CGCStorePurchaseInit_LineItem line_items = 4;
       */
      public java.util.List 
           getLineItemsBuilderList() {
        return getLineItemsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItemOrBuilder> 
          getLineItemsFieldBuilder() {
        if (lineItemsBuilder_ == null) {
          lineItemsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItem.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CGCStorePurchaseInit_LineItemOrBuilder>(
                  lineItems_,
                  ((bitField0_ & 0x00000008) != 0),
                  getParentForChildren(),
                  isClean());
          lineItems_ = null;
        }
        return lineItemsBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgGCStorePurchaseInit)
    }

    // @@protoc_insertion_point(class_scope:CMsgGCStorePurchaseInit)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgGCStorePurchaseInit 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInit getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional int32 result = 1;
     * @return Whether the result field is set.
     */
    boolean hasResult();
    /**
     * optional int32 result = 1;
     * @return The result.
     */
    int getResult();

    /**
     * optional uint64 txn_id = 2;
     * @return Whether the txnId field is set.
     */
    boolean hasTxnId();
    /**
     * optional uint64 txn_id = 2;
     * @return The txnId.
     */
    long getTxnId();
  }
  /**
   * Protobuf type {@code CMsgGCStorePurchaseInitResponse}
   */
  public static final class CMsgGCStorePurchaseInitResponse extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgGCStorePurchaseInitResponse)
      CMsgGCStorePurchaseInitResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgGCStorePurchaseInitResponse.class.getName());
    }
    // Use CMsgGCStorePurchaseInitResponse.newBuilder() to construct.
    private CMsgGCStorePurchaseInitResponse(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgGCStorePurchaseInitResponse() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCStorePurchaseInitResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCStorePurchaseInitResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse.Builder.class);
    }

    private int bitField0_;
    public static final int RESULT_FIELD_NUMBER = 1;
    private int result_ = 0;
    /**
     * optional int32 result = 1;
     * @return Whether the result field is set.
     */
    @java.lang.Override
    public boolean hasResult() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional int32 result = 1;
     * @return The result.
     */
    @java.lang.Override
    public int getResult() {
      return result_;
    }

    public static final int TXN_ID_FIELD_NUMBER = 2;
    private long txnId_ = 0L;
    /**
     * optional uint64 txn_id = 2;
     * @return Whether the txnId field is set.
     */
    @java.lang.Override
    public boolean hasTxnId() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint64 txn_id = 2;
     * @return The txnId.
     */
    @java.lang.Override
    public long getTxnId() {
      return txnId_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeInt32(1, result_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeUInt64(2, txnId_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, result_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(2, txnId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse) obj;

      if (hasResult() != other.hasResult()) return false;
      if (hasResult()) {
        if (getResult()
            != other.getResult()) return false;
      }
      if (hasTxnId() != other.hasTxnId()) return false;
      if (hasTxnId()) {
        if (getTxnId()
            != other.getTxnId()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasResult()) {
        hash = (37 * hash) + RESULT_FIELD_NUMBER;
        hash = (53 * hash) + getResult();
      }
      if (hasTxnId()) {
        hash = (37 * hash) + TXN_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getTxnId());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgGCStorePurchaseInitResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgGCStorePurchaseInitResponse)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCStorePurchaseInitResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCStorePurchaseInitResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        result_ = 0;
        txnId_ = 0L;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCStorePurchaseInitResponse_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.result_ = result_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.txnId_ = txnId_;
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse.getDefaultInstance()) return this;
        if (other.hasResult()) {
          setResult(other.getResult());
        }
        if (other.hasTxnId()) {
          setTxnId(other.getTxnId());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                result_ = input.readInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                txnId_ = input.readUInt64();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              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 int result_ ;
      /**
       * optional int32 result = 1;
       * @return Whether the result field is set.
       */
      @java.lang.Override
      public boolean hasResult() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional int32 result = 1;
       * @return The result.
       */
      @java.lang.Override
      public int getResult() {
        return result_;
      }
      /**
       * optional int32 result = 1;
       * @param value The result to set.
       * @return This builder for chaining.
       */
      public Builder setResult(int value) {

        result_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional int32 result = 1;
       * @return This builder for chaining.
       */
      public Builder clearResult() {
        bitField0_ = (bitField0_ & ~0x00000001);
        result_ = 0;
        onChanged();
        return this;
      }

      private long txnId_ ;
      /**
       * optional uint64 txn_id = 2;
       * @return Whether the txnId field is set.
       */
      @java.lang.Override
      public boolean hasTxnId() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint64 txn_id = 2;
       * @return The txnId.
       */
      @java.lang.Override
      public long getTxnId() {
        return txnId_;
      }
      /**
       * optional uint64 txn_id = 2;
       * @param value The txnId to set.
       * @return This builder for chaining.
       */
      public Builder setTxnId(long value) {

        txnId_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint64 txn_id = 2;
       * @return This builder for chaining.
       */
      public Builder clearTxnId() {
        bitField0_ = (bitField0_ & ~0x00000002);
        txnId_ = 0L;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgGCStorePurchaseInitResponse)
    }

    // @@protoc_insertion_point(class_scope:CMsgGCStorePurchaseInitResponse)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgGCStorePurchaseInitResponse 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseInitResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional string message = 1;
     * @return Whether the message field is set.
     */
    boolean hasMessage();
    /**
     * optional string message = 1;
     * @return The message.
     */
    java.lang.String getMessage();
    /**
     * optional string message = 1;
     * @return The bytes for message.
     */
    com.google.protobuf.ByteString
        getMessageBytes();
  }
  /**
   * Protobuf type {@code CMsgSystemBroadcast}
   */
  public static final class CMsgSystemBroadcast extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgSystemBroadcast)
      CMsgSystemBroadcastOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgSystemBroadcast.class.getName());
    }
    // Use CMsgSystemBroadcast.newBuilder() to construct.
    private CMsgSystemBroadcast(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgSystemBroadcast() {
      message_ = "";
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSystemBroadcast_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSystemBroadcast_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast.Builder.class);
    }

    private int bitField0_;
    public static final int MESSAGE_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object message_ = "";
    /**
     * optional string message = 1;
     * @return Whether the message field is set.
     */
    @java.lang.Override
    public boolean hasMessage() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional string message = 1;
     * @return The message.
     */
    @java.lang.Override
    public java.lang.String getMessage() {
      java.lang.Object ref = message_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          message_ = s;
        }
        return s;
      }
    }
    /**
     * optional string message = 1;
     * @return The bytes for message.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getMessageBytes() {
      java.lang.Object ref = message_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        message_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 1, message_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(1, message_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast) obj;

      if (hasMessage() != other.hasMessage()) return false;
      if (hasMessage()) {
        if (!getMessage()
            .equals(other.getMessage())) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

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

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgSystemBroadcast}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgSystemBroadcast)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcastOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSystemBroadcast_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSystemBroadcast_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        message_ = "";
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSystemBroadcast_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.message_ = message_;
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast.getDefaultInstance()) return this;
        if (other.hasMessage()) {
          message_ = other.message_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                message_ = input.readBytes();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              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 java.lang.Object message_ = "";
      /**
       * optional string message = 1;
       * @return Whether the message field is set.
       */
      public boolean hasMessage() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional string message = 1;
       * @return The message.
       */
      public java.lang.String getMessage() {
        java.lang.Object ref = message_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            message_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string message = 1;
       * @return The bytes for message.
       */
      public com.google.protobuf.ByteString
          getMessageBytes() {
        java.lang.Object ref = message_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          message_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string message = 1;
       * @param value The message to set.
       * @return This builder for chaining.
       */
      public Builder setMessage(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        message_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional string message = 1;
       * @return This builder for chaining.
       */
      public Builder clearMessage() {
        message_ = getDefaultInstance().getMessage();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * optional string message = 1;
       * @param value The bytes for message to set.
       * @return This builder for chaining.
       */
      public Builder setMessageBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        message_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgSystemBroadcast)
    }

    // @@protoc_insertion_point(class_scope:CMsgSystemBroadcast)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgSystemBroadcast 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSystemBroadcast getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint32 version = 1;
     * @return Whether the version field is set.
     */
    boolean hasVersion();
    /**
     * optional uint32 version = 1;
     * @return The version.
     */
    int getVersion();
  }
  /**
   * Protobuf type {@code CMsgClientHello}
   */
  public static final class CMsgClientHello extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgClientHello)
      CMsgClientHelloOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgClientHello.class.getName());
    }
    // Use CMsgClientHello.newBuilder() to construct.
    private CMsgClientHello(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgClientHello() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgClientHello_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgClientHello_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello.Builder.class);
    }

    private int bitField0_;
    public static final int VERSION_FIELD_NUMBER = 1;
    private int version_ = 0;
    /**
     * optional uint32 version = 1;
     * @return Whether the version field is set.
     */
    @java.lang.Override
    public boolean hasVersion() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 version = 1;
     * @return The version.
     */
    @java.lang.Override
    public int getVersion() {
      return version_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt32(1, version_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, version_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello) obj;

      if (hasVersion() != other.hasVersion()) return false;
      if (hasVersion()) {
        if (getVersion()
            != other.getVersion()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

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

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgClientHello}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgClientHello)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHelloOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgClientHello_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgClientHello_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        version_ = 0;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgClientHello_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.version_ = version_;
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello.getDefaultInstance()) return this;
        if (other.hasVersion()) {
          setVersion(other.getVersion());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                version_ = input.readUInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              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 int version_ ;
      /**
       * optional uint32 version = 1;
       * @return Whether the version field is set.
       */
      @java.lang.Override
      public boolean hasVersion() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 version = 1;
       * @return The version.
       */
      @java.lang.Override
      public int getVersion() {
        return version_;
      }
      /**
       * optional uint32 version = 1;
       * @param value The version to set.
       * @return This builder for chaining.
       */
      public Builder setVersion(int value) {

        version_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint32 version = 1;
       * @return This builder for chaining.
       */
      public Builder clearVersion() {
        bitField0_ = (bitField0_ & ~0x00000001);
        version_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgClientHello)
    }

    // @@protoc_insertion_point(class_scope:CMsgClientHello)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgClientHello 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientHello getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint32 version = 1;
     * @return Whether the version field is set.
     */
    boolean hasVersion();
    /**
     * optional uint32 version = 1;
     * @return The version.
     */
    int getVersion();
  }
  /**
   * Protobuf type {@code CMsgServerHello}
   */
  public static final class CMsgServerHello extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgServerHello)
      CMsgServerHelloOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgServerHello.class.getName());
    }
    // Use CMsgServerHello.newBuilder() to construct.
    private CMsgServerHello(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgServerHello() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgServerHello_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgServerHello_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello.Builder.class);
    }

    private int bitField0_;
    public static final int VERSION_FIELD_NUMBER = 1;
    private int version_ = 0;
    /**
     * optional uint32 version = 1;
     * @return Whether the version field is set.
     */
    @java.lang.Override
    public boolean hasVersion() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 version = 1;
     * @return The version.
     */
    @java.lang.Override
    public int getVersion() {
      return version_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt32(1, version_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, version_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello) obj;

      if (hasVersion() != other.hasVersion()) return false;
      if (hasVersion()) {
        if (getVersion()
            != other.getVersion()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

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

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgServerHello}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgServerHello)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHelloOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgServerHello_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgServerHello_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        version_ = 0;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgServerHello_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.version_ = version_;
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello.getDefaultInstance()) return this;
        if (other.hasVersion()) {
          setVersion(other.getVersion());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                version_ = input.readUInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              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 int version_ ;
      /**
       * optional uint32 version = 1;
       * @return Whether the version field is set.
       */
      @java.lang.Override
      public boolean hasVersion() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 version = 1;
       * @return The version.
       */
      @java.lang.Override
      public int getVersion() {
        return version_;
      }
      /**
       * optional uint32 version = 1;
       * @param value The version to set.
       * @return This builder for chaining.
       */
      public Builder setVersion(int value) {

        version_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint32 version = 1;
       * @return This builder for chaining.
       */
      public Builder clearVersion() {
        bitField0_ = (bitField0_ & ~0x00000001);
        version_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgServerHello)
    }

    // @@protoc_insertion_point(class_scope:CMsgServerHello)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgServerHello 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerHello getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint32 version = 1;
     * @return Whether the version field is set.
     */
    boolean hasVersion();
    /**
     * optional uint32 version = 1;
     * @return The version.
     */
    int getVersion();

    /**
     * optional bytes game_data = 2;
     * @return Whether the gameData field is set.
     */
    boolean hasGameData();
    /**
     * optional bytes game_data = 2;
     * @return The gameData.
     */
    com.google.protobuf.ByteString getGameData();

    /**
     * optional string txn_country_code = 3;
     * @return Whether the txnCountryCode field is set.
     */
    boolean hasTxnCountryCode();
    /**
     * optional string txn_country_code = 3;
     * @return The txnCountryCode.
     */
    java.lang.String getTxnCountryCode();
    /**
     * optional string txn_country_code = 3;
     * @return The bytes for txnCountryCode.
     */
    com.google.protobuf.ByteString
        getTxnCountryCodeBytes();
  }
  /**
   * Protobuf type {@code CMsgClientWelcome}
   */
  public static final class CMsgClientWelcome extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgClientWelcome)
      CMsgClientWelcomeOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgClientWelcome.class.getName());
    }
    // Use CMsgClientWelcome.newBuilder() to construct.
    private CMsgClientWelcome(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgClientWelcome() {
      gameData_ = com.google.protobuf.ByteString.EMPTY;
      txnCountryCode_ = "";
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgClientWelcome_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgClientWelcome_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome.Builder.class);
    }

    private int bitField0_;
    public static final int VERSION_FIELD_NUMBER = 1;
    private int version_ = 0;
    /**
     * optional uint32 version = 1;
     * @return Whether the version field is set.
     */
    @java.lang.Override
    public boolean hasVersion() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 version = 1;
     * @return The version.
     */
    @java.lang.Override
    public int getVersion() {
      return version_;
    }

    public static final int GAME_DATA_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString gameData_ = com.google.protobuf.ByteString.EMPTY;
    /**
     * optional bytes game_data = 2;
     * @return Whether the gameData field is set.
     */
    @java.lang.Override
    public boolean hasGameData() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional bytes game_data = 2;
     * @return The gameData.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getGameData() {
      return gameData_;
    }

    public static final int TXN_COUNTRY_CODE_FIELD_NUMBER = 3;
    @SuppressWarnings("serial")
    private volatile java.lang.Object txnCountryCode_ = "";
    /**
     * optional string txn_country_code = 3;
     * @return Whether the txnCountryCode field is set.
     */
    @java.lang.Override
    public boolean hasTxnCountryCode() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional string txn_country_code = 3;
     * @return The txnCountryCode.
     */
    @java.lang.Override
    public java.lang.String getTxnCountryCode() {
      java.lang.Object ref = txnCountryCode_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          txnCountryCode_ = s;
        }
        return s;
      }
    }
    /**
     * optional string txn_country_code = 3;
     * @return The bytes for txnCountryCode.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getTxnCountryCodeBytes() {
      java.lang.Object ref = txnCountryCode_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        txnCountryCode_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt32(1, version_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeBytes(2, gameData_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 3, txnCountryCode_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, version_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, gameData_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(3, txnCountryCode_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome) obj;

      if (hasVersion() != other.hasVersion()) return false;
      if (hasVersion()) {
        if (getVersion()
            != other.getVersion()) return false;
      }
      if (hasGameData() != other.hasGameData()) return false;
      if (hasGameData()) {
        if (!getGameData()
            .equals(other.getGameData())) return false;
      }
      if (hasTxnCountryCode() != other.hasTxnCountryCode()) return false;
      if (hasTxnCountryCode()) {
        if (!getTxnCountryCode()
            .equals(other.getTxnCountryCode())) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasVersion()) {
        hash = (37 * hash) + VERSION_FIELD_NUMBER;
        hash = (53 * hash) + getVersion();
      }
      if (hasGameData()) {
        hash = (37 * hash) + GAME_DATA_FIELD_NUMBER;
        hash = (53 * hash) + getGameData().hashCode();
      }
      if (hasTxnCountryCode()) {
        hash = (37 * hash) + TXN_COUNTRY_CODE_FIELD_NUMBER;
        hash = (53 * hash) + getTxnCountryCode().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgClientWelcome}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgClientWelcome)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcomeOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgClientWelcome_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgClientWelcome_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        version_ = 0;
        gameData_ = com.google.protobuf.ByteString.EMPTY;
        txnCountryCode_ = "";
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgClientWelcome_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.version_ = version_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.gameData_ = gameData_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.txnCountryCode_ = txnCountryCode_;
          to_bitField0_ |= 0x00000004;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome.getDefaultInstance()) return this;
        if (other.hasVersion()) {
          setVersion(other.getVersion());
        }
        if (other.hasGameData()) {
          setGameData(other.getGameData());
        }
        if (other.hasTxnCountryCode()) {
          txnCountryCode_ = other.txnCountryCode_;
          bitField0_ |= 0x00000004;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                version_ = input.readUInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 18: {
                gameData_ = input.readBytes();
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              case 26: {
                txnCountryCode_ = input.readBytes();
                bitField0_ |= 0x00000004;
                break;
              } // case 26
              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 int version_ ;
      /**
       * optional uint32 version = 1;
       * @return Whether the version field is set.
       */
      @java.lang.Override
      public boolean hasVersion() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 version = 1;
       * @return The version.
       */
      @java.lang.Override
      public int getVersion() {
        return version_;
      }
      /**
       * optional uint32 version = 1;
       * @param value The version to set.
       * @return This builder for chaining.
       */
      public Builder setVersion(int value) {

        version_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint32 version = 1;
       * @return This builder for chaining.
       */
      public Builder clearVersion() {
        bitField0_ = (bitField0_ & ~0x00000001);
        version_ = 0;
        onChanged();
        return this;
      }

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

      private java.lang.Object txnCountryCode_ = "";
      /**
       * optional string txn_country_code = 3;
       * @return Whether the txnCountryCode field is set.
       */
      public boolean hasTxnCountryCode() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional string txn_country_code = 3;
       * @return The txnCountryCode.
       */
      public java.lang.String getTxnCountryCode() {
        java.lang.Object ref = txnCountryCode_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            txnCountryCode_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string txn_country_code = 3;
       * @return The bytes for txnCountryCode.
       */
      public com.google.protobuf.ByteString
          getTxnCountryCodeBytes() {
        java.lang.Object ref = txnCountryCode_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          txnCountryCode_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string txn_country_code = 3;
       * @param value The txnCountryCode to set.
       * @return This builder for chaining.
       */
      public Builder setTxnCountryCode(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        txnCountryCode_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional string txn_country_code = 3;
       * @return This builder for chaining.
       */
      public Builder clearTxnCountryCode() {
        txnCountryCode_ = getDefaultInstance().getTxnCountryCode();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }
      /**
       * optional string txn_country_code = 3;
       * @param value The bytes for txnCountryCode to set.
       * @return This builder for chaining.
       */
      public Builder setTxnCountryCodeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        txnCountryCode_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgClientWelcome)
    }

    // @@protoc_insertion_point(class_scope:CMsgClientWelcome)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgClientWelcome 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientWelcome getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint32 min_allowed_version = 1;
     * @return Whether the minAllowedVersion field is set.
     */
    boolean hasMinAllowedVersion();
    /**
     * optional uint32 min_allowed_version = 1;
     * @return The minAllowedVersion.
     */
    int getMinAllowedVersion();

    /**
     * optional uint32 active_version = 2;
     * @return Whether the activeVersion field is set.
     */
    boolean hasActiveVersion();
    /**
     * optional uint32 active_version = 2;
     * @return The activeVersion.
     */
    int getActiveVersion();
  }
  /**
   * Protobuf type {@code CMsgServerWelcome}
   */
  public static final class CMsgServerWelcome extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgServerWelcome)
      CMsgServerWelcomeOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgServerWelcome.class.getName());
    }
    // Use CMsgServerWelcome.newBuilder() to construct.
    private CMsgServerWelcome(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgServerWelcome() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgServerWelcome_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgServerWelcome_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome.Builder.class);
    }

    private int bitField0_;
    public static final int MIN_ALLOWED_VERSION_FIELD_NUMBER = 1;
    private int minAllowedVersion_ = 0;
    /**
     * optional uint32 min_allowed_version = 1;
     * @return Whether the minAllowedVersion field is set.
     */
    @java.lang.Override
    public boolean hasMinAllowedVersion() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 min_allowed_version = 1;
     * @return The minAllowedVersion.
     */
    @java.lang.Override
    public int getMinAllowedVersion() {
      return minAllowedVersion_;
    }

    public static final int ACTIVE_VERSION_FIELD_NUMBER = 2;
    private int activeVersion_ = 0;
    /**
     * optional uint32 active_version = 2;
     * @return Whether the activeVersion field is set.
     */
    @java.lang.Override
    public boolean hasActiveVersion() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint32 active_version = 2;
     * @return The activeVersion.
     */
    @java.lang.Override
    public int getActiveVersion() {
      return activeVersion_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, minAllowedVersion_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, activeVersion_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome) obj;

      if (hasMinAllowedVersion() != other.hasMinAllowedVersion()) return false;
      if (hasMinAllowedVersion()) {
        if (getMinAllowedVersion()
            != other.getMinAllowedVersion()) return false;
      }
      if (hasActiveVersion() != other.hasActiveVersion()) return false;
      if (hasActiveVersion()) {
        if (getActiveVersion()
            != other.getActiveVersion()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasMinAllowedVersion()) {
        hash = (37 * hash) + MIN_ALLOWED_VERSION_FIELD_NUMBER;
        hash = (53 * hash) + getMinAllowedVersion();
      }
      if (hasActiveVersion()) {
        hash = (37 * hash) + ACTIVE_VERSION_FIELD_NUMBER;
        hash = (53 * hash) + getActiveVersion();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgServerWelcome}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgServerWelcome)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcomeOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgServerWelcome_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgServerWelcome_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        minAllowedVersion_ = 0;
        activeVersion_ = 0;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgServerWelcome_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.minAllowedVersion_ = minAllowedVersion_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.activeVersion_ = activeVersion_;
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome.getDefaultInstance()) return this;
        if (other.hasMinAllowedVersion()) {
          setMinAllowedVersion(other.getMinAllowedVersion());
        }
        if (other.hasActiveVersion()) {
          setActiveVersion(other.getActiveVersion());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                minAllowedVersion_ = input.readUInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                activeVersion_ = input.readUInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              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 int minAllowedVersion_ ;
      /**
       * optional uint32 min_allowed_version = 1;
       * @return Whether the minAllowedVersion field is set.
       */
      @java.lang.Override
      public boolean hasMinAllowedVersion() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 min_allowed_version = 1;
       * @return The minAllowedVersion.
       */
      @java.lang.Override
      public int getMinAllowedVersion() {
        return minAllowedVersion_;
      }
      /**
       * optional uint32 min_allowed_version = 1;
       * @param value The minAllowedVersion to set.
       * @return This builder for chaining.
       */
      public Builder setMinAllowedVersion(int value) {

        minAllowedVersion_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint32 min_allowed_version = 1;
       * @return This builder for chaining.
       */
      public Builder clearMinAllowedVersion() {
        bitField0_ = (bitField0_ & ~0x00000001);
        minAllowedVersion_ = 0;
        onChanged();
        return this;
      }

      private int activeVersion_ ;
      /**
       * optional uint32 active_version = 2;
       * @return Whether the activeVersion field is set.
       */
      @java.lang.Override
      public boolean hasActiveVersion() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint32 active_version = 2;
       * @return The activeVersion.
       */
      @java.lang.Override
      public int getActiveVersion() {
        return activeVersion_;
      }
      /**
       * optional uint32 active_version = 2;
       * @param value The activeVersion to set.
       * @return This builder for chaining.
       */
      public Builder setActiveVersion(int value) {

        activeVersion_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint32 active_version = 2;
       * @return This builder for chaining.
       */
      public Builder clearActiveVersion() {
        bitField0_ = (bitField0_ & ~0x00000002);
        activeVersion_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgServerWelcome)
    }

    // @@protoc_insertion_point(class_scope:CMsgServerWelcome)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgServerWelcome 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerWelcome getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional .GCGoodbyeReason reason = 1 [default = GCGoodbyeReason_GC_GOING_DOWN];
     * @return Whether the reason field is set.
     */
    boolean hasReason();
    /**
     * optional .GCGoodbyeReason reason = 1 [default = GCGoodbyeReason_GC_GOING_DOWN];
     * @return The reason.
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.GCGoodbyeReason getReason();
  }
  /**
   * Protobuf type {@code CMsgClientGoodbye}
   */
  public static final class CMsgClientGoodbye extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgClientGoodbye)
      CMsgClientGoodbyeOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgClientGoodbye.class.getName());
    }
    // Use CMsgClientGoodbye.newBuilder() to construct.
    private CMsgClientGoodbye(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgClientGoodbye() {
      reason_ = 1;
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgClientGoodbye_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgClientGoodbye_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye.Builder.class);
    }

    private int bitField0_;
    public static final int REASON_FIELD_NUMBER = 1;
    private int reason_ = 1;
    /**
     * optional .GCGoodbyeReason reason = 1 [default = GCGoodbyeReason_GC_GOING_DOWN];
     * @return Whether the reason field is set.
     */
    @java.lang.Override public boolean hasReason() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional .GCGoodbyeReason reason = 1 [default = GCGoodbyeReason_GC_GOING_DOWN];
     * @return The reason.
     */
    @java.lang.Override public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.GCGoodbyeReason getReason() {
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.GCGoodbyeReason result = in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.GCGoodbyeReason.forNumber(reason_);
      return result == null ? in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.GCGoodbyeReason.GCGoodbyeReason_GC_GOING_DOWN : result;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeEnum(1, reason_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(1, reason_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye) obj;

      if (hasReason() != other.hasReason()) return false;
      if (hasReason()) {
        if (reason_ != other.reason_) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

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

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgClientGoodbye}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgClientGoodbye)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbyeOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgClientGoodbye_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgClientGoodbye_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        reason_ = 1;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgClientGoodbye_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.reason_ = reason_;
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye.getDefaultInstance()) return this;
        if (other.hasReason()) {
          setReason(other.getReason());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                int tmpRaw = input.readEnum();
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.GCGoodbyeReason tmpValue =
                    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.GCGoodbyeReason.forNumber(tmpRaw);
                if (tmpValue == null) {
                  mergeUnknownVarintField(1, tmpRaw);
                } else {
                  reason_ = tmpRaw;
                  bitField0_ |= 0x00000001;
                }
                break;
              } // case 8
              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 int reason_ = 1;
      /**
       * optional .GCGoodbyeReason reason = 1 [default = GCGoodbyeReason_GC_GOING_DOWN];
       * @return Whether the reason field is set.
       */
      @java.lang.Override public boolean hasReason() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional .GCGoodbyeReason reason = 1 [default = GCGoodbyeReason_GC_GOING_DOWN];
       * @return The reason.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.GCGoodbyeReason getReason() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.GCGoodbyeReason result = in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.GCGoodbyeReason.forNumber(reason_);
        return result == null ? in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.GCGoodbyeReason.GCGoodbyeReason_GC_GOING_DOWN : result;
      }
      /**
       * optional .GCGoodbyeReason reason = 1 [default = GCGoodbyeReason_GC_GOING_DOWN];
       * @param value The reason to set.
       * @return This builder for chaining.
       */
      public Builder setReason(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.GCGoodbyeReason value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000001;
        reason_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * optional .GCGoodbyeReason reason = 1 [default = GCGoodbyeReason_GC_GOING_DOWN];
       * @return This builder for chaining.
       */
      public Builder clearReason() {
        bitField0_ = (bitField0_ & ~0x00000001);
        reason_ = 1;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgClientGoodbye)
    }

    // @@protoc_insertion_point(class_scope:CMsgClientGoodbye)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgClientGoodbye 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgClientGoodbye getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional .GCGoodbyeReason reason = 1 [default = GCGoodbyeReason_GC_GOING_DOWN];
     * @return Whether the reason field is set.
     */
    boolean hasReason();
    /**
     * optional .GCGoodbyeReason reason = 1 [default = GCGoodbyeReason_GC_GOING_DOWN];
     * @return The reason.
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.GCGoodbyeReason getReason();
  }
  /**
   * Protobuf type {@code CMsgServerGoodbye}
   */
  public static final class CMsgServerGoodbye extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgServerGoodbye)
      CMsgServerGoodbyeOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgServerGoodbye.class.getName());
    }
    // Use CMsgServerGoodbye.newBuilder() to construct.
    private CMsgServerGoodbye(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgServerGoodbye() {
      reason_ = 1;
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgServerGoodbye_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgServerGoodbye_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye.Builder.class);
    }

    private int bitField0_;
    public static final int REASON_FIELD_NUMBER = 1;
    private int reason_ = 1;
    /**
     * optional .GCGoodbyeReason reason = 1 [default = GCGoodbyeReason_GC_GOING_DOWN];
     * @return Whether the reason field is set.
     */
    @java.lang.Override public boolean hasReason() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional .GCGoodbyeReason reason = 1 [default = GCGoodbyeReason_GC_GOING_DOWN];
     * @return The reason.
     */
    @java.lang.Override public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.GCGoodbyeReason getReason() {
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.GCGoodbyeReason result = in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.GCGoodbyeReason.forNumber(reason_);
      return result == null ? in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.GCGoodbyeReason.GCGoodbyeReason_GC_GOING_DOWN : result;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeEnum(1, reason_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(1, reason_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye) obj;

      if (hasReason() != other.hasReason()) return false;
      if (hasReason()) {
        if (reason_ != other.reason_) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

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

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgServerGoodbye}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgServerGoodbye)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbyeOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgServerGoodbye_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgServerGoodbye_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        reason_ = 1;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgServerGoodbye_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.reason_ = reason_;
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye.getDefaultInstance()) return this;
        if (other.hasReason()) {
          setReason(other.getReason());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                int tmpRaw = input.readEnum();
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.GCGoodbyeReason tmpValue =
                    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.GCGoodbyeReason.forNumber(tmpRaw);
                if (tmpValue == null) {
                  mergeUnknownVarintField(1, tmpRaw);
                } else {
                  reason_ = tmpRaw;
                  bitField0_ |= 0x00000001;
                }
                break;
              } // case 8
              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 int reason_ = 1;
      /**
       * optional .GCGoodbyeReason reason = 1 [default = GCGoodbyeReason_GC_GOING_DOWN];
       * @return Whether the reason field is set.
       */
      @java.lang.Override public boolean hasReason() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional .GCGoodbyeReason reason = 1 [default = GCGoodbyeReason_GC_GOING_DOWN];
       * @return The reason.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.GCGoodbyeReason getReason() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.GCGoodbyeReason result = in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.GCGoodbyeReason.forNumber(reason_);
        return result == null ? in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.GCGoodbyeReason.GCGoodbyeReason_GC_GOING_DOWN : result;
      }
      /**
       * optional .GCGoodbyeReason reason = 1 [default = GCGoodbyeReason_GC_GOING_DOWN];
       * @param value The reason to set.
       * @return This builder for chaining.
       */
      public Builder setReason(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.GCGoodbyeReason value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000001;
        reason_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * optional .GCGoodbyeReason reason = 1 [default = GCGoodbyeReason_GC_GOING_DOWN];
       * @return This builder for chaining.
       */
      public Builder clearReason() {
        bitField0_ = (bitField0_ & ~0x00000001);
        reason_ = 1;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgServerGoodbye)
    }

    // @@protoc_insertion_point(class_scope:CMsgServerGoodbye)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgServerGoodbye 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerGoodbye getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CMsgServerAvailableOrBuilder extends
      // @@protoc_insertion_point(interface_extends:CMsgServerAvailable)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * Protobuf type {@code CMsgServerAvailable}
   */
  public static final class CMsgServerAvailable extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgServerAvailable)
      CMsgServerAvailableOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgServerAvailable.class.getName());
    }
    // Use CMsgServerAvailable.newBuilder() to construct.
    private CMsgServerAvailable(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgServerAvailable() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgServerAvailable_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgServerAvailable_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable.Builder.class);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable) obj;

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

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

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgServerAvailable}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgServerAvailable)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailableOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgServerAvailable_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgServerAvailable_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgServerAvailable_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              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;
      }

      // @@protoc_insertion_point(builder_scope:CMsgServerAvailable)
    }

    // @@protoc_insertion_point(class_scope:CMsgServerAvailable)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgServerAvailable 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgServerAvailable getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional fixed64 lobby_id = 1;
     * @return Whether the lobbyId field is set.
     */
    boolean hasLobbyId();
    /**
     * optional fixed64 lobby_id = 1;
     * @return The lobbyId.
     */
    long getLobbyId();
  }
  /**
   * Protobuf type {@code CMsgLANServerAvailable}
   */
  public static final class CMsgLANServerAvailable extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgLANServerAvailable)
      CMsgLANServerAvailableOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgLANServerAvailable.class.getName());
    }
    // Use CMsgLANServerAvailable.newBuilder() to construct.
    private CMsgLANServerAvailable(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgLANServerAvailable() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgLANServerAvailable_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgLANServerAvailable_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable.Builder.class);
    }

    private int bitField0_;
    public static final int LOBBY_ID_FIELD_NUMBER = 1;
    private long lobbyId_ = 0L;
    /**
     * optional fixed64 lobby_id = 1;
     * @return Whether the lobbyId field is set.
     */
    @java.lang.Override
    public boolean hasLobbyId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional fixed64 lobby_id = 1;
     * @return The lobbyId.
     */
    @java.lang.Override
    public long getLobbyId() {
      return lobbyId_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeFixed64(1, lobbyId_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed64Size(1, lobbyId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable) obj;

      if (hasLobbyId() != other.hasLobbyId()) return false;
      if (hasLobbyId()) {
        if (getLobbyId()
            != other.getLobbyId()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasLobbyId()) {
        hash = (37 * hash) + LOBBY_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getLobbyId());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgLANServerAvailable}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgLANServerAvailable)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailableOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgLANServerAvailable_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgLANServerAvailable_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        lobbyId_ = 0L;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgLANServerAvailable_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.lobbyId_ = lobbyId_;
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable.getDefaultInstance()) return this;
        if (other.hasLobbyId()) {
          setLobbyId(other.getLobbyId());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 9: {
                lobbyId_ = input.readFixed64();
                bitField0_ |= 0x00000001;
                break;
              } // case 9
              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 long lobbyId_ ;
      /**
       * optional fixed64 lobby_id = 1;
       * @return Whether the lobbyId field is set.
       */
      @java.lang.Override
      public boolean hasLobbyId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional fixed64 lobby_id = 1;
       * @return The lobbyId.
       */
      @java.lang.Override
      public long getLobbyId() {
        return lobbyId_;
      }
      /**
       * optional fixed64 lobby_id = 1;
       * @param value The lobbyId to set.
       * @return This builder for chaining.
       */
      public Builder setLobbyId(long value) {

        lobbyId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional fixed64 lobby_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearLobbyId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        lobbyId_ = 0L;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgLANServerAvailable)
    }

    // @@protoc_insertion_point(class_scope:CMsgLANServerAvailable)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgLANServerAvailable 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgLANServerAvailable getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint32 additional_backpack_slots = 1 [default = 0];
     * @return Whether the additionalBackpackSlots field is set.
     */
    boolean hasAdditionalBackpackSlots();
    /**
     * optional uint32 additional_backpack_slots = 1 [default = 0];
     * @return The additionalBackpackSlots.
     */
    int getAdditionalBackpackSlots();

    /**
     * optional bool trial_account = 2 [default = false];
     * @return Whether the trialAccount field is set.
     */
    boolean hasTrialAccount();
    /**
     * optional bool trial_account = 2 [default = false];
     * @return The trialAccount.
     */
    boolean getTrialAccount();

    /**
     * optional bool need_to_choose_most_helpful_friend = 4;
     * @return Whether the needToChooseMostHelpfulFriend field is set.
     */
    boolean hasNeedToChooseMostHelpfulFriend();
    /**
     * optional bool need_to_choose_most_helpful_friend = 4;
     * @return The needToChooseMostHelpfulFriend.
     */
    boolean getNeedToChooseMostHelpfulFriend();

    /**
     * optional bool in_coaches_list = 5;
     * @return Whether the inCoachesList field is set.
     */
    boolean hasInCoachesList();
    /**
     * optional bool in_coaches_list = 5;
     * @return The inCoachesList.
     */
    boolean getInCoachesList();

    /**
     * optional fixed32 trade_ban_expiration = 6;
     * @return Whether the tradeBanExpiration field is set.
     */
    boolean hasTradeBanExpiration();
    /**
     * optional fixed32 trade_ban_expiration = 6;
     * @return The tradeBanExpiration.
     */
    int getTradeBanExpiration();

    /**
     * optional fixed32 duel_ban_expiration = 7;
     * @return Whether the duelBanExpiration field is set.
     */
    boolean hasDuelBanExpiration();
    /**
     * optional fixed32 duel_ban_expiration = 7;
     * @return The duelBanExpiration.
     */
    int getDuelBanExpiration();

    /**
     * optional uint32 preview_item_def = 8 [default = 0];
     * @return Whether the previewItemDef field is set.
     */
    boolean hasPreviewItemDef();
    /**
     * optional uint32 preview_item_def = 8 [default = 0];
     * @return The previewItemDef.
     */
    int getPreviewItemDef();

    /**
     * optional bool phone_verified = 19 [default = false];
     * @return Whether the phoneVerified field is set.
     */
    boolean hasPhoneVerified();
    /**
     * optional bool phone_verified = 19 [default = false];
     * @return The phoneVerified.
     */
    boolean getPhoneVerified();

    /**
     * optional uint32 skill_rating_6v6 = 20;
     * @return Whether the skillRating6v6 field is set.
     */
    boolean hasSkillRating6V6();
    /**
     * optional uint32 skill_rating_6v6 = 20;
     * @return The skillRating6v6.
     */
    int getSkillRating6V6();

    /**
     * optional uint32 skill_rating_9v9 = 21;
     * @return Whether the skillRating9v9 field is set.
     */
    boolean hasSkillRating9V9();
    /**
     * optional uint32 skill_rating_9v9 = 21;
     * @return The skillRating9v9.
     */
    int getSkillRating9V9();

    /**
     * optional bool competitive_access = 23 [default = false];
     * @return Whether the competitiveAccess field is set.
     */
    boolean hasCompetitiveAccess();
    /**
     * optional bool competitive_access = 23 [default = false];
     * @return The competitiveAccess.
     */
    boolean getCompetitiveAccess();

    /**
     * optional uint32 matchmaking_ranked_ban_expiration = 18;
     * @return Whether the matchmakingRankedBanExpiration field is set.
     */
    boolean hasMatchmakingRankedBanExpiration();
    /**
     * optional uint32 matchmaking_ranked_ban_expiration = 18;
     * @return The matchmakingRankedBanExpiration.
     */
    int getMatchmakingRankedBanExpiration();

    /**
     * optional uint32 matchmaking_ranked_low_priority_expiration = 24;
     * @return Whether the matchmakingRankedLowPriorityExpiration field is set.
     */
    boolean hasMatchmakingRankedLowPriorityExpiration();
    /**
     * optional uint32 matchmaking_ranked_low_priority_expiration = 24;
     * @return The matchmakingRankedLowPriorityExpiration.
     */
    int getMatchmakingRankedLowPriorityExpiration();

    /**
     * optional uint32 matchmaking_ranked_ban_last_duration = 25;
     * @return Whether the matchmakingRankedBanLastDuration field is set.
     */
    boolean hasMatchmakingRankedBanLastDuration();
    /**
     * optional uint32 matchmaking_ranked_ban_last_duration = 25;
     * @return The matchmakingRankedBanLastDuration.
     */
    int getMatchmakingRankedBanLastDuration();

    /**
     * optional uint32 matchmaking_ranked_low_priority_last_duration = 26;
     * @return Whether the matchmakingRankedLowPriorityLastDuration field is set.
     */
    boolean hasMatchmakingRankedLowPriorityLastDuration();
    /**
     * optional uint32 matchmaking_ranked_low_priority_last_duration = 26;
     * @return The matchmakingRankedLowPriorityLastDuration.
     */
    int getMatchmakingRankedLowPriorityLastDuration();

    /**
     * optional uint32 matchmaking_casual_ban_expiration = 27;
     * @return Whether the matchmakingCasualBanExpiration field is set.
     */
    boolean hasMatchmakingCasualBanExpiration();
    /**
     * optional uint32 matchmaking_casual_ban_expiration = 27;
     * @return The matchmakingCasualBanExpiration.
     */
    int getMatchmakingCasualBanExpiration();

    /**
     * optional uint32 matchmaking_casual_low_priority_expiration = 28;
     * @return Whether the matchmakingCasualLowPriorityExpiration field is set.
     */
    boolean hasMatchmakingCasualLowPriorityExpiration();
    /**
     * optional uint32 matchmaking_casual_low_priority_expiration = 28;
     * @return The matchmakingCasualLowPriorityExpiration.
     */
    int getMatchmakingCasualLowPriorityExpiration();

    /**
     * optional uint32 matchmaking_casual_ban_last_duration = 29;
     * @return Whether the matchmakingCasualBanLastDuration field is set.
     */
    boolean hasMatchmakingCasualBanLastDuration();
    /**
     * optional uint32 matchmaking_casual_ban_last_duration = 29;
     * @return The matchmakingCasualBanLastDuration.
     */
    int getMatchmakingCasualBanLastDuration();

    /**
     * optional uint32 matchmaking_casual_low_priority_last_duration = 30;
     * @return Whether the matchmakingCasualLowPriorityLastDuration field is set.
     */
    boolean hasMatchmakingCasualLowPriorityLastDuration();
    /**
     * optional uint32 matchmaking_casual_low_priority_last_duration = 30;
     * @return The matchmakingCasualLowPriorityLastDuration.
     */
    int getMatchmakingCasualLowPriorityLastDuration();

    /**
     * optional bool phone_identifying = 31 [default = false];
     * @return Whether the phoneIdentifying field is set.
     */
    boolean hasPhoneIdentifying();
    /**
     * optional bool phone_identifying = 31 [default = false];
     * @return The phoneIdentifying.
     */
    boolean getPhoneIdentifying();

    /**
     * optional bool disable_party_quest_progress = 32 [default = false];
     * @return Whether the disablePartyQuestProgress field is set.
     */
    boolean hasDisablePartyQuestProgress();
    /**
     * optional bool disable_party_quest_progress = 32 [default = false];
     * @return The disablePartyQuestProgress.
     */
    boolean getDisablePartyQuestProgress();

    /**
     * optional uint32 quest_reward_credits = 33;
     * @return Whether the questRewardCredits field is set.
     */
    boolean hasQuestRewardCredits();
    /**
     * optional uint32 quest_reward_credits = 33;
     * @return The questRewardCredits.
     */
    int getQuestRewardCredits();

    /**
     * optional uint32 matchmaking_last_casual_excessive_reports_auto_ban_time = 34;
     * @return Whether the matchmakingLastCasualExcessiveReportsAutoBanTime field is set.
     */
    boolean hasMatchmakingLastCasualExcessiveReportsAutoBanTime();
    /**
     * optional uint32 matchmaking_last_casual_excessive_reports_auto_ban_time = 34;
     * @return The matchmakingLastCasualExcessiveReportsAutoBanTime.
     */
    int getMatchmakingLastCasualExcessiveReportsAutoBanTime();

    /**
     * optional uint32 matchmaking_last_comp_excessive_reports_auto_ban_time = 35;
     * @return Whether the matchmakingLastCompExcessiveReportsAutoBanTime field is set.
     */
    boolean hasMatchmakingLastCompExcessiveReportsAutoBanTime();
    /**
     * optional uint32 matchmaking_last_comp_excessive_reports_auto_ban_time = 35;
     * @return The matchmakingLastCompExcessiveReportsAutoBanTime.
     */
    int getMatchmakingLastCompExcessiveReportsAutoBanTime();
  }
  /**
   * Protobuf type {@code CSOEconGameAccountClient}
   */
  public static final class CSOEconGameAccountClient extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CSOEconGameAccountClient)
      CSOEconGameAccountClientOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CSOEconGameAccountClient.class.getName());
    }
    // Use CSOEconGameAccountClient.newBuilder() to construct.
    private CSOEconGameAccountClient(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CSOEconGameAccountClient() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconGameAccountClient_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconGameAccountClient_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient.Builder.class);
    }

    private int bitField0_;
    public static final int ADDITIONAL_BACKPACK_SLOTS_FIELD_NUMBER = 1;
    private int additionalBackpackSlots_ = 0;
    /**
     * optional uint32 additional_backpack_slots = 1 [default = 0];
     * @return Whether the additionalBackpackSlots field is set.
     */
    @java.lang.Override
    public boolean hasAdditionalBackpackSlots() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 additional_backpack_slots = 1 [default = 0];
     * @return The additionalBackpackSlots.
     */
    @java.lang.Override
    public int getAdditionalBackpackSlots() {
      return additionalBackpackSlots_;
    }

    public static final int TRIAL_ACCOUNT_FIELD_NUMBER = 2;
    private boolean trialAccount_ = false;
    /**
     * optional bool trial_account = 2 [default = false];
     * @return Whether the trialAccount field is set.
     */
    @java.lang.Override
    public boolean hasTrialAccount() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional bool trial_account = 2 [default = false];
     * @return The trialAccount.
     */
    @java.lang.Override
    public boolean getTrialAccount() {
      return trialAccount_;
    }

    public static final int NEED_TO_CHOOSE_MOST_HELPFUL_FRIEND_FIELD_NUMBER = 4;
    private boolean needToChooseMostHelpfulFriend_ = false;
    /**
     * optional bool need_to_choose_most_helpful_friend = 4;
     * @return Whether the needToChooseMostHelpfulFriend field is set.
     */
    @java.lang.Override
    public boolean hasNeedToChooseMostHelpfulFriend() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional bool need_to_choose_most_helpful_friend = 4;
     * @return The needToChooseMostHelpfulFriend.
     */
    @java.lang.Override
    public boolean getNeedToChooseMostHelpfulFriend() {
      return needToChooseMostHelpfulFriend_;
    }

    public static final int IN_COACHES_LIST_FIELD_NUMBER = 5;
    private boolean inCoachesList_ = false;
    /**
     * optional bool in_coaches_list = 5;
     * @return Whether the inCoachesList field is set.
     */
    @java.lang.Override
    public boolean hasInCoachesList() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional bool in_coaches_list = 5;
     * @return The inCoachesList.
     */
    @java.lang.Override
    public boolean getInCoachesList() {
      return inCoachesList_;
    }

    public static final int TRADE_BAN_EXPIRATION_FIELD_NUMBER = 6;
    private int tradeBanExpiration_ = 0;
    /**
     * optional fixed32 trade_ban_expiration = 6;
     * @return Whether the tradeBanExpiration field is set.
     */
    @java.lang.Override
    public boolean hasTradeBanExpiration() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * optional fixed32 trade_ban_expiration = 6;
     * @return The tradeBanExpiration.
     */
    @java.lang.Override
    public int getTradeBanExpiration() {
      return tradeBanExpiration_;
    }

    public static final int DUEL_BAN_EXPIRATION_FIELD_NUMBER = 7;
    private int duelBanExpiration_ = 0;
    /**
     * optional fixed32 duel_ban_expiration = 7;
     * @return Whether the duelBanExpiration field is set.
     */
    @java.lang.Override
    public boolean hasDuelBanExpiration() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * optional fixed32 duel_ban_expiration = 7;
     * @return The duelBanExpiration.
     */
    @java.lang.Override
    public int getDuelBanExpiration() {
      return duelBanExpiration_;
    }

    public static final int PREVIEW_ITEM_DEF_FIELD_NUMBER = 8;
    private int previewItemDef_ = 0;
    /**
     * optional uint32 preview_item_def = 8 [default = 0];
     * @return Whether the previewItemDef field is set.
     */
    @java.lang.Override
    public boolean hasPreviewItemDef() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     * optional uint32 preview_item_def = 8 [default = 0];
     * @return The previewItemDef.
     */
    @java.lang.Override
    public int getPreviewItemDef() {
      return previewItemDef_;
    }

    public static final int PHONE_VERIFIED_FIELD_NUMBER = 19;
    private boolean phoneVerified_ = false;
    /**
     * optional bool phone_verified = 19 [default = false];
     * @return Whether the phoneVerified field is set.
     */
    @java.lang.Override
    public boolean hasPhoneVerified() {
      return ((bitField0_ & 0x00000080) != 0);
    }
    /**
     * optional bool phone_verified = 19 [default = false];
     * @return The phoneVerified.
     */
    @java.lang.Override
    public boolean getPhoneVerified() {
      return phoneVerified_;
    }

    public static final int SKILL_RATING_6V6_FIELD_NUMBER = 20;
    private int skillRating6V6_ = 0;
    /**
     * optional uint32 skill_rating_6v6 = 20;
     * @return Whether the skillRating6v6 field is set.
     */
    @java.lang.Override
    public boolean hasSkillRating6V6() {
      return ((bitField0_ & 0x00000100) != 0);
    }
    /**
     * optional uint32 skill_rating_6v6 = 20;
     * @return The skillRating6v6.
     */
    @java.lang.Override
    public int getSkillRating6V6() {
      return skillRating6V6_;
    }

    public static final int SKILL_RATING_9V9_FIELD_NUMBER = 21;
    private int skillRating9V9_ = 0;
    /**
     * optional uint32 skill_rating_9v9 = 21;
     * @return Whether the skillRating9v9 field is set.
     */
    @java.lang.Override
    public boolean hasSkillRating9V9() {
      return ((bitField0_ & 0x00000200) != 0);
    }
    /**
     * optional uint32 skill_rating_9v9 = 21;
     * @return The skillRating9v9.
     */
    @java.lang.Override
    public int getSkillRating9V9() {
      return skillRating9V9_;
    }

    public static final int COMPETITIVE_ACCESS_FIELD_NUMBER = 23;
    private boolean competitiveAccess_ = false;
    /**
     * optional bool competitive_access = 23 [default = false];
     * @return Whether the competitiveAccess field is set.
     */
    @java.lang.Override
    public boolean hasCompetitiveAccess() {
      return ((bitField0_ & 0x00000400) != 0);
    }
    /**
     * optional bool competitive_access = 23 [default = false];
     * @return The competitiveAccess.
     */
    @java.lang.Override
    public boolean getCompetitiveAccess() {
      return competitiveAccess_;
    }

    public static final int MATCHMAKING_RANKED_BAN_EXPIRATION_FIELD_NUMBER = 18;
    private int matchmakingRankedBanExpiration_ = 0;
    /**
     * optional uint32 matchmaking_ranked_ban_expiration = 18;
     * @return Whether the matchmakingRankedBanExpiration field is set.
     */
    @java.lang.Override
    public boolean hasMatchmakingRankedBanExpiration() {
      return ((bitField0_ & 0x00000800) != 0);
    }
    /**
     * optional uint32 matchmaking_ranked_ban_expiration = 18;
     * @return The matchmakingRankedBanExpiration.
     */
    @java.lang.Override
    public int getMatchmakingRankedBanExpiration() {
      return matchmakingRankedBanExpiration_;
    }

    public static final int MATCHMAKING_RANKED_LOW_PRIORITY_EXPIRATION_FIELD_NUMBER = 24;
    private int matchmakingRankedLowPriorityExpiration_ = 0;
    /**
     * optional uint32 matchmaking_ranked_low_priority_expiration = 24;
     * @return Whether the matchmakingRankedLowPriorityExpiration field is set.
     */
    @java.lang.Override
    public boolean hasMatchmakingRankedLowPriorityExpiration() {
      return ((bitField0_ & 0x00001000) != 0);
    }
    /**
     * optional uint32 matchmaking_ranked_low_priority_expiration = 24;
     * @return The matchmakingRankedLowPriorityExpiration.
     */
    @java.lang.Override
    public int getMatchmakingRankedLowPriorityExpiration() {
      return matchmakingRankedLowPriorityExpiration_;
    }

    public static final int MATCHMAKING_RANKED_BAN_LAST_DURATION_FIELD_NUMBER = 25;
    private int matchmakingRankedBanLastDuration_ = 0;
    /**
     * optional uint32 matchmaking_ranked_ban_last_duration = 25;
     * @return Whether the matchmakingRankedBanLastDuration field is set.
     */
    @java.lang.Override
    public boolean hasMatchmakingRankedBanLastDuration() {
      return ((bitField0_ & 0x00002000) != 0);
    }
    /**
     * optional uint32 matchmaking_ranked_ban_last_duration = 25;
     * @return The matchmakingRankedBanLastDuration.
     */
    @java.lang.Override
    public int getMatchmakingRankedBanLastDuration() {
      return matchmakingRankedBanLastDuration_;
    }

    public static final int MATCHMAKING_RANKED_LOW_PRIORITY_LAST_DURATION_FIELD_NUMBER = 26;
    private int matchmakingRankedLowPriorityLastDuration_ = 0;
    /**
     * optional uint32 matchmaking_ranked_low_priority_last_duration = 26;
     * @return Whether the matchmakingRankedLowPriorityLastDuration field is set.
     */
    @java.lang.Override
    public boolean hasMatchmakingRankedLowPriorityLastDuration() {
      return ((bitField0_ & 0x00004000) != 0);
    }
    /**
     * optional uint32 matchmaking_ranked_low_priority_last_duration = 26;
     * @return The matchmakingRankedLowPriorityLastDuration.
     */
    @java.lang.Override
    public int getMatchmakingRankedLowPriorityLastDuration() {
      return matchmakingRankedLowPriorityLastDuration_;
    }

    public static final int MATCHMAKING_CASUAL_BAN_EXPIRATION_FIELD_NUMBER = 27;
    private int matchmakingCasualBanExpiration_ = 0;
    /**
     * optional uint32 matchmaking_casual_ban_expiration = 27;
     * @return Whether the matchmakingCasualBanExpiration field is set.
     */
    @java.lang.Override
    public boolean hasMatchmakingCasualBanExpiration() {
      return ((bitField0_ & 0x00008000) != 0);
    }
    /**
     * optional uint32 matchmaking_casual_ban_expiration = 27;
     * @return The matchmakingCasualBanExpiration.
     */
    @java.lang.Override
    public int getMatchmakingCasualBanExpiration() {
      return matchmakingCasualBanExpiration_;
    }

    public static final int MATCHMAKING_CASUAL_LOW_PRIORITY_EXPIRATION_FIELD_NUMBER = 28;
    private int matchmakingCasualLowPriorityExpiration_ = 0;
    /**
     * optional uint32 matchmaking_casual_low_priority_expiration = 28;
     * @return Whether the matchmakingCasualLowPriorityExpiration field is set.
     */
    @java.lang.Override
    public boolean hasMatchmakingCasualLowPriorityExpiration() {
      return ((bitField0_ & 0x00010000) != 0);
    }
    /**
     * optional uint32 matchmaking_casual_low_priority_expiration = 28;
     * @return The matchmakingCasualLowPriorityExpiration.
     */
    @java.lang.Override
    public int getMatchmakingCasualLowPriorityExpiration() {
      return matchmakingCasualLowPriorityExpiration_;
    }

    public static final int MATCHMAKING_CASUAL_BAN_LAST_DURATION_FIELD_NUMBER = 29;
    private int matchmakingCasualBanLastDuration_ = 0;
    /**
     * optional uint32 matchmaking_casual_ban_last_duration = 29;
     * @return Whether the matchmakingCasualBanLastDuration field is set.
     */
    @java.lang.Override
    public boolean hasMatchmakingCasualBanLastDuration() {
      return ((bitField0_ & 0x00020000) != 0);
    }
    /**
     * optional uint32 matchmaking_casual_ban_last_duration = 29;
     * @return The matchmakingCasualBanLastDuration.
     */
    @java.lang.Override
    public int getMatchmakingCasualBanLastDuration() {
      return matchmakingCasualBanLastDuration_;
    }

    public static final int MATCHMAKING_CASUAL_LOW_PRIORITY_LAST_DURATION_FIELD_NUMBER = 30;
    private int matchmakingCasualLowPriorityLastDuration_ = 0;
    /**
     * optional uint32 matchmaking_casual_low_priority_last_duration = 30;
     * @return Whether the matchmakingCasualLowPriorityLastDuration field is set.
     */
    @java.lang.Override
    public boolean hasMatchmakingCasualLowPriorityLastDuration() {
      return ((bitField0_ & 0x00040000) != 0);
    }
    /**
     * optional uint32 matchmaking_casual_low_priority_last_duration = 30;
     * @return The matchmakingCasualLowPriorityLastDuration.
     */
    @java.lang.Override
    public int getMatchmakingCasualLowPriorityLastDuration() {
      return matchmakingCasualLowPriorityLastDuration_;
    }

    public static final int PHONE_IDENTIFYING_FIELD_NUMBER = 31;
    private boolean phoneIdentifying_ = false;
    /**
     * optional bool phone_identifying = 31 [default = false];
     * @return Whether the phoneIdentifying field is set.
     */
    @java.lang.Override
    public boolean hasPhoneIdentifying() {
      return ((bitField0_ & 0x00080000) != 0);
    }
    /**
     * optional bool phone_identifying = 31 [default = false];
     * @return The phoneIdentifying.
     */
    @java.lang.Override
    public boolean getPhoneIdentifying() {
      return phoneIdentifying_;
    }

    public static final int DISABLE_PARTY_QUEST_PROGRESS_FIELD_NUMBER = 32;
    private boolean disablePartyQuestProgress_ = false;
    /**
     * optional bool disable_party_quest_progress = 32 [default = false];
     * @return Whether the disablePartyQuestProgress field is set.
     */
    @java.lang.Override
    public boolean hasDisablePartyQuestProgress() {
      return ((bitField0_ & 0x00100000) != 0);
    }
    /**
     * optional bool disable_party_quest_progress = 32 [default = false];
     * @return The disablePartyQuestProgress.
     */
    @java.lang.Override
    public boolean getDisablePartyQuestProgress() {
      return disablePartyQuestProgress_;
    }

    public static final int QUEST_REWARD_CREDITS_FIELD_NUMBER = 33;
    private int questRewardCredits_ = 0;
    /**
     * optional uint32 quest_reward_credits = 33;
     * @return Whether the questRewardCredits field is set.
     */
    @java.lang.Override
    public boolean hasQuestRewardCredits() {
      return ((bitField0_ & 0x00200000) != 0);
    }
    /**
     * optional uint32 quest_reward_credits = 33;
     * @return The questRewardCredits.
     */
    @java.lang.Override
    public int getQuestRewardCredits() {
      return questRewardCredits_;
    }

    public static final int MATCHMAKING_LAST_CASUAL_EXCESSIVE_REPORTS_AUTO_BAN_TIME_FIELD_NUMBER = 34;
    private int matchmakingLastCasualExcessiveReportsAutoBanTime_ = 0;
    /**
     * optional uint32 matchmaking_last_casual_excessive_reports_auto_ban_time = 34;
     * @return Whether the matchmakingLastCasualExcessiveReportsAutoBanTime field is set.
     */
    @java.lang.Override
    public boolean hasMatchmakingLastCasualExcessiveReportsAutoBanTime() {
      return ((bitField0_ & 0x00400000) != 0);
    }
    /**
     * optional uint32 matchmaking_last_casual_excessive_reports_auto_ban_time = 34;
     * @return The matchmakingLastCasualExcessiveReportsAutoBanTime.
     */
    @java.lang.Override
    public int getMatchmakingLastCasualExcessiveReportsAutoBanTime() {
      return matchmakingLastCasualExcessiveReportsAutoBanTime_;
    }

    public static final int MATCHMAKING_LAST_COMP_EXCESSIVE_REPORTS_AUTO_BAN_TIME_FIELD_NUMBER = 35;
    private int matchmakingLastCompExcessiveReportsAutoBanTime_ = 0;
    /**
     * optional uint32 matchmaking_last_comp_excessive_reports_auto_ban_time = 35;
     * @return Whether the matchmakingLastCompExcessiveReportsAutoBanTime field is set.
     */
    @java.lang.Override
    public boolean hasMatchmakingLastCompExcessiveReportsAutoBanTime() {
      return ((bitField0_ & 0x00800000) != 0);
    }
    /**
     * optional uint32 matchmaking_last_comp_excessive_reports_auto_ban_time = 35;
     * @return The matchmakingLastCompExcessiveReportsAutoBanTime.
     */
    @java.lang.Override
    public int getMatchmakingLastCompExcessiveReportsAutoBanTime() {
      return matchmakingLastCompExcessiveReportsAutoBanTime_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt32(1, additionalBackpackSlots_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeBool(2, trialAccount_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeBool(4, needToChooseMostHelpfulFriend_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeBool(5, inCoachesList_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        output.writeFixed32(6, tradeBanExpiration_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        output.writeFixed32(7, duelBanExpiration_);
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        output.writeUInt32(8, previewItemDef_);
      }
      if (((bitField0_ & 0x00000800) != 0)) {
        output.writeUInt32(18, matchmakingRankedBanExpiration_);
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        output.writeBool(19, phoneVerified_);
      }
      if (((bitField0_ & 0x00000100) != 0)) {
        output.writeUInt32(20, skillRating6V6_);
      }
      if (((bitField0_ & 0x00000200) != 0)) {
        output.writeUInt32(21, skillRating9V9_);
      }
      if (((bitField0_ & 0x00000400) != 0)) {
        output.writeBool(23, competitiveAccess_);
      }
      if (((bitField0_ & 0x00001000) != 0)) {
        output.writeUInt32(24, matchmakingRankedLowPriorityExpiration_);
      }
      if (((bitField0_ & 0x00002000) != 0)) {
        output.writeUInt32(25, matchmakingRankedBanLastDuration_);
      }
      if (((bitField0_ & 0x00004000) != 0)) {
        output.writeUInt32(26, matchmakingRankedLowPriorityLastDuration_);
      }
      if (((bitField0_ & 0x00008000) != 0)) {
        output.writeUInt32(27, matchmakingCasualBanExpiration_);
      }
      if (((bitField0_ & 0x00010000) != 0)) {
        output.writeUInt32(28, matchmakingCasualLowPriorityExpiration_);
      }
      if (((bitField0_ & 0x00020000) != 0)) {
        output.writeUInt32(29, matchmakingCasualBanLastDuration_);
      }
      if (((bitField0_ & 0x00040000) != 0)) {
        output.writeUInt32(30, matchmakingCasualLowPriorityLastDuration_);
      }
      if (((bitField0_ & 0x00080000) != 0)) {
        output.writeBool(31, phoneIdentifying_);
      }
      if (((bitField0_ & 0x00100000) != 0)) {
        output.writeBool(32, disablePartyQuestProgress_);
      }
      if (((bitField0_ & 0x00200000) != 0)) {
        output.writeUInt32(33, questRewardCredits_);
      }
      if (((bitField0_ & 0x00400000) != 0)) {
        output.writeUInt32(34, matchmakingLastCasualExcessiveReportsAutoBanTime_);
      }
      if (((bitField0_ & 0x00800000) != 0)) {
        output.writeUInt32(35, matchmakingLastCompExcessiveReportsAutoBanTime_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, additionalBackpackSlots_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(2, trialAccount_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(4, needToChooseMostHelpfulFriend_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(5, inCoachesList_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(6, tradeBanExpiration_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(7, duelBanExpiration_);
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(8, previewItemDef_);
      }
      if (((bitField0_ & 0x00000800) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(18, matchmakingRankedBanExpiration_);
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(19, phoneVerified_);
      }
      if (((bitField0_ & 0x00000100) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(20, skillRating6V6_);
      }
      if (((bitField0_ & 0x00000200) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(21, skillRating9V9_);
      }
      if (((bitField0_ & 0x00000400) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(23, competitiveAccess_);
      }
      if (((bitField0_ & 0x00001000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(24, matchmakingRankedLowPriorityExpiration_);
      }
      if (((bitField0_ & 0x00002000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(25, matchmakingRankedBanLastDuration_);
      }
      if (((bitField0_ & 0x00004000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(26, matchmakingRankedLowPriorityLastDuration_);
      }
      if (((bitField0_ & 0x00008000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(27, matchmakingCasualBanExpiration_);
      }
      if (((bitField0_ & 0x00010000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(28, matchmakingCasualLowPriorityExpiration_);
      }
      if (((bitField0_ & 0x00020000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(29, matchmakingCasualBanLastDuration_);
      }
      if (((bitField0_ & 0x00040000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(30, matchmakingCasualLowPriorityLastDuration_);
      }
      if (((bitField0_ & 0x00080000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(31, phoneIdentifying_);
      }
      if (((bitField0_ & 0x00100000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(32, disablePartyQuestProgress_);
      }
      if (((bitField0_ & 0x00200000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(33, questRewardCredits_);
      }
      if (((bitField0_ & 0x00400000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(34, matchmakingLastCasualExcessiveReportsAutoBanTime_);
      }
      if (((bitField0_ & 0x00800000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(35, matchmakingLastCompExcessiveReportsAutoBanTime_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient) obj;

      if (hasAdditionalBackpackSlots() != other.hasAdditionalBackpackSlots()) return false;
      if (hasAdditionalBackpackSlots()) {
        if (getAdditionalBackpackSlots()
            != other.getAdditionalBackpackSlots()) return false;
      }
      if (hasTrialAccount() != other.hasTrialAccount()) return false;
      if (hasTrialAccount()) {
        if (getTrialAccount()
            != other.getTrialAccount()) return false;
      }
      if (hasNeedToChooseMostHelpfulFriend() != other.hasNeedToChooseMostHelpfulFriend()) return false;
      if (hasNeedToChooseMostHelpfulFriend()) {
        if (getNeedToChooseMostHelpfulFriend()
            != other.getNeedToChooseMostHelpfulFriend()) return false;
      }
      if (hasInCoachesList() != other.hasInCoachesList()) return false;
      if (hasInCoachesList()) {
        if (getInCoachesList()
            != other.getInCoachesList()) return false;
      }
      if (hasTradeBanExpiration() != other.hasTradeBanExpiration()) return false;
      if (hasTradeBanExpiration()) {
        if (getTradeBanExpiration()
            != other.getTradeBanExpiration()) return false;
      }
      if (hasDuelBanExpiration() != other.hasDuelBanExpiration()) return false;
      if (hasDuelBanExpiration()) {
        if (getDuelBanExpiration()
            != other.getDuelBanExpiration()) return false;
      }
      if (hasPreviewItemDef() != other.hasPreviewItemDef()) return false;
      if (hasPreviewItemDef()) {
        if (getPreviewItemDef()
            != other.getPreviewItemDef()) return false;
      }
      if (hasPhoneVerified() != other.hasPhoneVerified()) return false;
      if (hasPhoneVerified()) {
        if (getPhoneVerified()
            != other.getPhoneVerified()) return false;
      }
      if (hasSkillRating6V6() != other.hasSkillRating6V6()) return false;
      if (hasSkillRating6V6()) {
        if (getSkillRating6V6()
            != other.getSkillRating6V6()) return false;
      }
      if (hasSkillRating9V9() != other.hasSkillRating9V9()) return false;
      if (hasSkillRating9V9()) {
        if (getSkillRating9V9()
            != other.getSkillRating9V9()) return false;
      }
      if (hasCompetitiveAccess() != other.hasCompetitiveAccess()) return false;
      if (hasCompetitiveAccess()) {
        if (getCompetitiveAccess()
            != other.getCompetitiveAccess()) return false;
      }
      if (hasMatchmakingRankedBanExpiration() != other.hasMatchmakingRankedBanExpiration()) return false;
      if (hasMatchmakingRankedBanExpiration()) {
        if (getMatchmakingRankedBanExpiration()
            != other.getMatchmakingRankedBanExpiration()) return false;
      }
      if (hasMatchmakingRankedLowPriorityExpiration() != other.hasMatchmakingRankedLowPriorityExpiration()) return false;
      if (hasMatchmakingRankedLowPriorityExpiration()) {
        if (getMatchmakingRankedLowPriorityExpiration()
            != other.getMatchmakingRankedLowPriorityExpiration()) return false;
      }
      if (hasMatchmakingRankedBanLastDuration() != other.hasMatchmakingRankedBanLastDuration()) return false;
      if (hasMatchmakingRankedBanLastDuration()) {
        if (getMatchmakingRankedBanLastDuration()
            != other.getMatchmakingRankedBanLastDuration()) return false;
      }
      if (hasMatchmakingRankedLowPriorityLastDuration() != other.hasMatchmakingRankedLowPriorityLastDuration()) return false;
      if (hasMatchmakingRankedLowPriorityLastDuration()) {
        if (getMatchmakingRankedLowPriorityLastDuration()
            != other.getMatchmakingRankedLowPriorityLastDuration()) return false;
      }
      if (hasMatchmakingCasualBanExpiration() != other.hasMatchmakingCasualBanExpiration()) return false;
      if (hasMatchmakingCasualBanExpiration()) {
        if (getMatchmakingCasualBanExpiration()
            != other.getMatchmakingCasualBanExpiration()) return false;
      }
      if (hasMatchmakingCasualLowPriorityExpiration() != other.hasMatchmakingCasualLowPriorityExpiration()) return false;
      if (hasMatchmakingCasualLowPriorityExpiration()) {
        if (getMatchmakingCasualLowPriorityExpiration()
            != other.getMatchmakingCasualLowPriorityExpiration()) return false;
      }
      if (hasMatchmakingCasualBanLastDuration() != other.hasMatchmakingCasualBanLastDuration()) return false;
      if (hasMatchmakingCasualBanLastDuration()) {
        if (getMatchmakingCasualBanLastDuration()
            != other.getMatchmakingCasualBanLastDuration()) return false;
      }
      if (hasMatchmakingCasualLowPriorityLastDuration() != other.hasMatchmakingCasualLowPriorityLastDuration()) return false;
      if (hasMatchmakingCasualLowPriorityLastDuration()) {
        if (getMatchmakingCasualLowPriorityLastDuration()
            != other.getMatchmakingCasualLowPriorityLastDuration()) return false;
      }
      if (hasPhoneIdentifying() != other.hasPhoneIdentifying()) return false;
      if (hasPhoneIdentifying()) {
        if (getPhoneIdentifying()
            != other.getPhoneIdentifying()) return false;
      }
      if (hasDisablePartyQuestProgress() != other.hasDisablePartyQuestProgress()) return false;
      if (hasDisablePartyQuestProgress()) {
        if (getDisablePartyQuestProgress()
            != other.getDisablePartyQuestProgress()) return false;
      }
      if (hasQuestRewardCredits() != other.hasQuestRewardCredits()) return false;
      if (hasQuestRewardCredits()) {
        if (getQuestRewardCredits()
            != other.getQuestRewardCredits()) return false;
      }
      if (hasMatchmakingLastCasualExcessiveReportsAutoBanTime() != other.hasMatchmakingLastCasualExcessiveReportsAutoBanTime()) return false;
      if (hasMatchmakingLastCasualExcessiveReportsAutoBanTime()) {
        if (getMatchmakingLastCasualExcessiveReportsAutoBanTime()
            != other.getMatchmakingLastCasualExcessiveReportsAutoBanTime()) return false;
      }
      if (hasMatchmakingLastCompExcessiveReportsAutoBanTime() != other.hasMatchmakingLastCompExcessiveReportsAutoBanTime()) return false;
      if (hasMatchmakingLastCompExcessiveReportsAutoBanTime()) {
        if (getMatchmakingLastCompExcessiveReportsAutoBanTime()
            != other.getMatchmakingLastCompExcessiveReportsAutoBanTime()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasAdditionalBackpackSlots()) {
        hash = (37 * hash) + ADDITIONAL_BACKPACK_SLOTS_FIELD_NUMBER;
        hash = (53 * hash) + getAdditionalBackpackSlots();
      }
      if (hasTrialAccount()) {
        hash = (37 * hash) + TRIAL_ACCOUNT_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getTrialAccount());
      }
      if (hasNeedToChooseMostHelpfulFriend()) {
        hash = (37 * hash) + NEED_TO_CHOOSE_MOST_HELPFUL_FRIEND_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getNeedToChooseMostHelpfulFriend());
      }
      if (hasInCoachesList()) {
        hash = (37 * hash) + IN_COACHES_LIST_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getInCoachesList());
      }
      if (hasTradeBanExpiration()) {
        hash = (37 * hash) + TRADE_BAN_EXPIRATION_FIELD_NUMBER;
        hash = (53 * hash) + getTradeBanExpiration();
      }
      if (hasDuelBanExpiration()) {
        hash = (37 * hash) + DUEL_BAN_EXPIRATION_FIELD_NUMBER;
        hash = (53 * hash) + getDuelBanExpiration();
      }
      if (hasPreviewItemDef()) {
        hash = (37 * hash) + PREVIEW_ITEM_DEF_FIELD_NUMBER;
        hash = (53 * hash) + getPreviewItemDef();
      }
      if (hasPhoneVerified()) {
        hash = (37 * hash) + PHONE_VERIFIED_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getPhoneVerified());
      }
      if (hasSkillRating6V6()) {
        hash = (37 * hash) + SKILL_RATING_6V6_FIELD_NUMBER;
        hash = (53 * hash) + getSkillRating6V6();
      }
      if (hasSkillRating9V9()) {
        hash = (37 * hash) + SKILL_RATING_9V9_FIELD_NUMBER;
        hash = (53 * hash) + getSkillRating9V9();
      }
      if (hasCompetitiveAccess()) {
        hash = (37 * hash) + COMPETITIVE_ACCESS_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getCompetitiveAccess());
      }
      if (hasMatchmakingRankedBanExpiration()) {
        hash = (37 * hash) + MATCHMAKING_RANKED_BAN_EXPIRATION_FIELD_NUMBER;
        hash = (53 * hash) + getMatchmakingRankedBanExpiration();
      }
      if (hasMatchmakingRankedLowPriorityExpiration()) {
        hash = (37 * hash) + MATCHMAKING_RANKED_LOW_PRIORITY_EXPIRATION_FIELD_NUMBER;
        hash = (53 * hash) + getMatchmakingRankedLowPriorityExpiration();
      }
      if (hasMatchmakingRankedBanLastDuration()) {
        hash = (37 * hash) + MATCHMAKING_RANKED_BAN_LAST_DURATION_FIELD_NUMBER;
        hash = (53 * hash) + getMatchmakingRankedBanLastDuration();
      }
      if (hasMatchmakingRankedLowPriorityLastDuration()) {
        hash = (37 * hash) + MATCHMAKING_RANKED_LOW_PRIORITY_LAST_DURATION_FIELD_NUMBER;
        hash = (53 * hash) + getMatchmakingRankedLowPriorityLastDuration();
      }
      if (hasMatchmakingCasualBanExpiration()) {
        hash = (37 * hash) + MATCHMAKING_CASUAL_BAN_EXPIRATION_FIELD_NUMBER;
        hash = (53 * hash) + getMatchmakingCasualBanExpiration();
      }
      if (hasMatchmakingCasualLowPriorityExpiration()) {
        hash = (37 * hash) + MATCHMAKING_CASUAL_LOW_PRIORITY_EXPIRATION_FIELD_NUMBER;
        hash = (53 * hash) + getMatchmakingCasualLowPriorityExpiration();
      }
      if (hasMatchmakingCasualBanLastDuration()) {
        hash = (37 * hash) + MATCHMAKING_CASUAL_BAN_LAST_DURATION_FIELD_NUMBER;
        hash = (53 * hash) + getMatchmakingCasualBanLastDuration();
      }
      if (hasMatchmakingCasualLowPriorityLastDuration()) {
        hash = (37 * hash) + MATCHMAKING_CASUAL_LOW_PRIORITY_LAST_DURATION_FIELD_NUMBER;
        hash = (53 * hash) + getMatchmakingCasualLowPriorityLastDuration();
      }
      if (hasPhoneIdentifying()) {
        hash = (37 * hash) + PHONE_IDENTIFYING_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getPhoneIdentifying());
      }
      if (hasDisablePartyQuestProgress()) {
        hash = (37 * hash) + DISABLE_PARTY_QUEST_PROGRESS_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getDisablePartyQuestProgress());
      }
      if (hasQuestRewardCredits()) {
        hash = (37 * hash) + QUEST_REWARD_CREDITS_FIELD_NUMBER;
        hash = (53 * hash) + getQuestRewardCredits();
      }
      if (hasMatchmakingLastCasualExcessiveReportsAutoBanTime()) {
        hash = (37 * hash) + MATCHMAKING_LAST_CASUAL_EXCESSIVE_REPORTS_AUTO_BAN_TIME_FIELD_NUMBER;
        hash = (53 * hash) + getMatchmakingLastCasualExcessiveReportsAutoBanTime();
      }
      if (hasMatchmakingLastCompExcessiveReportsAutoBanTime()) {
        hash = (37 * hash) + MATCHMAKING_LAST_COMP_EXCESSIVE_REPORTS_AUTO_BAN_TIME_FIELD_NUMBER;
        hash = (53 * hash) + getMatchmakingLastCompExcessiveReportsAutoBanTime();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSOEconGameAccountClient}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CSOEconGameAccountClient)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClientOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconGameAccountClient_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconGameAccountClient_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        additionalBackpackSlots_ = 0;
        trialAccount_ = false;
        needToChooseMostHelpfulFriend_ = false;
        inCoachesList_ = false;
        tradeBanExpiration_ = 0;
        duelBanExpiration_ = 0;
        previewItemDef_ = 0;
        phoneVerified_ = false;
        skillRating6V6_ = 0;
        skillRating9V9_ = 0;
        competitiveAccess_ = false;
        matchmakingRankedBanExpiration_ = 0;
        matchmakingRankedLowPriorityExpiration_ = 0;
        matchmakingRankedBanLastDuration_ = 0;
        matchmakingRankedLowPriorityLastDuration_ = 0;
        matchmakingCasualBanExpiration_ = 0;
        matchmakingCasualLowPriorityExpiration_ = 0;
        matchmakingCasualBanLastDuration_ = 0;
        matchmakingCasualLowPriorityLastDuration_ = 0;
        phoneIdentifying_ = false;
        disablePartyQuestProgress_ = false;
        questRewardCredits_ = 0;
        matchmakingLastCasualExcessiveReportsAutoBanTime_ = 0;
        matchmakingLastCompExcessiveReportsAutoBanTime_ = 0;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconGameAccountClient_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.additionalBackpackSlots_ = additionalBackpackSlots_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.trialAccount_ = trialAccount_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.needToChooseMostHelpfulFriend_ = needToChooseMostHelpfulFriend_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.inCoachesList_ = inCoachesList_;
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.tradeBanExpiration_ = tradeBanExpiration_;
          to_bitField0_ |= 0x00000010;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          result.duelBanExpiration_ = duelBanExpiration_;
          to_bitField0_ |= 0x00000020;
        }
        if (((from_bitField0_ & 0x00000040) != 0)) {
          result.previewItemDef_ = previewItemDef_;
          to_bitField0_ |= 0x00000040;
        }
        if (((from_bitField0_ & 0x00000080) != 0)) {
          result.phoneVerified_ = phoneVerified_;
          to_bitField0_ |= 0x00000080;
        }
        if (((from_bitField0_ & 0x00000100) != 0)) {
          result.skillRating6V6_ = skillRating6V6_;
          to_bitField0_ |= 0x00000100;
        }
        if (((from_bitField0_ & 0x00000200) != 0)) {
          result.skillRating9V9_ = skillRating9V9_;
          to_bitField0_ |= 0x00000200;
        }
        if (((from_bitField0_ & 0x00000400) != 0)) {
          result.competitiveAccess_ = competitiveAccess_;
          to_bitField0_ |= 0x00000400;
        }
        if (((from_bitField0_ & 0x00000800) != 0)) {
          result.matchmakingRankedBanExpiration_ = matchmakingRankedBanExpiration_;
          to_bitField0_ |= 0x00000800;
        }
        if (((from_bitField0_ & 0x00001000) != 0)) {
          result.matchmakingRankedLowPriorityExpiration_ = matchmakingRankedLowPriorityExpiration_;
          to_bitField0_ |= 0x00001000;
        }
        if (((from_bitField0_ & 0x00002000) != 0)) {
          result.matchmakingRankedBanLastDuration_ = matchmakingRankedBanLastDuration_;
          to_bitField0_ |= 0x00002000;
        }
        if (((from_bitField0_ & 0x00004000) != 0)) {
          result.matchmakingRankedLowPriorityLastDuration_ = matchmakingRankedLowPriorityLastDuration_;
          to_bitField0_ |= 0x00004000;
        }
        if (((from_bitField0_ & 0x00008000) != 0)) {
          result.matchmakingCasualBanExpiration_ = matchmakingCasualBanExpiration_;
          to_bitField0_ |= 0x00008000;
        }
        if (((from_bitField0_ & 0x00010000) != 0)) {
          result.matchmakingCasualLowPriorityExpiration_ = matchmakingCasualLowPriorityExpiration_;
          to_bitField0_ |= 0x00010000;
        }
        if (((from_bitField0_ & 0x00020000) != 0)) {
          result.matchmakingCasualBanLastDuration_ = matchmakingCasualBanLastDuration_;
          to_bitField0_ |= 0x00020000;
        }
        if (((from_bitField0_ & 0x00040000) != 0)) {
          result.matchmakingCasualLowPriorityLastDuration_ = matchmakingCasualLowPriorityLastDuration_;
          to_bitField0_ |= 0x00040000;
        }
        if (((from_bitField0_ & 0x00080000) != 0)) {
          result.phoneIdentifying_ = phoneIdentifying_;
          to_bitField0_ |= 0x00080000;
        }
        if (((from_bitField0_ & 0x00100000) != 0)) {
          result.disablePartyQuestProgress_ = disablePartyQuestProgress_;
          to_bitField0_ |= 0x00100000;
        }
        if (((from_bitField0_ & 0x00200000) != 0)) {
          result.questRewardCredits_ = questRewardCredits_;
          to_bitField0_ |= 0x00200000;
        }
        if (((from_bitField0_ & 0x00400000) != 0)) {
          result.matchmakingLastCasualExcessiveReportsAutoBanTime_ = matchmakingLastCasualExcessiveReportsAutoBanTime_;
          to_bitField0_ |= 0x00400000;
        }
        if (((from_bitField0_ & 0x00800000) != 0)) {
          result.matchmakingLastCompExcessiveReportsAutoBanTime_ = matchmakingLastCompExcessiveReportsAutoBanTime_;
          to_bitField0_ |= 0x00800000;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient.getDefaultInstance()) return this;
        if (other.hasAdditionalBackpackSlots()) {
          setAdditionalBackpackSlots(other.getAdditionalBackpackSlots());
        }
        if (other.hasTrialAccount()) {
          setTrialAccount(other.getTrialAccount());
        }
        if (other.hasNeedToChooseMostHelpfulFriend()) {
          setNeedToChooseMostHelpfulFriend(other.getNeedToChooseMostHelpfulFriend());
        }
        if (other.hasInCoachesList()) {
          setInCoachesList(other.getInCoachesList());
        }
        if (other.hasTradeBanExpiration()) {
          setTradeBanExpiration(other.getTradeBanExpiration());
        }
        if (other.hasDuelBanExpiration()) {
          setDuelBanExpiration(other.getDuelBanExpiration());
        }
        if (other.hasPreviewItemDef()) {
          setPreviewItemDef(other.getPreviewItemDef());
        }
        if (other.hasPhoneVerified()) {
          setPhoneVerified(other.getPhoneVerified());
        }
        if (other.hasSkillRating6V6()) {
          setSkillRating6V6(other.getSkillRating6V6());
        }
        if (other.hasSkillRating9V9()) {
          setSkillRating9V9(other.getSkillRating9V9());
        }
        if (other.hasCompetitiveAccess()) {
          setCompetitiveAccess(other.getCompetitiveAccess());
        }
        if (other.hasMatchmakingRankedBanExpiration()) {
          setMatchmakingRankedBanExpiration(other.getMatchmakingRankedBanExpiration());
        }
        if (other.hasMatchmakingRankedLowPriorityExpiration()) {
          setMatchmakingRankedLowPriorityExpiration(other.getMatchmakingRankedLowPriorityExpiration());
        }
        if (other.hasMatchmakingRankedBanLastDuration()) {
          setMatchmakingRankedBanLastDuration(other.getMatchmakingRankedBanLastDuration());
        }
        if (other.hasMatchmakingRankedLowPriorityLastDuration()) {
          setMatchmakingRankedLowPriorityLastDuration(other.getMatchmakingRankedLowPriorityLastDuration());
        }
        if (other.hasMatchmakingCasualBanExpiration()) {
          setMatchmakingCasualBanExpiration(other.getMatchmakingCasualBanExpiration());
        }
        if (other.hasMatchmakingCasualLowPriorityExpiration()) {
          setMatchmakingCasualLowPriorityExpiration(other.getMatchmakingCasualLowPriorityExpiration());
        }
        if (other.hasMatchmakingCasualBanLastDuration()) {
          setMatchmakingCasualBanLastDuration(other.getMatchmakingCasualBanLastDuration());
        }
        if (other.hasMatchmakingCasualLowPriorityLastDuration()) {
          setMatchmakingCasualLowPriorityLastDuration(other.getMatchmakingCasualLowPriorityLastDuration());
        }
        if (other.hasPhoneIdentifying()) {
          setPhoneIdentifying(other.getPhoneIdentifying());
        }
        if (other.hasDisablePartyQuestProgress()) {
          setDisablePartyQuestProgress(other.getDisablePartyQuestProgress());
        }
        if (other.hasQuestRewardCredits()) {
          setQuestRewardCredits(other.getQuestRewardCredits());
        }
        if (other.hasMatchmakingLastCasualExcessiveReportsAutoBanTime()) {
          setMatchmakingLastCasualExcessiveReportsAutoBanTime(other.getMatchmakingLastCasualExcessiveReportsAutoBanTime());
        }
        if (other.hasMatchmakingLastCompExcessiveReportsAutoBanTime()) {
          setMatchmakingLastCompExcessiveReportsAutoBanTime(other.getMatchmakingLastCompExcessiveReportsAutoBanTime());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                additionalBackpackSlots_ = input.readUInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                trialAccount_ = input.readBool();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 32: {
                needToChooseMostHelpfulFriend_ = input.readBool();
                bitField0_ |= 0x00000004;
                break;
              } // case 32
              case 40: {
                inCoachesList_ = input.readBool();
                bitField0_ |= 0x00000008;
                break;
              } // case 40
              case 53: {
                tradeBanExpiration_ = input.readFixed32();
                bitField0_ |= 0x00000010;
                break;
              } // case 53
              case 61: {
                duelBanExpiration_ = input.readFixed32();
                bitField0_ |= 0x00000020;
                break;
              } // case 61
              case 64: {
                previewItemDef_ = input.readUInt32();
                bitField0_ |= 0x00000040;
                break;
              } // case 64
              case 144: {
                matchmakingRankedBanExpiration_ = input.readUInt32();
                bitField0_ |= 0x00000800;
                break;
              } // case 144
              case 152: {
                phoneVerified_ = input.readBool();
                bitField0_ |= 0x00000080;
                break;
              } // case 152
              case 160: {
                skillRating6V6_ = input.readUInt32();
                bitField0_ |= 0x00000100;
                break;
              } // case 160
              case 168: {
                skillRating9V9_ = input.readUInt32();
                bitField0_ |= 0x00000200;
                break;
              } // case 168
              case 184: {
                competitiveAccess_ = input.readBool();
                bitField0_ |= 0x00000400;
                break;
              } // case 184
              case 192: {
                matchmakingRankedLowPriorityExpiration_ = input.readUInt32();
                bitField0_ |= 0x00001000;
                break;
              } // case 192
              case 200: {
                matchmakingRankedBanLastDuration_ = input.readUInt32();
                bitField0_ |= 0x00002000;
                break;
              } // case 200
              case 208: {
                matchmakingRankedLowPriorityLastDuration_ = input.readUInt32();
                bitField0_ |= 0x00004000;
                break;
              } // case 208
              case 216: {
                matchmakingCasualBanExpiration_ = input.readUInt32();
                bitField0_ |= 0x00008000;
                break;
              } // case 216
              case 224: {
                matchmakingCasualLowPriorityExpiration_ = input.readUInt32();
                bitField0_ |= 0x00010000;
                break;
              } // case 224
              case 232: {
                matchmakingCasualBanLastDuration_ = input.readUInt32();
                bitField0_ |= 0x00020000;
                break;
              } // case 232
              case 240: {
                matchmakingCasualLowPriorityLastDuration_ = input.readUInt32();
                bitField0_ |= 0x00040000;
                break;
              } // case 240
              case 248: {
                phoneIdentifying_ = input.readBool();
                bitField0_ |= 0x00080000;
                break;
              } // case 248
              case 256: {
                disablePartyQuestProgress_ = input.readBool();
                bitField0_ |= 0x00100000;
                break;
              } // case 256
              case 264: {
                questRewardCredits_ = input.readUInt32();
                bitField0_ |= 0x00200000;
                break;
              } // case 264
              case 272: {
                matchmakingLastCasualExcessiveReportsAutoBanTime_ = input.readUInt32();
                bitField0_ |= 0x00400000;
                break;
              } // case 272
              case 280: {
                matchmakingLastCompExcessiveReportsAutoBanTime_ = input.readUInt32();
                bitField0_ |= 0x00800000;
                break;
              } // case 280
              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 int additionalBackpackSlots_ ;
      /**
       * optional uint32 additional_backpack_slots = 1 [default = 0];
       * @return Whether the additionalBackpackSlots field is set.
       */
      @java.lang.Override
      public boolean hasAdditionalBackpackSlots() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 additional_backpack_slots = 1 [default = 0];
       * @return The additionalBackpackSlots.
       */
      @java.lang.Override
      public int getAdditionalBackpackSlots() {
        return additionalBackpackSlots_;
      }
      /**
       * optional uint32 additional_backpack_slots = 1 [default = 0];
       * @param value The additionalBackpackSlots to set.
       * @return This builder for chaining.
       */
      public Builder setAdditionalBackpackSlots(int value) {

        additionalBackpackSlots_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint32 additional_backpack_slots = 1 [default = 0];
       * @return This builder for chaining.
       */
      public Builder clearAdditionalBackpackSlots() {
        bitField0_ = (bitField0_ & ~0x00000001);
        additionalBackpackSlots_ = 0;
        onChanged();
        return this;
      }

      private boolean trialAccount_ ;
      /**
       * optional bool trial_account = 2 [default = false];
       * @return Whether the trialAccount field is set.
       */
      @java.lang.Override
      public boolean hasTrialAccount() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional bool trial_account = 2 [default = false];
       * @return The trialAccount.
       */
      @java.lang.Override
      public boolean getTrialAccount() {
        return trialAccount_;
      }
      /**
       * optional bool trial_account = 2 [default = false];
       * @param value The trialAccount to set.
       * @return This builder for chaining.
       */
      public Builder setTrialAccount(boolean value) {

        trialAccount_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional bool trial_account = 2 [default = false];
       * @return This builder for chaining.
       */
      public Builder clearTrialAccount() {
        bitField0_ = (bitField0_ & ~0x00000002);
        trialAccount_ = false;
        onChanged();
        return this;
      }

      private boolean needToChooseMostHelpfulFriend_ ;
      /**
       * optional bool need_to_choose_most_helpful_friend = 4;
       * @return Whether the needToChooseMostHelpfulFriend field is set.
       */
      @java.lang.Override
      public boolean hasNeedToChooseMostHelpfulFriend() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional bool need_to_choose_most_helpful_friend = 4;
       * @return The needToChooseMostHelpfulFriend.
       */
      @java.lang.Override
      public boolean getNeedToChooseMostHelpfulFriend() {
        return needToChooseMostHelpfulFriend_;
      }
      /**
       * optional bool need_to_choose_most_helpful_friend = 4;
       * @param value The needToChooseMostHelpfulFriend to set.
       * @return This builder for chaining.
       */
      public Builder setNeedToChooseMostHelpfulFriend(boolean value) {

        needToChooseMostHelpfulFriend_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional bool need_to_choose_most_helpful_friend = 4;
       * @return This builder for chaining.
       */
      public Builder clearNeedToChooseMostHelpfulFriend() {
        bitField0_ = (bitField0_ & ~0x00000004);
        needToChooseMostHelpfulFriend_ = false;
        onChanged();
        return this;
      }

      private boolean inCoachesList_ ;
      /**
       * optional bool in_coaches_list = 5;
       * @return Whether the inCoachesList field is set.
       */
      @java.lang.Override
      public boolean hasInCoachesList() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional bool in_coaches_list = 5;
       * @return The inCoachesList.
       */
      @java.lang.Override
      public boolean getInCoachesList() {
        return inCoachesList_;
      }
      /**
       * optional bool in_coaches_list = 5;
       * @param value The inCoachesList to set.
       * @return This builder for chaining.
       */
      public Builder setInCoachesList(boolean value) {

        inCoachesList_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional bool in_coaches_list = 5;
       * @return This builder for chaining.
       */
      public Builder clearInCoachesList() {
        bitField0_ = (bitField0_ & ~0x00000008);
        inCoachesList_ = false;
        onChanged();
        return this;
      }

      private int tradeBanExpiration_ ;
      /**
       * optional fixed32 trade_ban_expiration = 6;
       * @return Whether the tradeBanExpiration field is set.
       */
      @java.lang.Override
      public boolean hasTradeBanExpiration() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * optional fixed32 trade_ban_expiration = 6;
       * @return The tradeBanExpiration.
       */
      @java.lang.Override
      public int getTradeBanExpiration() {
        return tradeBanExpiration_;
      }
      /**
       * optional fixed32 trade_ban_expiration = 6;
       * @param value The tradeBanExpiration to set.
       * @return This builder for chaining.
       */
      public Builder setTradeBanExpiration(int value) {

        tradeBanExpiration_ = value;
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * optional fixed32 trade_ban_expiration = 6;
       * @return This builder for chaining.
       */
      public Builder clearTradeBanExpiration() {
        bitField0_ = (bitField0_ & ~0x00000010);
        tradeBanExpiration_ = 0;
        onChanged();
        return this;
      }

      private int duelBanExpiration_ ;
      /**
       * optional fixed32 duel_ban_expiration = 7;
       * @return Whether the duelBanExpiration field is set.
       */
      @java.lang.Override
      public boolean hasDuelBanExpiration() {
        return ((bitField0_ & 0x00000020) != 0);
      }
      /**
       * optional fixed32 duel_ban_expiration = 7;
       * @return The duelBanExpiration.
       */
      @java.lang.Override
      public int getDuelBanExpiration() {
        return duelBanExpiration_;
      }
      /**
       * optional fixed32 duel_ban_expiration = 7;
       * @param value The duelBanExpiration to set.
       * @return This builder for chaining.
       */
      public Builder setDuelBanExpiration(int value) {

        duelBanExpiration_ = value;
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * optional fixed32 duel_ban_expiration = 7;
       * @return This builder for chaining.
       */
      public Builder clearDuelBanExpiration() {
        bitField0_ = (bitField0_ & ~0x00000020);
        duelBanExpiration_ = 0;
        onChanged();
        return this;
      }

      private int previewItemDef_ ;
      /**
       * optional uint32 preview_item_def = 8 [default = 0];
       * @return Whether the previewItemDef field is set.
       */
      @java.lang.Override
      public boolean hasPreviewItemDef() {
        return ((bitField0_ & 0x00000040) != 0);
      }
      /**
       * optional uint32 preview_item_def = 8 [default = 0];
       * @return The previewItemDef.
       */
      @java.lang.Override
      public int getPreviewItemDef() {
        return previewItemDef_;
      }
      /**
       * optional uint32 preview_item_def = 8 [default = 0];
       * @param value The previewItemDef to set.
       * @return This builder for chaining.
       */
      public Builder setPreviewItemDef(int value) {

        previewItemDef_ = value;
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }
      /**
       * optional uint32 preview_item_def = 8 [default = 0];
       * @return This builder for chaining.
       */
      public Builder clearPreviewItemDef() {
        bitField0_ = (bitField0_ & ~0x00000040);
        previewItemDef_ = 0;
        onChanged();
        return this;
      }

      private boolean phoneVerified_ ;
      /**
       * optional bool phone_verified = 19 [default = false];
       * @return Whether the phoneVerified field is set.
       */
      @java.lang.Override
      public boolean hasPhoneVerified() {
        return ((bitField0_ & 0x00000080) != 0);
      }
      /**
       * optional bool phone_verified = 19 [default = false];
       * @return The phoneVerified.
       */
      @java.lang.Override
      public boolean getPhoneVerified() {
        return phoneVerified_;
      }
      /**
       * optional bool phone_verified = 19 [default = false];
       * @param value The phoneVerified to set.
       * @return This builder for chaining.
       */
      public Builder setPhoneVerified(boolean value) {

        phoneVerified_ = value;
        bitField0_ |= 0x00000080;
        onChanged();
        return this;
      }
      /**
       * optional bool phone_verified = 19 [default = false];
       * @return This builder for chaining.
       */
      public Builder clearPhoneVerified() {
        bitField0_ = (bitField0_ & ~0x00000080);
        phoneVerified_ = false;
        onChanged();
        return this;
      }

      private int skillRating6V6_ ;
      /**
       * optional uint32 skill_rating_6v6 = 20;
       * @return Whether the skillRating6v6 field is set.
       */
      @java.lang.Override
      public boolean hasSkillRating6V6() {
        return ((bitField0_ & 0x00000100) != 0);
      }
      /**
       * optional uint32 skill_rating_6v6 = 20;
       * @return The skillRating6v6.
       */
      @java.lang.Override
      public int getSkillRating6V6() {
        return skillRating6V6_;
      }
      /**
       * optional uint32 skill_rating_6v6 = 20;
       * @param value The skillRating6v6 to set.
       * @return This builder for chaining.
       */
      public Builder setSkillRating6V6(int value) {

        skillRating6V6_ = value;
        bitField0_ |= 0x00000100;
        onChanged();
        return this;
      }
      /**
       * optional uint32 skill_rating_6v6 = 20;
       * @return This builder for chaining.
       */
      public Builder clearSkillRating6V6() {
        bitField0_ = (bitField0_ & ~0x00000100);
        skillRating6V6_ = 0;
        onChanged();
        return this;
      }

      private int skillRating9V9_ ;
      /**
       * optional uint32 skill_rating_9v9 = 21;
       * @return Whether the skillRating9v9 field is set.
       */
      @java.lang.Override
      public boolean hasSkillRating9V9() {
        return ((bitField0_ & 0x00000200) != 0);
      }
      /**
       * optional uint32 skill_rating_9v9 = 21;
       * @return The skillRating9v9.
       */
      @java.lang.Override
      public int getSkillRating9V9() {
        return skillRating9V9_;
      }
      /**
       * optional uint32 skill_rating_9v9 = 21;
       * @param value The skillRating9v9 to set.
       * @return This builder for chaining.
       */
      public Builder setSkillRating9V9(int value) {

        skillRating9V9_ = value;
        bitField0_ |= 0x00000200;
        onChanged();
        return this;
      }
      /**
       * optional uint32 skill_rating_9v9 = 21;
       * @return This builder for chaining.
       */
      public Builder clearSkillRating9V9() {
        bitField0_ = (bitField0_ & ~0x00000200);
        skillRating9V9_ = 0;
        onChanged();
        return this;
      }

      private boolean competitiveAccess_ ;
      /**
       * optional bool competitive_access = 23 [default = false];
       * @return Whether the competitiveAccess field is set.
       */
      @java.lang.Override
      public boolean hasCompetitiveAccess() {
        return ((bitField0_ & 0x00000400) != 0);
      }
      /**
       * optional bool competitive_access = 23 [default = false];
       * @return The competitiveAccess.
       */
      @java.lang.Override
      public boolean getCompetitiveAccess() {
        return competitiveAccess_;
      }
      /**
       * optional bool competitive_access = 23 [default = false];
       * @param value The competitiveAccess to set.
       * @return This builder for chaining.
       */
      public Builder setCompetitiveAccess(boolean value) {

        competitiveAccess_ = value;
        bitField0_ |= 0x00000400;
        onChanged();
        return this;
      }
      /**
       * optional bool competitive_access = 23 [default = false];
       * @return This builder for chaining.
       */
      public Builder clearCompetitiveAccess() {
        bitField0_ = (bitField0_ & ~0x00000400);
        competitiveAccess_ = false;
        onChanged();
        return this;
      }

      private int matchmakingRankedBanExpiration_ ;
      /**
       * optional uint32 matchmaking_ranked_ban_expiration = 18;
       * @return Whether the matchmakingRankedBanExpiration field is set.
       */
      @java.lang.Override
      public boolean hasMatchmakingRankedBanExpiration() {
        return ((bitField0_ & 0x00000800) != 0);
      }
      /**
       * optional uint32 matchmaking_ranked_ban_expiration = 18;
       * @return The matchmakingRankedBanExpiration.
       */
      @java.lang.Override
      public int getMatchmakingRankedBanExpiration() {
        return matchmakingRankedBanExpiration_;
      }
      /**
       * optional uint32 matchmaking_ranked_ban_expiration = 18;
       * @param value The matchmakingRankedBanExpiration to set.
       * @return This builder for chaining.
       */
      public Builder setMatchmakingRankedBanExpiration(int value) {

        matchmakingRankedBanExpiration_ = value;
        bitField0_ |= 0x00000800;
        onChanged();
        return this;
      }
      /**
       * optional uint32 matchmaking_ranked_ban_expiration = 18;
       * @return This builder for chaining.
       */
      public Builder clearMatchmakingRankedBanExpiration() {
        bitField0_ = (bitField0_ & ~0x00000800);
        matchmakingRankedBanExpiration_ = 0;
        onChanged();
        return this;
      }

      private int matchmakingRankedLowPriorityExpiration_ ;
      /**
       * optional uint32 matchmaking_ranked_low_priority_expiration = 24;
       * @return Whether the matchmakingRankedLowPriorityExpiration field is set.
       */
      @java.lang.Override
      public boolean hasMatchmakingRankedLowPriorityExpiration() {
        return ((bitField0_ & 0x00001000) != 0);
      }
      /**
       * optional uint32 matchmaking_ranked_low_priority_expiration = 24;
       * @return The matchmakingRankedLowPriorityExpiration.
       */
      @java.lang.Override
      public int getMatchmakingRankedLowPriorityExpiration() {
        return matchmakingRankedLowPriorityExpiration_;
      }
      /**
       * optional uint32 matchmaking_ranked_low_priority_expiration = 24;
       * @param value The matchmakingRankedLowPriorityExpiration to set.
       * @return This builder for chaining.
       */
      public Builder setMatchmakingRankedLowPriorityExpiration(int value) {

        matchmakingRankedLowPriorityExpiration_ = value;
        bitField0_ |= 0x00001000;
        onChanged();
        return this;
      }
      /**
       * optional uint32 matchmaking_ranked_low_priority_expiration = 24;
       * @return This builder for chaining.
       */
      public Builder clearMatchmakingRankedLowPriorityExpiration() {
        bitField0_ = (bitField0_ & ~0x00001000);
        matchmakingRankedLowPriorityExpiration_ = 0;
        onChanged();
        return this;
      }

      private int matchmakingRankedBanLastDuration_ ;
      /**
       * optional uint32 matchmaking_ranked_ban_last_duration = 25;
       * @return Whether the matchmakingRankedBanLastDuration field is set.
       */
      @java.lang.Override
      public boolean hasMatchmakingRankedBanLastDuration() {
        return ((bitField0_ & 0x00002000) != 0);
      }
      /**
       * optional uint32 matchmaking_ranked_ban_last_duration = 25;
       * @return The matchmakingRankedBanLastDuration.
       */
      @java.lang.Override
      public int getMatchmakingRankedBanLastDuration() {
        return matchmakingRankedBanLastDuration_;
      }
      /**
       * optional uint32 matchmaking_ranked_ban_last_duration = 25;
       * @param value The matchmakingRankedBanLastDuration to set.
       * @return This builder for chaining.
       */
      public Builder setMatchmakingRankedBanLastDuration(int value) {

        matchmakingRankedBanLastDuration_ = value;
        bitField0_ |= 0x00002000;
        onChanged();
        return this;
      }
      /**
       * optional uint32 matchmaking_ranked_ban_last_duration = 25;
       * @return This builder for chaining.
       */
      public Builder clearMatchmakingRankedBanLastDuration() {
        bitField0_ = (bitField0_ & ~0x00002000);
        matchmakingRankedBanLastDuration_ = 0;
        onChanged();
        return this;
      }

      private int matchmakingRankedLowPriorityLastDuration_ ;
      /**
       * optional uint32 matchmaking_ranked_low_priority_last_duration = 26;
       * @return Whether the matchmakingRankedLowPriorityLastDuration field is set.
       */
      @java.lang.Override
      public boolean hasMatchmakingRankedLowPriorityLastDuration() {
        return ((bitField0_ & 0x00004000) != 0);
      }
      /**
       * optional uint32 matchmaking_ranked_low_priority_last_duration = 26;
       * @return The matchmakingRankedLowPriorityLastDuration.
       */
      @java.lang.Override
      public int getMatchmakingRankedLowPriorityLastDuration() {
        return matchmakingRankedLowPriorityLastDuration_;
      }
      /**
       * optional uint32 matchmaking_ranked_low_priority_last_duration = 26;
       * @param value The matchmakingRankedLowPriorityLastDuration to set.
       * @return This builder for chaining.
       */
      public Builder setMatchmakingRankedLowPriorityLastDuration(int value) {

        matchmakingRankedLowPriorityLastDuration_ = value;
        bitField0_ |= 0x00004000;
        onChanged();
        return this;
      }
      /**
       * optional uint32 matchmaking_ranked_low_priority_last_duration = 26;
       * @return This builder for chaining.
       */
      public Builder clearMatchmakingRankedLowPriorityLastDuration() {
        bitField0_ = (bitField0_ & ~0x00004000);
        matchmakingRankedLowPriorityLastDuration_ = 0;
        onChanged();
        return this;
      }

      private int matchmakingCasualBanExpiration_ ;
      /**
       * optional uint32 matchmaking_casual_ban_expiration = 27;
       * @return Whether the matchmakingCasualBanExpiration field is set.
       */
      @java.lang.Override
      public boolean hasMatchmakingCasualBanExpiration() {
        return ((bitField0_ & 0x00008000) != 0);
      }
      /**
       * optional uint32 matchmaking_casual_ban_expiration = 27;
       * @return The matchmakingCasualBanExpiration.
       */
      @java.lang.Override
      public int getMatchmakingCasualBanExpiration() {
        return matchmakingCasualBanExpiration_;
      }
      /**
       * optional uint32 matchmaking_casual_ban_expiration = 27;
       * @param value The matchmakingCasualBanExpiration to set.
       * @return This builder for chaining.
       */
      public Builder setMatchmakingCasualBanExpiration(int value) {

        matchmakingCasualBanExpiration_ = value;
        bitField0_ |= 0x00008000;
        onChanged();
        return this;
      }
      /**
       * optional uint32 matchmaking_casual_ban_expiration = 27;
       * @return This builder for chaining.
       */
      public Builder clearMatchmakingCasualBanExpiration() {
        bitField0_ = (bitField0_ & ~0x00008000);
        matchmakingCasualBanExpiration_ = 0;
        onChanged();
        return this;
      }

      private int matchmakingCasualLowPriorityExpiration_ ;
      /**
       * optional uint32 matchmaking_casual_low_priority_expiration = 28;
       * @return Whether the matchmakingCasualLowPriorityExpiration field is set.
       */
      @java.lang.Override
      public boolean hasMatchmakingCasualLowPriorityExpiration() {
        return ((bitField0_ & 0x00010000) != 0);
      }
      /**
       * optional uint32 matchmaking_casual_low_priority_expiration = 28;
       * @return The matchmakingCasualLowPriorityExpiration.
       */
      @java.lang.Override
      public int getMatchmakingCasualLowPriorityExpiration() {
        return matchmakingCasualLowPriorityExpiration_;
      }
      /**
       * optional uint32 matchmaking_casual_low_priority_expiration = 28;
       * @param value The matchmakingCasualLowPriorityExpiration to set.
       * @return This builder for chaining.
       */
      public Builder setMatchmakingCasualLowPriorityExpiration(int value) {

        matchmakingCasualLowPriorityExpiration_ = value;
        bitField0_ |= 0x00010000;
        onChanged();
        return this;
      }
      /**
       * optional uint32 matchmaking_casual_low_priority_expiration = 28;
       * @return This builder for chaining.
       */
      public Builder clearMatchmakingCasualLowPriorityExpiration() {
        bitField0_ = (bitField0_ & ~0x00010000);
        matchmakingCasualLowPriorityExpiration_ = 0;
        onChanged();
        return this;
      }

      private int matchmakingCasualBanLastDuration_ ;
      /**
       * optional uint32 matchmaking_casual_ban_last_duration = 29;
       * @return Whether the matchmakingCasualBanLastDuration field is set.
       */
      @java.lang.Override
      public boolean hasMatchmakingCasualBanLastDuration() {
        return ((bitField0_ & 0x00020000) != 0);
      }
      /**
       * optional uint32 matchmaking_casual_ban_last_duration = 29;
       * @return The matchmakingCasualBanLastDuration.
       */
      @java.lang.Override
      public int getMatchmakingCasualBanLastDuration() {
        return matchmakingCasualBanLastDuration_;
      }
      /**
       * optional uint32 matchmaking_casual_ban_last_duration = 29;
       * @param value The matchmakingCasualBanLastDuration to set.
       * @return This builder for chaining.
       */
      public Builder setMatchmakingCasualBanLastDuration(int value) {

        matchmakingCasualBanLastDuration_ = value;
        bitField0_ |= 0x00020000;
        onChanged();
        return this;
      }
      /**
       * optional uint32 matchmaking_casual_ban_last_duration = 29;
       * @return This builder for chaining.
       */
      public Builder clearMatchmakingCasualBanLastDuration() {
        bitField0_ = (bitField0_ & ~0x00020000);
        matchmakingCasualBanLastDuration_ = 0;
        onChanged();
        return this;
      }

      private int matchmakingCasualLowPriorityLastDuration_ ;
      /**
       * optional uint32 matchmaking_casual_low_priority_last_duration = 30;
       * @return Whether the matchmakingCasualLowPriorityLastDuration field is set.
       */
      @java.lang.Override
      public boolean hasMatchmakingCasualLowPriorityLastDuration() {
        return ((bitField0_ & 0x00040000) != 0);
      }
      /**
       * optional uint32 matchmaking_casual_low_priority_last_duration = 30;
       * @return The matchmakingCasualLowPriorityLastDuration.
       */
      @java.lang.Override
      public int getMatchmakingCasualLowPriorityLastDuration() {
        return matchmakingCasualLowPriorityLastDuration_;
      }
      /**
       * optional uint32 matchmaking_casual_low_priority_last_duration = 30;
       * @param value The matchmakingCasualLowPriorityLastDuration to set.
       * @return This builder for chaining.
       */
      public Builder setMatchmakingCasualLowPriorityLastDuration(int value) {

        matchmakingCasualLowPriorityLastDuration_ = value;
        bitField0_ |= 0x00040000;
        onChanged();
        return this;
      }
      /**
       * optional uint32 matchmaking_casual_low_priority_last_duration = 30;
       * @return This builder for chaining.
       */
      public Builder clearMatchmakingCasualLowPriorityLastDuration() {
        bitField0_ = (bitField0_ & ~0x00040000);
        matchmakingCasualLowPriorityLastDuration_ = 0;
        onChanged();
        return this;
      }

      private boolean phoneIdentifying_ ;
      /**
       * optional bool phone_identifying = 31 [default = false];
       * @return Whether the phoneIdentifying field is set.
       */
      @java.lang.Override
      public boolean hasPhoneIdentifying() {
        return ((bitField0_ & 0x00080000) != 0);
      }
      /**
       * optional bool phone_identifying = 31 [default = false];
       * @return The phoneIdentifying.
       */
      @java.lang.Override
      public boolean getPhoneIdentifying() {
        return phoneIdentifying_;
      }
      /**
       * optional bool phone_identifying = 31 [default = false];
       * @param value The phoneIdentifying to set.
       * @return This builder for chaining.
       */
      public Builder setPhoneIdentifying(boolean value) {

        phoneIdentifying_ = value;
        bitField0_ |= 0x00080000;
        onChanged();
        return this;
      }
      /**
       * optional bool phone_identifying = 31 [default = false];
       * @return This builder for chaining.
       */
      public Builder clearPhoneIdentifying() {
        bitField0_ = (bitField0_ & ~0x00080000);
        phoneIdentifying_ = false;
        onChanged();
        return this;
      }

      private boolean disablePartyQuestProgress_ ;
      /**
       * optional bool disable_party_quest_progress = 32 [default = false];
       * @return Whether the disablePartyQuestProgress field is set.
       */
      @java.lang.Override
      public boolean hasDisablePartyQuestProgress() {
        return ((bitField0_ & 0x00100000) != 0);
      }
      /**
       * optional bool disable_party_quest_progress = 32 [default = false];
       * @return The disablePartyQuestProgress.
       */
      @java.lang.Override
      public boolean getDisablePartyQuestProgress() {
        return disablePartyQuestProgress_;
      }
      /**
       * optional bool disable_party_quest_progress = 32 [default = false];
       * @param value The disablePartyQuestProgress to set.
       * @return This builder for chaining.
       */
      public Builder setDisablePartyQuestProgress(boolean value) {

        disablePartyQuestProgress_ = value;
        bitField0_ |= 0x00100000;
        onChanged();
        return this;
      }
      /**
       * optional bool disable_party_quest_progress = 32 [default = false];
       * @return This builder for chaining.
       */
      public Builder clearDisablePartyQuestProgress() {
        bitField0_ = (bitField0_ & ~0x00100000);
        disablePartyQuestProgress_ = false;
        onChanged();
        return this;
      }

      private int questRewardCredits_ ;
      /**
       * optional uint32 quest_reward_credits = 33;
       * @return Whether the questRewardCredits field is set.
       */
      @java.lang.Override
      public boolean hasQuestRewardCredits() {
        return ((bitField0_ & 0x00200000) != 0);
      }
      /**
       * optional uint32 quest_reward_credits = 33;
       * @return The questRewardCredits.
       */
      @java.lang.Override
      public int getQuestRewardCredits() {
        return questRewardCredits_;
      }
      /**
       * optional uint32 quest_reward_credits = 33;
       * @param value The questRewardCredits to set.
       * @return This builder for chaining.
       */
      public Builder setQuestRewardCredits(int value) {

        questRewardCredits_ = value;
        bitField0_ |= 0x00200000;
        onChanged();
        return this;
      }
      /**
       * optional uint32 quest_reward_credits = 33;
       * @return This builder for chaining.
       */
      public Builder clearQuestRewardCredits() {
        bitField0_ = (bitField0_ & ~0x00200000);
        questRewardCredits_ = 0;
        onChanged();
        return this;
      }

      private int matchmakingLastCasualExcessiveReportsAutoBanTime_ ;
      /**
       * optional uint32 matchmaking_last_casual_excessive_reports_auto_ban_time = 34;
       * @return Whether the matchmakingLastCasualExcessiveReportsAutoBanTime field is set.
       */
      @java.lang.Override
      public boolean hasMatchmakingLastCasualExcessiveReportsAutoBanTime() {
        return ((bitField0_ & 0x00400000) != 0);
      }
      /**
       * optional uint32 matchmaking_last_casual_excessive_reports_auto_ban_time = 34;
       * @return The matchmakingLastCasualExcessiveReportsAutoBanTime.
       */
      @java.lang.Override
      public int getMatchmakingLastCasualExcessiveReportsAutoBanTime() {
        return matchmakingLastCasualExcessiveReportsAutoBanTime_;
      }
      /**
       * optional uint32 matchmaking_last_casual_excessive_reports_auto_ban_time = 34;
       * @param value The matchmakingLastCasualExcessiveReportsAutoBanTime to set.
       * @return This builder for chaining.
       */
      public Builder setMatchmakingLastCasualExcessiveReportsAutoBanTime(int value) {

        matchmakingLastCasualExcessiveReportsAutoBanTime_ = value;
        bitField0_ |= 0x00400000;
        onChanged();
        return this;
      }
      /**
       * optional uint32 matchmaking_last_casual_excessive_reports_auto_ban_time = 34;
       * @return This builder for chaining.
       */
      public Builder clearMatchmakingLastCasualExcessiveReportsAutoBanTime() {
        bitField0_ = (bitField0_ & ~0x00400000);
        matchmakingLastCasualExcessiveReportsAutoBanTime_ = 0;
        onChanged();
        return this;
      }

      private int matchmakingLastCompExcessiveReportsAutoBanTime_ ;
      /**
       * optional uint32 matchmaking_last_comp_excessive_reports_auto_ban_time = 35;
       * @return Whether the matchmakingLastCompExcessiveReportsAutoBanTime field is set.
       */
      @java.lang.Override
      public boolean hasMatchmakingLastCompExcessiveReportsAutoBanTime() {
        return ((bitField0_ & 0x00800000) != 0);
      }
      /**
       * optional uint32 matchmaking_last_comp_excessive_reports_auto_ban_time = 35;
       * @return The matchmakingLastCompExcessiveReportsAutoBanTime.
       */
      @java.lang.Override
      public int getMatchmakingLastCompExcessiveReportsAutoBanTime() {
        return matchmakingLastCompExcessiveReportsAutoBanTime_;
      }
      /**
       * optional uint32 matchmaking_last_comp_excessive_reports_auto_ban_time = 35;
       * @param value The matchmakingLastCompExcessiveReportsAutoBanTime to set.
       * @return This builder for chaining.
       */
      public Builder setMatchmakingLastCompExcessiveReportsAutoBanTime(int value) {

        matchmakingLastCompExcessiveReportsAutoBanTime_ = value;
        bitField0_ |= 0x00800000;
        onChanged();
        return this;
      }
      /**
       * optional uint32 matchmaking_last_comp_excessive_reports_auto_ban_time = 35;
       * @return This builder for chaining.
       */
      public Builder clearMatchmakingLastCompExcessiveReportsAutoBanTime() {
        bitField0_ = (bitField0_ & ~0x00800000);
        matchmakingLastCompExcessiveReportsAutoBanTime_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CSOEconGameAccountClient)
    }

    // @@protoc_insertion_point(class_scope:CSOEconGameAccountClient)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CSOEconGameAccountClient 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountClient getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional int32 op = 1;
     * @return Whether the op field is set.
     */
    boolean hasOp();
    /**
     * optional int32 op = 1;
     * @return The op.
     */
    int getOp();

    /**
     * optional string field = 2;
     * @return Whether the field field is set.
     */
    boolean hasField();
    /**
     * optional string field = 2;
     * @return The field.
     */
    java.lang.String getField();
    /**
     * optional string field = 2;
     * @return The bytes for field.
     */
    com.google.protobuf.ByteString
        getFieldBytes();

    /**
     * optional bool required = 3;
     * @return Whether the required field is set.
     */
    boolean hasRequired();
    /**
     * optional bool required = 3;
     * @return The required.
     */
    boolean getRequired();

    /**
     * optional float float_value = 4;
     * @return Whether the floatValue field is set.
     */
    boolean hasFloatValue();
    /**
     * optional float float_value = 4;
     * @return The floatValue.
     */
    float getFloatValue();

    /**
     * optional string string_value = 5;
     * @return Whether the stringValue field is set.
     */
    boolean hasStringValue();
    /**
     * optional string string_value = 5;
     * @return The stringValue.
     */
    java.lang.String getStringValue();
    /**
     * optional string string_value = 5;
     * @return The bytes for stringValue.
     */
    com.google.protobuf.ByteString
        getStringValueBytes();
  }
  /**
   * Protobuf type {@code CSOItemCriteriaCondition}
   */
  public static final class CSOItemCriteriaCondition extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CSOItemCriteriaCondition)
      CSOItemCriteriaConditionOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CSOItemCriteriaCondition.class.getName());
    }
    // Use CSOItemCriteriaCondition.newBuilder() to construct.
    private CSOItemCriteriaCondition(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CSOItemCriteriaCondition() {
      field_ = "";
      stringValue_ = "";
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOItemCriteriaCondition_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOItemCriteriaCondition_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition.Builder.class);
    }

    private int bitField0_;
    public static final int OP_FIELD_NUMBER = 1;
    private int op_ = 0;
    /**
     * optional int32 op = 1;
     * @return Whether the op field is set.
     */
    @java.lang.Override
    public boolean hasOp() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional int32 op = 1;
     * @return The op.
     */
    @java.lang.Override
    public int getOp() {
      return op_;
    }

    public static final int FIELD_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private volatile java.lang.Object field_ = "";
    /**
     * optional string field = 2;
     * @return Whether the field field is set.
     */
    @java.lang.Override
    public boolean hasField() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional string field = 2;
     * @return The field.
     */
    @java.lang.Override
    public java.lang.String getField() {
      java.lang.Object ref = field_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          field_ = s;
        }
        return s;
      }
    }
    /**
     * optional string field = 2;
     * @return The bytes for field.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getFieldBytes() {
      java.lang.Object ref = field_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        field_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int REQUIRED_FIELD_NUMBER = 3;
    private boolean required_ = false;
    /**
     * optional bool required = 3;
     * @return Whether the required field is set.
     */
    @java.lang.Override
    public boolean hasRequired() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional bool required = 3;
     * @return The required.
     */
    @java.lang.Override
    public boolean getRequired() {
      return required_;
    }

    public static final int FLOAT_VALUE_FIELD_NUMBER = 4;
    private float floatValue_ = 0F;
    /**
     * optional float float_value = 4;
     * @return Whether the floatValue field is set.
     */
    @java.lang.Override
    public boolean hasFloatValue() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional float float_value = 4;
     * @return The floatValue.
     */
    @java.lang.Override
    public float getFloatValue() {
      return floatValue_;
    }

    public static final int STRING_VALUE_FIELD_NUMBER = 5;
    @SuppressWarnings("serial")
    private volatile java.lang.Object stringValue_ = "";
    /**
     * optional string string_value = 5;
     * @return Whether the stringValue field is set.
     */
    @java.lang.Override
    public boolean hasStringValue() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * optional string string_value = 5;
     * @return The stringValue.
     */
    @java.lang.Override
    public java.lang.String getStringValue() {
      java.lang.Object ref = stringValue_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          stringValue_ = s;
        }
        return s;
      }
    }
    /**
     * optional string string_value = 5;
     * @return The bytes for stringValue.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getStringValueBytes() {
      java.lang.Object ref = stringValue_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        stringValue_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeInt32(1, op_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 2, field_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeBool(3, required_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeFloat(4, floatValue_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 5, stringValue_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, op_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(2, field_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(3, required_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(4, floatValue_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(5, stringValue_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition) obj;

      if (hasOp() != other.hasOp()) return false;
      if (hasOp()) {
        if (getOp()
            != other.getOp()) return false;
      }
      if (hasField() != other.hasField()) return false;
      if (hasField()) {
        if (!getField()
            .equals(other.getField())) return false;
      }
      if (hasRequired() != other.hasRequired()) return false;
      if (hasRequired()) {
        if (getRequired()
            != other.getRequired()) return false;
      }
      if (hasFloatValue() != other.hasFloatValue()) return false;
      if (hasFloatValue()) {
        if (java.lang.Float.floatToIntBits(getFloatValue())
            != java.lang.Float.floatToIntBits(
                other.getFloatValue())) return false;
      }
      if (hasStringValue() != other.hasStringValue()) return false;
      if (hasStringValue()) {
        if (!getStringValue()
            .equals(other.getStringValue())) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasOp()) {
        hash = (37 * hash) + OP_FIELD_NUMBER;
        hash = (53 * hash) + getOp();
      }
      if (hasField()) {
        hash = (37 * hash) + FIELD_FIELD_NUMBER;
        hash = (53 * hash) + getField().hashCode();
      }
      if (hasRequired()) {
        hash = (37 * hash) + REQUIRED_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getRequired());
      }
      if (hasFloatValue()) {
        hash = (37 * hash) + FLOAT_VALUE_FIELD_NUMBER;
        hash = (53 * hash) + java.lang.Float.floatToIntBits(
            getFloatValue());
      }
      if (hasStringValue()) {
        hash = (37 * hash) + STRING_VALUE_FIELD_NUMBER;
        hash = (53 * hash) + getStringValue().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSOItemCriteriaCondition}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CSOItemCriteriaCondition)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaConditionOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOItemCriteriaCondition_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOItemCriteriaCondition_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        op_ = 0;
        field_ = "";
        required_ = false;
        floatValue_ = 0F;
        stringValue_ = "";
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOItemCriteriaCondition_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.op_ = op_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.field_ = field_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.required_ = required_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.floatValue_ = floatValue_;
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.stringValue_ = stringValue_;
          to_bitField0_ |= 0x00000010;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition.getDefaultInstance()) return this;
        if (other.hasOp()) {
          setOp(other.getOp());
        }
        if (other.hasField()) {
          field_ = other.field_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        if (other.hasRequired()) {
          setRequired(other.getRequired());
        }
        if (other.hasFloatValue()) {
          setFloatValue(other.getFloatValue());
        }
        if (other.hasStringValue()) {
          stringValue_ = other.stringValue_;
          bitField0_ |= 0x00000010;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                op_ = input.readInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 18: {
                field_ = input.readBytes();
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              case 24: {
                required_ = input.readBool();
                bitField0_ |= 0x00000004;
                break;
              } // case 24
              case 37: {
                floatValue_ = input.readFloat();
                bitField0_ |= 0x00000008;
                break;
              } // case 37
              case 42: {
                stringValue_ = input.readBytes();
                bitField0_ |= 0x00000010;
                break;
              } // case 42
              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 int op_ ;
      /**
       * optional int32 op = 1;
       * @return Whether the op field is set.
       */
      @java.lang.Override
      public boolean hasOp() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional int32 op = 1;
       * @return The op.
       */
      @java.lang.Override
      public int getOp() {
        return op_;
      }
      /**
       * optional int32 op = 1;
       * @param value The op to set.
       * @return This builder for chaining.
       */
      public Builder setOp(int value) {

        op_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional int32 op = 1;
       * @return This builder for chaining.
       */
      public Builder clearOp() {
        bitField0_ = (bitField0_ & ~0x00000001);
        op_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object field_ = "";
      /**
       * optional string field = 2;
       * @return Whether the field field is set.
       */
      public boolean hasField() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional string field = 2;
       * @return The field.
       */
      public java.lang.String getField() {
        java.lang.Object ref = field_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            field_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string field = 2;
       * @return The bytes for field.
       */
      public com.google.protobuf.ByteString
          getFieldBytes() {
        java.lang.Object ref = field_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          field_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string field = 2;
       * @param value The field to set.
       * @return This builder for chaining.
       */
      public Builder setField(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        field_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional string field = 2;
       * @return This builder for chaining.
       */
      public Builder clearField() {
        field_ = getDefaultInstance().getField();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * optional string field = 2;
       * @param value The bytes for field to set.
       * @return This builder for chaining.
       */
      public Builder setFieldBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        field_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      private boolean required_ ;
      /**
       * optional bool required = 3;
       * @return Whether the required field is set.
       */
      @java.lang.Override
      public boolean hasRequired() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional bool required = 3;
       * @return The required.
       */
      @java.lang.Override
      public boolean getRequired() {
        return required_;
      }
      /**
       * optional bool required = 3;
       * @param value The required to set.
       * @return This builder for chaining.
       */
      public Builder setRequired(boolean value) {

        required_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional bool required = 3;
       * @return This builder for chaining.
       */
      public Builder clearRequired() {
        bitField0_ = (bitField0_ & ~0x00000004);
        required_ = false;
        onChanged();
        return this;
      }

      private float floatValue_ ;
      /**
       * optional float float_value = 4;
       * @return Whether the floatValue field is set.
       */
      @java.lang.Override
      public boolean hasFloatValue() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional float float_value = 4;
       * @return The floatValue.
       */
      @java.lang.Override
      public float getFloatValue() {
        return floatValue_;
      }
      /**
       * optional float float_value = 4;
       * @param value The floatValue to set.
       * @return This builder for chaining.
       */
      public Builder setFloatValue(float value) {

        floatValue_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional float float_value = 4;
       * @return This builder for chaining.
       */
      public Builder clearFloatValue() {
        bitField0_ = (bitField0_ & ~0x00000008);
        floatValue_ = 0F;
        onChanged();
        return this;
      }

      private java.lang.Object stringValue_ = "";
      /**
       * optional string string_value = 5;
       * @return Whether the stringValue field is set.
       */
      public boolean hasStringValue() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * optional string string_value = 5;
       * @return The stringValue.
       */
      public java.lang.String getStringValue() {
        java.lang.Object ref = stringValue_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            stringValue_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string string_value = 5;
       * @return The bytes for stringValue.
       */
      public com.google.protobuf.ByteString
          getStringValueBytes() {
        java.lang.Object ref = stringValue_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          stringValue_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string string_value = 5;
       * @param value The stringValue to set.
       * @return This builder for chaining.
       */
      public Builder setStringValue(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        stringValue_ = value;
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * optional string string_value = 5;
       * @return This builder for chaining.
       */
      public Builder clearStringValue() {
        stringValue_ = getDefaultInstance().getStringValue();
        bitField0_ = (bitField0_ & ~0x00000010);
        onChanged();
        return this;
      }
      /**
       * optional string string_value = 5;
       * @param value The bytes for stringValue to set.
       * @return This builder for chaining.
       */
      public Builder setStringValueBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        stringValue_ = value;
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CSOItemCriteriaCondition)
    }

    // @@protoc_insertion_point(class_scope:CSOItemCriteriaCondition)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CSOItemCriteriaCondition 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint32 item_level = 1;
     * @return Whether the itemLevel field is set.
     */
    boolean hasItemLevel();
    /**
     * optional uint32 item_level = 1;
     * @return The itemLevel.
     */
    int getItemLevel();

    /**
     * optional int32 item_quality = 2;
     * @return Whether the itemQuality field is set.
     */
    boolean hasItemQuality();
    /**
     * optional int32 item_quality = 2;
     * @return The itemQuality.
     */
    int getItemQuality();

    /**
     * optional bool item_level_set = 3;
     * @return Whether the itemLevelSet field is set.
     */
    boolean hasItemLevelSet();
    /**
     * optional bool item_level_set = 3;
     * @return The itemLevelSet.
     */
    boolean getItemLevelSet();

    /**
     * optional bool item_quality_set = 4;
     * @return Whether the itemQualitySet field is set.
     */
    boolean hasItemQualitySet();
    /**
     * optional bool item_quality_set = 4;
     * @return The itemQualitySet.
     */
    boolean getItemQualitySet();

    /**
     * optional uint32 initial_inventory = 5;
     * @return Whether the initialInventory field is set.
     */
    boolean hasInitialInventory();
    /**
     * optional uint32 initial_inventory = 5;
     * @return The initialInventory.
     */
    int getInitialInventory();

    /**
     * optional uint32 initial_quantity = 6;
     * @return Whether the initialQuantity field is set.
     */
    boolean hasInitialQuantity();
    /**
     * optional uint32 initial_quantity = 6;
     * @return The initialQuantity.
     */
    int getInitialQuantity();

    /**
     * optional bool ignore_enabled_flag = 8;
     * @return Whether the ignoreEnabledFlag field is set.
     */
    boolean hasIgnoreEnabledFlag();
    /**
     * optional bool ignore_enabled_flag = 8;
     * @return The ignoreEnabledFlag.
     */
    boolean getIgnoreEnabledFlag();

    /**
     * repeated .CSOItemCriteriaCondition conditions = 9;
     */
    java.util.List 
        getConditionsList();
    /**
     * repeated .CSOItemCriteriaCondition conditions = 9;
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition getConditions(int index);
    /**
     * repeated .CSOItemCriteriaCondition conditions = 9;
     */
    int getConditionsCount();
    /**
     * repeated .CSOItemCriteriaCondition conditions = 9;
     */
    java.util.List 
        getConditionsOrBuilderList();
    /**
     * repeated .CSOItemCriteriaCondition conditions = 9;
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaConditionOrBuilder getConditionsOrBuilder(
        int index);

    /**
     * optional bool recent_only = 10;
     * @return Whether the recentOnly field is set.
     */
    boolean hasRecentOnly();
    /**
     * optional bool recent_only = 10;
     * @return The recentOnly.
     */
    boolean getRecentOnly();

    /**
     * optional string tags = 11;
     * @return Whether the tags field is set.
     */
    boolean hasTags();
    /**
     * optional string tags = 11;
     * @return The tags.
     */
    java.lang.String getTags();
    /**
     * optional string tags = 11;
     * @return The bytes for tags.
     */
    com.google.protobuf.ByteString
        getTagsBytes();

    /**
     * optional string equip_regions = 12;
     * @return Whether the equipRegions field is set.
     */
    boolean hasEquipRegions();
    /**
     * optional string equip_regions = 12;
     * @return The equipRegions.
     */
    java.lang.String getEquipRegions();
    /**
     * optional string equip_regions = 12;
     * @return The bytes for equipRegions.
     */
    com.google.protobuf.ByteString
        getEquipRegionsBytes();
  }
  /**
   * Protobuf type {@code CSOItemCriteria}
   */
  public static final class CSOItemCriteria extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CSOItemCriteria)
      CSOItemCriteriaOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CSOItemCriteria.class.getName());
    }
    // Use CSOItemCriteria.newBuilder() to construct.
    private CSOItemCriteria(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CSOItemCriteria() {
      conditions_ = java.util.Collections.emptyList();
      tags_ = "";
      equipRegions_ = "";
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOItemCriteria_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOItemCriteria_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.Builder.class);
    }

    private int bitField0_;
    public static final int ITEM_LEVEL_FIELD_NUMBER = 1;
    private int itemLevel_ = 0;
    /**
     * optional uint32 item_level = 1;
     * @return Whether the itemLevel field is set.
     */
    @java.lang.Override
    public boolean hasItemLevel() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 item_level = 1;
     * @return The itemLevel.
     */
    @java.lang.Override
    public int getItemLevel() {
      return itemLevel_;
    }

    public static final int ITEM_QUALITY_FIELD_NUMBER = 2;
    private int itemQuality_ = 0;
    /**
     * optional int32 item_quality = 2;
     * @return Whether the itemQuality field is set.
     */
    @java.lang.Override
    public boolean hasItemQuality() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional int32 item_quality = 2;
     * @return The itemQuality.
     */
    @java.lang.Override
    public int getItemQuality() {
      return itemQuality_;
    }

    public static final int ITEM_LEVEL_SET_FIELD_NUMBER = 3;
    private boolean itemLevelSet_ = false;
    /**
     * optional bool item_level_set = 3;
     * @return Whether the itemLevelSet field is set.
     */
    @java.lang.Override
    public boolean hasItemLevelSet() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional bool item_level_set = 3;
     * @return The itemLevelSet.
     */
    @java.lang.Override
    public boolean getItemLevelSet() {
      return itemLevelSet_;
    }

    public static final int ITEM_QUALITY_SET_FIELD_NUMBER = 4;
    private boolean itemQualitySet_ = false;
    /**
     * optional bool item_quality_set = 4;
     * @return Whether the itemQualitySet field is set.
     */
    @java.lang.Override
    public boolean hasItemQualitySet() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional bool item_quality_set = 4;
     * @return The itemQualitySet.
     */
    @java.lang.Override
    public boolean getItemQualitySet() {
      return itemQualitySet_;
    }

    public static final int INITIAL_INVENTORY_FIELD_NUMBER = 5;
    private int initialInventory_ = 0;
    /**
     * optional uint32 initial_inventory = 5;
     * @return Whether the initialInventory field is set.
     */
    @java.lang.Override
    public boolean hasInitialInventory() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * optional uint32 initial_inventory = 5;
     * @return The initialInventory.
     */
    @java.lang.Override
    public int getInitialInventory() {
      return initialInventory_;
    }

    public static final int INITIAL_QUANTITY_FIELD_NUMBER = 6;
    private int initialQuantity_ = 0;
    /**
     * optional uint32 initial_quantity = 6;
     * @return Whether the initialQuantity field is set.
     */
    @java.lang.Override
    public boolean hasInitialQuantity() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * optional uint32 initial_quantity = 6;
     * @return The initialQuantity.
     */
    @java.lang.Override
    public int getInitialQuantity() {
      return initialQuantity_;
    }

    public static final int IGNORE_ENABLED_FLAG_FIELD_NUMBER = 8;
    private boolean ignoreEnabledFlag_ = false;
    /**
     * optional bool ignore_enabled_flag = 8;
     * @return Whether the ignoreEnabledFlag field is set.
     */
    @java.lang.Override
    public boolean hasIgnoreEnabledFlag() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     * optional bool ignore_enabled_flag = 8;
     * @return The ignoreEnabledFlag.
     */
    @java.lang.Override
    public boolean getIgnoreEnabledFlag() {
      return ignoreEnabledFlag_;
    }

    public static final int CONDITIONS_FIELD_NUMBER = 9;
    @SuppressWarnings("serial")
    private java.util.List conditions_;
    /**
     * repeated .CSOItemCriteriaCondition conditions = 9;
     */
    @java.lang.Override
    public java.util.List getConditionsList() {
      return conditions_;
    }
    /**
     * repeated .CSOItemCriteriaCondition conditions = 9;
     */
    @java.lang.Override
    public java.util.List 
        getConditionsOrBuilderList() {
      return conditions_;
    }
    /**
     * repeated .CSOItemCriteriaCondition conditions = 9;
     */
    @java.lang.Override
    public int getConditionsCount() {
      return conditions_.size();
    }
    /**
     * repeated .CSOItemCriteriaCondition conditions = 9;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition getConditions(int index) {
      return conditions_.get(index);
    }
    /**
     * repeated .CSOItemCriteriaCondition conditions = 9;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaConditionOrBuilder getConditionsOrBuilder(
        int index) {
      return conditions_.get(index);
    }

    public static final int RECENT_ONLY_FIELD_NUMBER = 10;
    private boolean recentOnly_ = false;
    /**
     * optional bool recent_only = 10;
     * @return Whether the recentOnly field is set.
     */
    @java.lang.Override
    public boolean hasRecentOnly() {
      return ((bitField0_ & 0x00000080) != 0);
    }
    /**
     * optional bool recent_only = 10;
     * @return The recentOnly.
     */
    @java.lang.Override
    public boolean getRecentOnly() {
      return recentOnly_;
    }

    public static final int TAGS_FIELD_NUMBER = 11;
    @SuppressWarnings("serial")
    private volatile java.lang.Object tags_ = "";
    /**
     * optional string tags = 11;
     * @return Whether the tags field is set.
     */
    @java.lang.Override
    public boolean hasTags() {
      return ((bitField0_ & 0x00000100) != 0);
    }
    /**
     * optional string tags = 11;
     * @return The tags.
     */
    @java.lang.Override
    public java.lang.String getTags() {
      java.lang.Object ref = tags_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          tags_ = s;
        }
        return s;
      }
    }
    /**
     * optional string tags = 11;
     * @return The bytes for tags.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getTagsBytes() {
      java.lang.Object ref = tags_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        tags_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int EQUIP_REGIONS_FIELD_NUMBER = 12;
    @SuppressWarnings("serial")
    private volatile java.lang.Object equipRegions_ = "";
    /**
     * optional string equip_regions = 12;
     * @return Whether the equipRegions field is set.
     */
    @java.lang.Override
    public boolean hasEquipRegions() {
      return ((bitField0_ & 0x00000200) != 0);
    }
    /**
     * optional string equip_regions = 12;
     * @return The equipRegions.
     */
    @java.lang.Override
    public java.lang.String getEquipRegions() {
      java.lang.Object ref = equipRegions_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          equipRegions_ = s;
        }
        return s;
      }
    }
    /**
     * optional string equip_regions = 12;
     * @return The bytes for equipRegions.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getEquipRegionsBytes() {
      java.lang.Object ref = equipRegions_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        equipRegions_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt32(1, itemLevel_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeInt32(2, itemQuality_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeBool(3, itemLevelSet_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeBool(4, itemQualitySet_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        output.writeUInt32(5, initialInventory_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        output.writeUInt32(6, initialQuantity_);
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        output.writeBool(8, ignoreEnabledFlag_);
      }
      for (int i = 0; i < conditions_.size(); i++) {
        output.writeMessage(9, conditions_.get(i));
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        output.writeBool(10, recentOnly_);
      }
      if (((bitField0_ & 0x00000100) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 11, tags_);
      }
      if (((bitField0_ & 0x00000200) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 12, equipRegions_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, itemLevel_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, itemQuality_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(3, itemLevelSet_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(4, itemQualitySet_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(5, initialInventory_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(6, initialQuantity_);
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(8, ignoreEnabledFlag_);
      }
      for (int i = 0; i < conditions_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(9, conditions_.get(i));
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(10, recentOnly_);
      }
      if (((bitField0_ & 0x00000100) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(11, tags_);
      }
      if (((bitField0_ & 0x00000200) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(12, equipRegions_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria) obj;

      if (hasItemLevel() != other.hasItemLevel()) return false;
      if (hasItemLevel()) {
        if (getItemLevel()
            != other.getItemLevel()) return false;
      }
      if (hasItemQuality() != other.hasItemQuality()) return false;
      if (hasItemQuality()) {
        if (getItemQuality()
            != other.getItemQuality()) return false;
      }
      if (hasItemLevelSet() != other.hasItemLevelSet()) return false;
      if (hasItemLevelSet()) {
        if (getItemLevelSet()
            != other.getItemLevelSet()) return false;
      }
      if (hasItemQualitySet() != other.hasItemQualitySet()) return false;
      if (hasItemQualitySet()) {
        if (getItemQualitySet()
            != other.getItemQualitySet()) return false;
      }
      if (hasInitialInventory() != other.hasInitialInventory()) return false;
      if (hasInitialInventory()) {
        if (getInitialInventory()
            != other.getInitialInventory()) return false;
      }
      if (hasInitialQuantity() != other.hasInitialQuantity()) return false;
      if (hasInitialQuantity()) {
        if (getInitialQuantity()
            != other.getInitialQuantity()) return false;
      }
      if (hasIgnoreEnabledFlag() != other.hasIgnoreEnabledFlag()) return false;
      if (hasIgnoreEnabledFlag()) {
        if (getIgnoreEnabledFlag()
            != other.getIgnoreEnabledFlag()) return false;
      }
      if (!getConditionsList()
          .equals(other.getConditionsList())) return false;
      if (hasRecentOnly() != other.hasRecentOnly()) return false;
      if (hasRecentOnly()) {
        if (getRecentOnly()
            != other.getRecentOnly()) return false;
      }
      if (hasTags() != other.hasTags()) return false;
      if (hasTags()) {
        if (!getTags()
            .equals(other.getTags())) return false;
      }
      if (hasEquipRegions() != other.hasEquipRegions()) return false;
      if (hasEquipRegions()) {
        if (!getEquipRegions()
            .equals(other.getEquipRegions())) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasItemLevel()) {
        hash = (37 * hash) + ITEM_LEVEL_FIELD_NUMBER;
        hash = (53 * hash) + getItemLevel();
      }
      if (hasItemQuality()) {
        hash = (37 * hash) + ITEM_QUALITY_FIELD_NUMBER;
        hash = (53 * hash) + getItemQuality();
      }
      if (hasItemLevelSet()) {
        hash = (37 * hash) + ITEM_LEVEL_SET_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getItemLevelSet());
      }
      if (hasItemQualitySet()) {
        hash = (37 * hash) + ITEM_QUALITY_SET_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getItemQualitySet());
      }
      if (hasInitialInventory()) {
        hash = (37 * hash) + INITIAL_INVENTORY_FIELD_NUMBER;
        hash = (53 * hash) + getInitialInventory();
      }
      if (hasInitialQuantity()) {
        hash = (37 * hash) + INITIAL_QUANTITY_FIELD_NUMBER;
        hash = (53 * hash) + getInitialQuantity();
      }
      if (hasIgnoreEnabledFlag()) {
        hash = (37 * hash) + IGNORE_ENABLED_FLAG_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getIgnoreEnabledFlag());
      }
      if (getConditionsCount() > 0) {
        hash = (37 * hash) + CONDITIONS_FIELD_NUMBER;
        hash = (53 * hash) + getConditionsList().hashCode();
      }
      if (hasRecentOnly()) {
        hash = (37 * hash) + RECENT_ONLY_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getRecentOnly());
      }
      if (hasTags()) {
        hash = (37 * hash) + TAGS_FIELD_NUMBER;
        hash = (53 * hash) + getTags().hashCode();
      }
      if (hasEquipRegions()) {
        hash = (37 * hash) + EQUIP_REGIONS_FIELD_NUMBER;
        hash = (53 * hash) + getEquipRegions().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSOItemCriteria}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CSOItemCriteria)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOItemCriteria_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOItemCriteria_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        itemLevel_ = 0;
        itemQuality_ = 0;
        itemLevelSet_ = false;
        itemQualitySet_ = false;
        initialInventory_ = 0;
        initialQuantity_ = 0;
        ignoreEnabledFlag_ = false;
        if (conditionsBuilder_ == null) {
          conditions_ = java.util.Collections.emptyList();
        } else {
          conditions_ = null;
          conditionsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000080);
        recentOnly_ = false;
        tags_ = "";
        equipRegions_ = "";
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOItemCriteria_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria(this);
        buildPartialRepeatedFields(result);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartialRepeatedFields(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria result) {
        if (conditionsBuilder_ == null) {
          if (((bitField0_ & 0x00000080) != 0)) {
            conditions_ = java.util.Collections.unmodifiableList(conditions_);
            bitField0_ = (bitField0_ & ~0x00000080);
          }
          result.conditions_ = conditions_;
        } else {
          result.conditions_ = conditionsBuilder_.build();
        }
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.itemLevel_ = itemLevel_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.itemQuality_ = itemQuality_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.itemLevelSet_ = itemLevelSet_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.itemQualitySet_ = itemQualitySet_;
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.initialInventory_ = initialInventory_;
          to_bitField0_ |= 0x00000010;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          result.initialQuantity_ = initialQuantity_;
          to_bitField0_ |= 0x00000020;
        }
        if (((from_bitField0_ & 0x00000040) != 0)) {
          result.ignoreEnabledFlag_ = ignoreEnabledFlag_;
          to_bitField0_ |= 0x00000040;
        }
        if (((from_bitField0_ & 0x00000100) != 0)) {
          result.recentOnly_ = recentOnly_;
          to_bitField0_ |= 0x00000080;
        }
        if (((from_bitField0_ & 0x00000200) != 0)) {
          result.tags_ = tags_;
          to_bitField0_ |= 0x00000100;
        }
        if (((from_bitField0_ & 0x00000400) != 0)) {
          result.equipRegions_ = equipRegions_;
          to_bitField0_ |= 0x00000200;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.getDefaultInstance()) return this;
        if (other.hasItemLevel()) {
          setItemLevel(other.getItemLevel());
        }
        if (other.hasItemQuality()) {
          setItemQuality(other.getItemQuality());
        }
        if (other.hasItemLevelSet()) {
          setItemLevelSet(other.getItemLevelSet());
        }
        if (other.hasItemQualitySet()) {
          setItemQualitySet(other.getItemQualitySet());
        }
        if (other.hasInitialInventory()) {
          setInitialInventory(other.getInitialInventory());
        }
        if (other.hasInitialQuantity()) {
          setInitialQuantity(other.getInitialQuantity());
        }
        if (other.hasIgnoreEnabledFlag()) {
          setIgnoreEnabledFlag(other.getIgnoreEnabledFlag());
        }
        if (conditionsBuilder_ == null) {
          if (!other.conditions_.isEmpty()) {
            if (conditions_.isEmpty()) {
              conditions_ = other.conditions_;
              bitField0_ = (bitField0_ & ~0x00000080);
            } else {
              ensureConditionsIsMutable();
              conditions_.addAll(other.conditions_);
            }
            onChanged();
          }
        } else {
          if (!other.conditions_.isEmpty()) {
            if (conditionsBuilder_.isEmpty()) {
              conditionsBuilder_.dispose();
              conditionsBuilder_ = null;
              conditions_ = other.conditions_;
              bitField0_ = (bitField0_ & ~0x00000080);
              conditionsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getConditionsFieldBuilder() : null;
            } else {
              conditionsBuilder_.addAllMessages(other.conditions_);
            }
          }
        }
        if (other.hasRecentOnly()) {
          setRecentOnly(other.getRecentOnly());
        }
        if (other.hasTags()) {
          tags_ = other.tags_;
          bitField0_ |= 0x00000200;
          onChanged();
        }
        if (other.hasEquipRegions()) {
          equipRegions_ = other.equipRegions_;
          bitField0_ |= 0x00000400;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                itemLevel_ = input.readUInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                itemQuality_ = input.readInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 24: {
                itemLevelSet_ = input.readBool();
                bitField0_ |= 0x00000004;
                break;
              } // case 24
              case 32: {
                itemQualitySet_ = input.readBool();
                bitField0_ |= 0x00000008;
                break;
              } // case 32
              case 40: {
                initialInventory_ = input.readUInt32();
                bitField0_ |= 0x00000010;
                break;
              } // case 40
              case 48: {
                initialQuantity_ = input.readUInt32();
                bitField0_ |= 0x00000020;
                break;
              } // case 48
              case 64: {
                ignoreEnabledFlag_ = input.readBool();
                bitField0_ |= 0x00000040;
                break;
              } // case 64
              case 74: {
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition.parser(),
                        extensionRegistry);
                if (conditionsBuilder_ == null) {
                  ensureConditionsIsMutable();
                  conditions_.add(m);
                } else {
                  conditionsBuilder_.addMessage(m);
                }
                break;
              } // case 74
              case 80: {
                recentOnly_ = input.readBool();
                bitField0_ |= 0x00000100;
                break;
              } // case 80
              case 90: {
                tags_ = input.readBytes();
                bitField0_ |= 0x00000200;
                break;
              } // case 90
              case 98: {
                equipRegions_ = input.readBytes();
                bitField0_ |= 0x00000400;
                break;
              } // case 98
              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 int itemLevel_ ;
      /**
       * optional uint32 item_level = 1;
       * @return Whether the itemLevel field is set.
       */
      @java.lang.Override
      public boolean hasItemLevel() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 item_level = 1;
       * @return The itemLevel.
       */
      @java.lang.Override
      public int getItemLevel() {
        return itemLevel_;
      }
      /**
       * optional uint32 item_level = 1;
       * @param value The itemLevel to set.
       * @return This builder for chaining.
       */
      public Builder setItemLevel(int value) {

        itemLevel_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint32 item_level = 1;
       * @return This builder for chaining.
       */
      public Builder clearItemLevel() {
        bitField0_ = (bitField0_ & ~0x00000001);
        itemLevel_ = 0;
        onChanged();
        return this;
      }

      private int itemQuality_ ;
      /**
       * optional int32 item_quality = 2;
       * @return Whether the itemQuality field is set.
       */
      @java.lang.Override
      public boolean hasItemQuality() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional int32 item_quality = 2;
       * @return The itemQuality.
       */
      @java.lang.Override
      public int getItemQuality() {
        return itemQuality_;
      }
      /**
       * optional int32 item_quality = 2;
       * @param value The itemQuality to set.
       * @return This builder for chaining.
       */
      public Builder setItemQuality(int value) {

        itemQuality_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional int32 item_quality = 2;
       * @return This builder for chaining.
       */
      public Builder clearItemQuality() {
        bitField0_ = (bitField0_ & ~0x00000002);
        itemQuality_ = 0;
        onChanged();
        return this;
      }

      private boolean itemLevelSet_ ;
      /**
       * optional bool item_level_set = 3;
       * @return Whether the itemLevelSet field is set.
       */
      @java.lang.Override
      public boolean hasItemLevelSet() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional bool item_level_set = 3;
       * @return The itemLevelSet.
       */
      @java.lang.Override
      public boolean getItemLevelSet() {
        return itemLevelSet_;
      }
      /**
       * optional bool item_level_set = 3;
       * @param value The itemLevelSet to set.
       * @return This builder for chaining.
       */
      public Builder setItemLevelSet(boolean value) {

        itemLevelSet_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional bool item_level_set = 3;
       * @return This builder for chaining.
       */
      public Builder clearItemLevelSet() {
        bitField0_ = (bitField0_ & ~0x00000004);
        itemLevelSet_ = false;
        onChanged();
        return this;
      }

      private boolean itemQualitySet_ ;
      /**
       * optional bool item_quality_set = 4;
       * @return Whether the itemQualitySet field is set.
       */
      @java.lang.Override
      public boolean hasItemQualitySet() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional bool item_quality_set = 4;
       * @return The itemQualitySet.
       */
      @java.lang.Override
      public boolean getItemQualitySet() {
        return itemQualitySet_;
      }
      /**
       * optional bool item_quality_set = 4;
       * @param value The itemQualitySet to set.
       * @return This builder for chaining.
       */
      public Builder setItemQualitySet(boolean value) {

        itemQualitySet_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional bool item_quality_set = 4;
       * @return This builder for chaining.
       */
      public Builder clearItemQualitySet() {
        bitField0_ = (bitField0_ & ~0x00000008);
        itemQualitySet_ = false;
        onChanged();
        return this;
      }

      private int initialInventory_ ;
      /**
       * optional uint32 initial_inventory = 5;
       * @return Whether the initialInventory field is set.
       */
      @java.lang.Override
      public boolean hasInitialInventory() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * optional uint32 initial_inventory = 5;
       * @return The initialInventory.
       */
      @java.lang.Override
      public int getInitialInventory() {
        return initialInventory_;
      }
      /**
       * optional uint32 initial_inventory = 5;
       * @param value The initialInventory to set.
       * @return This builder for chaining.
       */
      public Builder setInitialInventory(int value) {

        initialInventory_ = value;
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * optional uint32 initial_inventory = 5;
       * @return This builder for chaining.
       */
      public Builder clearInitialInventory() {
        bitField0_ = (bitField0_ & ~0x00000010);
        initialInventory_ = 0;
        onChanged();
        return this;
      }

      private int initialQuantity_ ;
      /**
       * optional uint32 initial_quantity = 6;
       * @return Whether the initialQuantity field is set.
       */
      @java.lang.Override
      public boolean hasInitialQuantity() {
        return ((bitField0_ & 0x00000020) != 0);
      }
      /**
       * optional uint32 initial_quantity = 6;
       * @return The initialQuantity.
       */
      @java.lang.Override
      public int getInitialQuantity() {
        return initialQuantity_;
      }
      /**
       * optional uint32 initial_quantity = 6;
       * @param value The initialQuantity to set.
       * @return This builder for chaining.
       */
      public Builder setInitialQuantity(int value) {

        initialQuantity_ = value;
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * optional uint32 initial_quantity = 6;
       * @return This builder for chaining.
       */
      public Builder clearInitialQuantity() {
        bitField0_ = (bitField0_ & ~0x00000020);
        initialQuantity_ = 0;
        onChanged();
        return this;
      }

      private boolean ignoreEnabledFlag_ ;
      /**
       * optional bool ignore_enabled_flag = 8;
       * @return Whether the ignoreEnabledFlag field is set.
       */
      @java.lang.Override
      public boolean hasIgnoreEnabledFlag() {
        return ((bitField0_ & 0x00000040) != 0);
      }
      /**
       * optional bool ignore_enabled_flag = 8;
       * @return The ignoreEnabledFlag.
       */
      @java.lang.Override
      public boolean getIgnoreEnabledFlag() {
        return ignoreEnabledFlag_;
      }
      /**
       * optional bool ignore_enabled_flag = 8;
       * @param value The ignoreEnabledFlag to set.
       * @return This builder for chaining.
       */
      public Builder setIgnoreEnabledFlag(boolean value) {

        ignoreEnabledFlag_ = value;
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }
      /**
       * optional bool ignore_enabled_flag = 8;
       * @return This builder for chaining.
       */
      public Builder clearIgnoreEnabledFlag() {
        bitField0_ = (bitField0_ & ~0x00000040);
        ignoreEnabledFlag_ = false;
        onChanged();
        return this;
      }

      private java.util.List conditions_ =
        java.util.Collections.emptyList();
      private void ensureConditionsIsMutable() {
        if (!((bitField0_ & 0x00000080) != 0)) {
          conditions_ = new java.util.ArrayList(conditions_);
          bitField0_ |= 0x00000080;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaConditionOrBuilder> conditionsBuilder_;

      /**
       * repeated .CSOItemCriteriaCondition conditions = 9;
       */
      public java.util.List getConditionsList() {
        if (conditionsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(conditions_);
        } else {
          return conditionsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CSOItemCriteriaCondition conditions = 9;
       */
      public int getConditionsCount() {
        if (conditionsBuilder_ == null) {
          return conditions_.size();
        } else {
          return conditionsBuilder_.getCount();
        }
      }
      /**
       * repeated .CSOItemCriteriaCondition conditions = 9;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition getConditions(int index) {
        if (conditionsBuilder_ == null) {
          return conditions_.get(index);
        } else {
          return conditionsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CSOItemCriteriaCondition conditions = 9;
       */
      public Builder setConditions(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition value) {
        if (conditionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureConditionsIsMutable();
          conditions_.set(index, value);
          onChanged();
        } else {
          conditionsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CSOItemCriteriaCondition conditions = 9;
       */
      public Builder setConditions(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition.Builder builderForValue) {
        if (conditionsBuilder_ == null) {
          ensureConditionsIsMutable();
          conditions_.set(index, builderForValue.build());
          onChanged();
        } else {
          conditionsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CSOItemCriteriaCondition conditions = 9;
       */
      public Builder addConditions(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition value) {
        if (conditionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureConditionsIsMutable();
          conditions_.add(value);
          onChanged();
        } else {
          conditionsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CSOItemCriteriaCondition conditions = 9;
       */
      public Builder addConditions(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition value) {
        if (conditionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureConditionsIsMutable();
          conditions_.add(index, value);
          onChanged();
        } else {
          conditionsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CSOItemCriteriaCondition conditions = 9;
       */
      public Builder addConditions(
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition.Builder builderForValue) {
        if (conditionsBuilder_ == null) {
          ensureConditionsIsMutable();
          conditions_.add(builderForValue.build());
          onChanged();
        } else {
          conditionsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CSOItemCriteriaCondition conditions = 9;
       */
      public Builder addConditions(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition.Builder builderForValue) {
        if (conditionsBuilder_ == null) {
          ensureConditionsIsMutable();
          conditions_.add(index, builderForValue.build());
          onChanged();
        } else {
          conditionsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CSOItemCriteriaCondition conditions = 9;
       */
      public Builder addAllConditions(
          java.lang.Iterable values) {
        if (conditionsBuilder_ == null) {
          ensureConditionsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, conditions_);
          onChanged();
        } else {
          conditionsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CSOItemCriteriaCondition conditions = 9;
       */
      public Builder clearConditions() {
        if (conditionsBuilder_ == null) {
          conditions_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000080);
          onChanged();
        } else {
          conditionsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CSOItemCriteriaCondition conditions = 9;
       */
      public Builder removeConditions(int index) {
        if (conditionsBuilder_ == null) {
          ensureConditionsIsMutable();
          conditions_.remove(index);
          onChanged();
        } else {
          conditionsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CSOItemCriteriaCondition conditions = 9;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition.Builder getConditionsBuilder(
          int index) {
        return getConditionsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CSOItemCriteriaCondition conditions = 9;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaConditionOrBuilder getConditionsOrBuilder(
          int index) {
        if (conditionsBuilder_ == null) {
          return conditions_.get(index);  } else {
          return conditionsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CSOItemCriteriaCondition conditions = 9;
       */
      public java.util.List 
           getConditionsOrBuilderList() {
        if (conditionsBuilder_ != null) {
          return conditionsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(conditions_);
        }
      }
      /**
       * repeated .CSOItemCriteriaCondition conditions = 9;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition.Builder addConditionsBuilder() {
        return getConditionsFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition.getDefaultInstance());
      }
      /**
       * repeated .CSOItemCriteriaCondition conditions = 9;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition.Builder addConditionsBuilder(
          int index) {
        return getConditionsFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition.getDefaultInstance());
      }
      /**
       * repeated .CSOItemCriteriaCondition conditions = 9;
       */
      public java.util.List 
           getConditionsBuilderList() {
        return getConditionsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaConditionOrBuilder> 
          getConditionsFieldBuilder() {
        if (conditionsBuilder_ == null) {
          conditionsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaCondition.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaConditionOrBuilder>(
                  conditions_,
                  ((bitField0_ & 0x00000080) != 0),
                  getParentForChildren(),
                  isClean());
          conditions_ = null;
        }
        return conditionsBuilder_;
      }

      private boolean recentOnly_ ;
      /**
       * optional bool recent_only = 10;
       * @return Whether the recentOnly field is set.
       */
      @java.lang.Override
      public boolean hasRecentOnly() {
        return ((bitField0_ & 0x00000100) != 0);
      }
      /**
       * optional bool recent_only = 10;
       * @return The recentOnly.
       */
      @java.lang.Override
      public boolean getRecentOnly() {
        return recentOnly_;
      }
      /**
       * optional bool recent_only = 10;
       * @param value The recentOnly to set.
       * @return This builder for chaining.
       */
      public Builder setRecentOnly(boolean value) {

        recentOnly_ = value;
        bitField0_ |= 0x00000100;
        onChanged();
        return this;
      }
      /**
       * optional bool recent_only = 10;
       * @return This builder for chaining.
       */
      public Builder clearRecentOnly() {
        bitField0_ = (bitField0_ & ~0x00000100);
        recentOnly_ = false;
        onChanged();
        return this;
      }

      private java.lang.Object tags_ = "";
      /**
       * optional string tags = 11;
       * @return Whether the tags field is set.
       */
      public boolean hasTags() {
        return ((bitField0_ & 0x00000200) != 0);
      }
      /**
       * optional string tags = 11;
       * @return The tags.
       */
      public java.lang.String getTags() {
        java.lang.Object ref = tags_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            tags_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string tags = 11;
       * @return The bytes for tags.
       */
      public com.google.protobuf.ByteString
          getTagsBytes() {
        java.lang.Object ref = tags_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          tags_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string tags = 11;
       * @param value The tags to set.
       * @return This builder for chaining.
       */
      public Builder setTags(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        tags_ = value;
        bitField0_ |= 0x00000200;
        onChanged();
        return this;
      }
      /**
       * optional string tags = 11;
       * @return This builder for chaining.
       */
      public Builder clearTags() {
        tags_ = getDefaultInstance().getTags();
        bitField0_ = (bitField0_ & ~0x00000200);
        onChanged();
        return this;
      }
      /**
       * optional string tags = 11;
       * @param value The bytes for tags to set.
       * @return This builder for chaining.
       */
      public Builder setTagsBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        tags_ = value;
        bitField0_ |= 0x00000200;
        onChanged();
        return this;
      }

      private java.lang.Object equipRegions_ = "";
      /**
       * optional string equip_regions = 12;
       * @return Whether the equipRegions field is set.
       */
      public boolean hasEquipRegions() {
        return ((bitField0_ & 0x00000400) != 0);
      }
      /**
       * optional string equip_regions = 12;
       * @return The equipRegions.
       */
      public java.lang.String getEquipRegions() {
        java.lang.Object ref = equipRegions_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            equipRegions_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string equip_regions = 12;
       * @return The bytes for equipRegions.
       */
      public com.google.protobuf.ByteString
          getEquipRegionsBytes() {
        java.lang.Object ref = equipRegions_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          equipRegions_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string equip_regions = 12;
       * @param value The equipRegions to set.
       * @return This builder for chaining.
       */
      public Builder setEquipRegions(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        equipRegions_ = value;
        bitField0_ |= 0x00000400;
        onChanged();
        return this;
      }
      /**
       * optional string equip_regions = 12;
       * @return This builder for chaining.
       */
      public Builder clearEquipRegions() {
        equipRegions_ = getDefaultInstance().getEquipRegions();
        bitField0_ = (bitField0_ & ~0x00000400);
        onChanged();
        return this;
      }
      /**
       * optional string equip_regions = 12;
       * @param value The bytes for equipRegions to set.
       * @return This builder for chaining.
       */
      public Builder setEquipRegionsBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        equipRegions_ = value;
        bitField0_ |= 0x00000400;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CSOItemCriteria)
    }

    // @@protoc_insertion_point(class_scope:CSOItemCriteria)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CSOItemCriteria 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint32 def_index = 1;
     * @return Whether the defIndex field is set.
     */
    boolean hasDefIndex();
    /**
     * optional uint32 def_index = 1;
     * @return The defIndex.
     */
    int getDefIndex();

    /**
     * optional string name = 2;
     * @return Whether the name field is set.
     */
    boolean hasName();
    /**
     * optional string name = 2;
     * @return The name.
     */
    java.lang.String getName();
    /**
     * optional string name = 2;
     * @return The bytes for name.
     */
    com.google.protobuf.ByteString
        getNameBytes();

    /**
     * optional string n_a = 3;
     * @return Whether the nA field is set.
     */
    boolean hasNA();
    /**
     * optional string n_a = 3;
     * @return The nA.
     */
    java.lang.String getNA();
    /**
     * optional string n_a = 3;
     * @return The bytes for nA.
     */
    com.google.protobuf.ByteString
        getNABytes();

    /**
     * optional string desc_inputs = 4;
     * @return Whether the descInputs field is set.
     */
    boolean hasDescInputs();
    /**
     * optional string desc_inputs = 4;
     * @return The descInputs.
     */
    java.lang.String getDescInputs();
    /**
     * optional string desc_inputs = 4;
     * @return The bytes for descInputs.
     */
    com.google.protobuf.ByteString
        getDescInputsBytes();

    /**
     * optional string desc_outputs = 5;
     * @return Whether the descOutputs field is set.
     */
    boolean hasDescOutputs();
    /**
     * optional string desc_outputs = 5;
     * @return The descOutputs.
     */
    java.lang.String getDescOutputs();
    /**
     * optional string desc_outputs = 5;
     * @return The bytes for descOutputs.
     */
    com.google.protobuf.ByteString
        getDescOutputsBytes();

    /**
     * optional string di_a = 6;
     * @return Whether the diA field is set.
     */
    boolean hasDiA();
    /**
     * optional string di_a = 6;
     * @return The diA.
     */
    java.lang.String getDiA();
    /**
     * optional string di_a = 6;
     * @return The bytes for diA.
     */
    com.google.protobuf.ByteString
        getDiABytes();

    /**
     * optional string di_b = 7;
     * @return Whether the diB field is set.
     */
    boolean hasDiB();
    /**
     * optional string di_b = 7;
     * @return The diB.
     */
    java.lang.String getDiB();
    /**
     * optional string di_b = 7;
     * @return The bytes for diB.
     */
    com.google.protobuf.ByteString
        getDiBBytes();

    /**
     * optional string di_c = 8;
     * @return Whether the diC field is set.
     */
    boolean hasDiC();
    /**
     * optional string di_c = 8;
     * @return The diC.
     */
    java.lang.String getDiC();
    /**
     * optional string di_c = 8;
     * @return The bytes for diC.
     */
    com.google.protobuf.ByteString
        getDiCBytes();

    /**
     * optional string do_a = 9;
     * @return Whether the doA field is set.
     */
    boolean hasDoA();
    /**
     * optional string do_a = 9;
     * @return The doA.
     */
    java.lang.String getDoA();
    /**
     * optional string do_a = 9;
     * @return The bytes for doA.
     */
    com.google.protobuf.ByteString
        getDoABytes();

    /**
     * optional string do_b = 10;
     * @return Whether the doB field is set.
     */
    boolean hasDoB();
    /**
     * optional string do_b = 10;
     * @return The doB.
     */
    java.lang.String getDoB();
    /**
     * optional string do_b = 10;
     * @return The bytes for doB.
     */
    com.google.protobuf.ByteString
        getDoBBytes();

    /**
     * optional string do_c = 11;
     * @return Whether the doC field is set.
     */
    boolean hasDoC();
    /**
     * optional string do_c = 11;
     * @return The doC.
     */
    java.lang.String getDoC();
    /**
     * optional string do_c = 11;
     * @return The bytes for doC.
     */
    com.google.protobuf.ByteString
        getDoCBytes();

    /**
     * optional bool requires_all_same_class = 12;
     * @return Whether the requiresAllSameClass field is set.
     */
    boolean hasRequiresAllSameClass();
    /**
     * optional bool requires_all_same_class = 12;
     * @return The requiresAllSameClass.
     */
    boolean getRequiresAllSameClass();

    /**
     * optional bool requires_all_same_slot = 13;
     * @return Whether the requiresAllSameSlot field is set.
     */
    boolean hasRequiresAllSameSlot();
    /**
     * optional bool requires_all_same_slot = 13;
     * @return The requiresAllSameSlot.
     */
    boolean getRequiresAllSameSlot();

    /**
     * optional int32 class_usage_for_output = 14;
     * @return Whether the classUsageForOutput field is set.
     */
    boolean hasClassUsageForOutput();
    /**
     * optional int32 class_usage_for_output = 14;
     * @return The classUsageForOutput.
     */
    int getClassUsageForOutput();

    /**
     * optional int32 slot_usage_for_output = 15;
     * @return Whether the slotUsageForOutput field is set.
     */
    boolean hasSlotUsageForOutput();
    /**
     * optional int32 slot_usage_for_output = 15;
     * @return The slotUsageForOutput.
     */
    int getSlotUsageForOutput();

    /**
     * optional int32 set_for_output = 16;
     * @return Whether the setForOutput field is set.
     */
    boolean hasSetForOutput();
    /**
     * optional int32 set_for_output = 16;
     * @return The setForOutput.
     */
    int getSetForOutput();

    /**
     * repeated .CSOItemCriteria input_items_criteria = 20;
     */
    java.util.List 
        getInputItemsCriteriaList();
    /**
     * repeated .CSOItemCriteria input_items_criteria = 20;
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria getInputItemsCriteria(int index);
    /**
     * repeated .CSOItemCriteria input_items_criteria = 20;
     */
    int getInputItemsCriteriaCount();
    /**
     * repeated .CSOItemCriteria input_items_criteria = 20;
     */
    java.util.List 
        getInputItemsCriteriaOrBuilderList();
    /**
     * repeated .CSOItemCriteria input_items_criteria = 20;
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaOrBuilder getInputItemsCriteriaOrBuilder(
        int index);

    /**
     * repeated .CSOItemCriteria output_items_criteria = 21;
     */
    java.util.List 
        getOutputItemsCriteriaList();
    /**
     * repeated .CSOItemCriteria output_items_criteria = 21;
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria getOutputItemsCriteria(int index);
    /**
     * repeated .CSOItemCriteria output_items_criteria = 21;
     */
    int getOutputItemsCriteriaCount();
    /**
     * repeated .CSOItemCriteria output_items_criteria = 21;
     */
    java.util.List 
        getOutputItemsCriteriaOrBuilderList();
    /**
     * repeated .CSOItemCriteria output_items_criteria = 21;
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaOrBuilder getOutputItemsCriteriaOrBuilder(
        int index);

    /**
     * repeated uint32 input_item_dupe_counts = 22;
     * @return A list containing the inputItemDupeCounts.
     */
    java.util.List getInputItemDupeCountsList();
    /**
     * repeated uint32 input_item_dupe_counts = 22;
     * @return The count of inputItemDupeCounts.
     */
    int getInputItemDupeCountsCount();
    /**
     * repeated uint32 input_item_dupe_counts = 22;
     * @param index The index of the element to return.
     * @return The inputItemDupeCounts at the given index.
     */
    int getInputItemDupeCounts(int index);
  }
  /**
   * Protobuf type {@code CSOItemRecipe}
   */
  public static final class CSOItemRecipe extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CSOItemRecipe)
      CSOItemRecipeOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CSOItemRecipe.class.getName());
    }
    // Use CSOItemRecipe.newBuilder() to construct.
    private CSOItemRecipe(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CSOItemRecipe() {
      name_ = "";
      nA_ = "";
      descInputs_ = "";
      descOutputs_ = "";
      diA_ = "";
      diB_ = "";
      diC_ = "";
      doA_ = "";
      doB_ = "";
      doC_ = "";
      inputItemsCriteria_ = java.util.Collections.emptyList();
      outputItemsCriteria_ = java.util.Collections.emptyList();
      inputItemDupeCounts_ = emptyIntList();
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOItemRecipe_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOItemRecipe_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe.Builder.class);
    }

    private int bitField0_;
    public static final int DEF_INDEX_FIELD_NUMBER = 1;
    private int defIndex_ = 0;
    /**
     * optional uint32 def_index = 1;
     * @return Whether the defIndex field is set.
     */
    @java.lang.Override
    public boolean hasDefIndex() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 def_index = 1;
     * @return The defIndex.
     */
    @java.lang.Override
    public int getDefIndex() {
      return defIndex_;
    }

    public static final int NAME_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private volatile java.lang.Object name_ = "";
    /**
     * optional string name = 2;
     * @return Whether the name field is set.
     */
    @java.lang.Override
    public boolean hasName() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional string name = 2;
     * @return The name.
     */
    @java.lang.Override
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          name_ = s;
        }
        return s;
      }
    }
    /**
     * optional string name = 2;
     * @return The bytes for name.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int N_A_FIELD_NUMBER = 3;
    @SuppressWarnings("serial")
    private volatile java.lang.Object nA_ = "";
    /**
     * optional string n_a = 3;
     * @return Whether the nA field is set.
     */
    @java.lang.Override
    public boolean hasNA() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional string n_a = 3;
     * @return The nA.
     */
    @java.lang.Override
    public java.lang.String getNA() {
      java.lang.Object ref = nA_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          nA_ = s;
        }
        return s;
      }
    }
    /**
     * optional string n_a = 3;
     * @return The bytes for nA.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNABytes() {
      java.lang.Object ref = nA_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        nA_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int DESC_INPUTS_FIELD_NUMBER = 4;
    @SuppressWarnings("serial")
    private volatile java.lang.Object descInputs_ = "";
    /**
     * optional string desc_inputs = 4;
     * @return Whether the descInputs field is set.
     */
    @java.lang.Override
    public boolean hasDescInputs() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional string desc_inputs = 4;
     * @return The descInputs.
     */
    @java.lang.Override
    public java.lang.String getDescInputs() {
      java.lang.Object ref = descInputs_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          descInputs_ = s;
        }
        return s;
      }
    }
    /**
     * optional string desc_inputs = 4;
     * @return The bytes for descInputs.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getDescInputsBytes() {
      java.lang.Object ref = descInputs_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        descInputs_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int DESC_OUTPUTS_FIELD_NUMBER = 5;
    @SuppressWarnings("serial")
    private volatile java.lang.Object descOutputs_ = "";
    /**
     * optional string desc_outputs = 5;
     * @return Whether the descOutputs field is set.
     */
    @java.lang.Override
    public boolean hasDescOutputs() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * optional string desc_outputs = 5;
     * @return The descOutputs.
     */
    @java.lang.Override
    public java.lang.String getDescOutputs() {
      java.lang.Object ref = descOutputs_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          descOutputs_ = s;
        }
        return s;
      }
    }
    /**
     * optional string desc_outputs = 5;
     * @return The bytes for descOutputs.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getDescOutputsBytes() {
      java.lang.Object ref = descOutputs_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        descOutputs_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int DI_A_FIELD_NUMBER = 6;
    @SuppressWarnings("serial")
    private volatile java.lang.Object diA_ = "";
    /**
     * optional string di_a = 6;
     * @return Whether the diA field is set.
     */
    @java.lang.Override
    public boolean hasDiA() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * optional string di_a = 6;
     * @return The diA.
     */
    @java.lang.Override
    public java.lang.String getDiA() {
      java.lang.Object ref = diA_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          diA_ = s;
        }
        return s;
      }
    }
    /**
     * optional string di_a = 6;
     * @return The bytes for diA.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getDiABytes() {
      java.lang.Object ref = diA_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        diA_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int DI_B_FIELD_NUMBER = 7;
    @SuppressWarnings("serial")
    private volatile java.lang.Object diB_ = "";
    /**
     * optional string di_b = 7;
     * @return Whether the diB field is set.
     */
    @java.lang.Override
    public boolean hasDiB() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     * optional string di_b = 7;
     * @return The diB.
     */
    @java.lang.Override
    public java.lang.String getDiB() {
      java.lang.Object ref = diB_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          diB_ = s;
        }
        return s;
      }
    }
    /**
     * optional string di_b = 7;
     * @return The bytes for diB.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getDiBBytes() {
      java.lang.Object ref = diB_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        diB_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int DI_C_FIELD_NUMBER = 8;
    @SuppressWarnings("serial")
    private volatile java.lang.Object diC_ = "";
    /**
     * optional string di_c = 8;
     * @return Whether the diC field is set.
     */
    @java.lang.Override
    public boolean hasDiC() {
      return ((bitField0_ & 0x00000080) != 0);
    }
    /**
     * optional string di_c = 8;
     * @return The diC.
     */
    @java.lang.Override
    public java.lang.String getDiC() {
      java.lang.Object ref = diC_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          diC_ = s;
        }
        return s;
      }
    }
    /**
     * optional string di_c = 8;
     * @return The bytes for diC.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getDiCBytes() {
      java.lang.Object ref = diC_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        diC_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int DO_A_FIELD_NUMBER = 9;
    @SuppressWarnings("serial")
    private volatile java.lang.Object doA_ = "";
    /**
     * optional string do_a = 9;
     * @return Whether the doA field is set.
     */
    @java.lang.Override
    public boolean hasDoA() {
      return ((bitField0_ & 0x00000100) != 0);
    }
    /**
     * optional string do_a = 9;
     * @return The doA.
     */
    @java.lang.Override
    public java.lang.String getDoA() {
      java.lang.Object ref = doA_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          doA_ = s;
        }
        return s;
      }
    }
    /**
     * optional string do_a = 9;
     * @return The bytes for doA.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getDoABytes() {
      java.lang.Object ref = doA_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        doA_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int DO_B_FIELD_NUMBER = 10;
    @SuppressWarnings("serial")
    private volatile java.lang.Object doB_ = "";
    /**
     * optional string do_b = 10;
     * @return Whether the doB field is set.
     */
    @java.lang.Override
    public boolean hasDoB() {
      return ((bitField0_ & 0x00000200) != 0);
    }
    /**
     * optional string do_b = 10;
     * @return The doB.
     */
    @java.lang.Override
    public java.lang.String getDoB() {
      java.lang.Object ref = doB_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          doB_ = s;
        }
        return s;
      }
    }
    /**
     * optional string do_b = 10;
     * @return The bytes for doB.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getDoBBytes() {
      java.lang.Object ref = doB_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        doB_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int DO_C_FIELD_NUMBER = 11;
    @SuppressWarnings("serial")
    private volatile java.lang.Object doC_ = "";
    /**
     * optional string do_c = 11;
     * @return Whether the doC field is set.
     */
    @java.lang.Override
    public boolean hasDoC() {
      return ((bitField0_ & 0x00000400) != 0);
    }
    /**
     * optional string do_c = 11;
     * @return The doC.
     */
    @java.lang.Override
    public java.lang.String getDoC() {
      java.lang.Object ref = doC_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          doC_ = s;
        }
        return s;
      }
    }
    /**
     * optional string do_c = 11;
     * @return The bytes for doC.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getDoCBytes() {
      java.lang.Object ref = doC_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        doC_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int REQUIRES_ALL_SAME_CLASS_FIELD_NUMBER = 12;
    private boolean requiresAllSameClass_ = false;
    /**
     * optional bool requires_all_same_class = 12;
     * @return Whether the requiresAllSameClass field is set.
     */
    @java.lang.Override
    public boolean hasRequiresAllSameClass() {
      return ((bitField0_ & 0x00000800) != 0);
    }
    /**
     * optional bool requires_all_same_class = 12;
     * @return The requiresAllSameClass.
     */
    @java.lang.Override
    public boolean getRequiresAllSameClass() {
      return requiresAllSameClass_;
    }

    public static final int REQUIRES_ALL_SAME_SLOT_FIELD_NUMBER = 13;
    private boolean requiresAllSameSlot_ = false;
    /**
     * optional bool requires_all_same_slot = 13;
     * @return Whether the requiresAllSameSlot field is set.
     */
    @java.lang.Override
    public boolean hasRequiresAllSameSlot() {
      return ((bitField0_ & 0x00001000) != 0);
    }
    /**
     * optional bool requires_all_same_slot = 13;
     * @return The requiresAllSameSlot.
     */
    @java.lang.Override
    public boolean getRequiresAllSameSlot() {
      return requiresAllSameSlot_;
    }

    public static final int CLASS_USAGE_FOR_OUTPUT_FIELD_NUMBER = 14;
    private int classUsageForOutput_ = 0;
    /**
     * optional int32 class_usage_for_output = 14;
     * @return Whether the classUsageForOutput field is set.
     */
    @java.lang.Override
    public boolean hasClassUsageForOutput() {
      return ((bitField0_ & 0x00002000) != 0);
    }
    /**
     * optional int32 class_usage_for_output = 14;
     * @return The classUsageForOutput.
     */
    @java.lang.Override
    public int getClassUsageForOutput() {
      return classUsageForOutput_;
    }

    public static final int SLOT_USAGE_FOR_OUTPUT_FIELD_NUMBER = 15;
    private int slotUsageForOutput_ = 0;
    /**
     * optional int32 slot_usage_for_output = 15;
     * @return Whether the slotUsageForOutput field is set.
     */
    @java.lang.Override
    public boolean hasSlotUsageForOutput() {
      return ((bitField0_ & 0x00004000) != 0);
    }
    /**
     * optional int32 slot_usage_for_output = 15;
     * @return The slotUsageForOutput.
     */
    @java.lang.Override
    public int getSlotUsageForOutput() {
      return slotUsageForOutput_;
    }

    public static final int SET_FOR_OUTPUT_FIELD_NUMBER = 16;
    private int setForOutput_ = 0;
    /**
     * optional int32 set_for_output = 16;
     * @return Whether the setForOutput field is set.
     */
    @java.lang.Override
    public boolean hasSetForOutput() {
      return ((bitField0_ & 0x00008000) != 0);
    }
    /**
     * optional int32 set_for_output = 16;
     * @return The setForOutput.
     */
    @java.lang.Override
    public int getSetForOutput() {
      return setForOutput_;
    }

    public static final int INPUT_ITEMS_CRITERIA_FIELD_NUMBER = 20;
    @SuppressWarnings("serial")
    private java.util.List inputItemsCriteria_;
    /**
     * repeated .CSOItemCriteria input_items_criteria = 20;
     */
    @java.lang.Override
    public java.util.List getInputItemsCriteriaList() {
      return inputItemsCriteria_;
    }
    /**
     * repeated .CSOItemCriteria input_items_criteria = 20;
     */
    @java.lang.Override
    public java.util.List 
        getInputItemsCriteriaOrBuilderList() {
      return inputItemsCriteria_;
    }
    /**
     * repeated .CSOItemCriteria input_items_criteria = 20;
     */
    @java.lang.Override
    public int getInputItemsCriteriaCount() {
      return inputItemsCriteria_.size();
    }
    /**
     * repeated .CSOItemCriteria input_items_criteria = 20;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria getInputItemsCriteria(int index) {
      return inputItemsCriteria_.get(index);
    }
    /**
     * repeated .CSOItemCriteria input_items_criteria = 20;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaOrBuilder getInputItemsCriteriaOrBuilder(
        int index) {
      return inputItemsCriteria_.get(index);
    }

    public static final int OUTPUT_ITEMS_CRITERIA_FIELD_NUMBER = 21;
    @SuppressWarnings("serial")
    private java.util.List outputItemsCriteria_;
    /**
     * repeated .CSOItemCriteria output_items_criteria = 21;
     */
    @java.lang.Override
    public java.util.List getOutputItemsCriteriaList() {
      return outputItemsCriteria_;
    }
    /**
     * repeated .CSOItemCriteria output_items_criteria = 21;
     */
    @java.lang.Override
    public java.util.List 
        getOutputItemsCriteriaOrBuilderList() {
      return outputItemsCriteria_;
    }
    /**
     * repeated .CSOItemCriteria output_items_criteria = 21;
     */
    @java.lang.Override
    public int getOutputItemsCriteriaCount() {
      return outputItemsCriteria_.size();
    }
    /**
     * repeated .CSOItemCriteria output_items_criteria = 21;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria getOutputItemsCriteria(int index) {
      return outputItemsCriteria_.get(index);
    }
    /**
     * repeated .CSOItemCriteria output_items_criteria = 21;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaOrBuilder getOutputItemsCriteriaOrBuilder(
        int index) {
      return outputItemsCriteria_.get(index);
    }

    public static final int INPUT_ITEM_DUPE_COUNTS_FIELD_NUMBER = 22;
    @SuppressWarnings("serial")
    private com.google.protobuf.Internal.IntList inputItemDupeCounts_ =
        emptyIntList();
    /**
     * repeated uint32 input_item_dupe_counts = 22;
     * @return A list containing the inputItemDupeCounts.
     */
    @java.lang.Override
    public java.util.List
        getInputItemDupeCountsList() {
      return inputItemDupeCounts_;
    }
    /**
     * repeated uint32 input_item_dupe_counts = 22;
     * @return The count of inputItemDupeCounts.
     */
    public int getInputItemDupeCountsCount() {
      return inputItemDupeCounts_.size();
    }
    /**
     * repeated uint32 input_item_dupe_counts = 22;
     * @param index The index of the element to return.
     * @return The inputItemDupeCounts at the given index.
     */
    public int getInputItemDupeCounts(int index) {
      return inputItemDupeCounts_.getInt(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt32(1, defIndex_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 2, name_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 3, nA_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 4, descInputs_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 5, descOutputs_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 6, diA_);
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 7, diB_);
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 8, diC_);
      }
      if (((bitField0_ & 0x00000100) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 9, doA_);
      }
      if (((bitField0_ & 0x00000200) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 10, doB_);
      }
      if (((bitField0_ & 0x00000400) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 11, doC_);
      }
      if (((bitField0_ & 0x00000800) != 0)) {
        output.writeBool(12, requiresAllSameClass_);
      }
      if (((bitField0_ & 0x00001000) != 0)) {
        output.writeBool(13, requiresAllSameSlot_);
      }
      if (((bitField0_ & 0x00002000) != 0)) {
        output.writeInt32(14, classUsageForOutput_);
      }
      if (((bitField0_ & 0x00004000) != 0)) {
        output.writeInt32(15, slotUsageForOutput_);
      }
      if (((bitField0_ & 0x00008000) != 0)) {
        output.writeInt32(16, setForOutput_);
      }
      for (int i = 0; i < inputItemsCriteria_.size(); i++) {
        output.writeMessage(20, inputItemsCriteria_.get(i));
      }
      for (int i = 0; i < outputItemsCriteria_.size(); i++) {
        output.writeMessage(21, outputItemsCriteria_.get(i));
      }
      for (int i = 0; i < inputItemDupeCounts_.size(); i++) {
        output.writeUInt32(22, inputItemDupeCounts_.getInt(i));
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, defIndex_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(2, name_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(3, nA_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(4, descInputs_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(5, descOutputs_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(6, diA_);
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(7, diB_);
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(8, diC_);
      }
      if (((bitField0_ & 0x00000100) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(9, doA_);
      }
      if (((bitField0_ & 0x00000200) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(10, doB_);
      }
      if (((bitField0_ & 0x00000400) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(11, doC_);
      }
      if (((bitField0_ & 0x00000800) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(12, requiresAllSameClass_);
      }
      if (((bitField0_ & 0x00001000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(13, requiresAllSameSlot_);
      }
      if (((bitField0_ & 0x00002000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(14, classUsageForOutput_);
      }
      if (((bitField0_ & 0x00004000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(15, slotUsageForOutput_);
      }
      if (((bitField0_ & 0x00008000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(16, setForOutput_);
      }
      for (int i = 0; i < inputItemsCriteria_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(20, inputItemsCriteria_.get(i));
      }
      for (int i = 0; i < outputItemsCriteria_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(21, outputItemsCriteria_.get(i));
      }
      {
        int dataSize = 0;
        for (int i = 0; i < inputItemDupeCounts_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(inputItemDupeCounts_.getInt(i));
        }
        size += dataSize;
        size += 2 * getInputItemDupeCountsList().size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe) obj;

      if (hasDefIndex() != other.hasDefIndex()) return false;
      if (hasDefIndex()) {
        if (getDefIndex()
            != other.getDefIndex()) return false;
      }
      if (hasName() != other.hasName()) return false;
      if (hasName()) {
        if (!getName()
            .equals(other.getName())) return false;
      }
      if (hasNA() != other.hasNA()) return false;
      if (hasNA()) {
        if (!getNA()
            .equals(other.getNA())) return false;
      }
      if (hasDescInputs() != other.hasDescInputs()) return false;
      if (hasDescInputs()) {
        if (!getDescInputs()
            .equals(other.getDescInputs())) return false;
      }
      if (hasDescOutputs() != other.hasDescOutputs()) return false;
      if (hasDescOutputs()) {
        if (!getDescOutputs()
            .equals(other.getDescOutputs())) return false;
      }
      if (hasDiA() != other.hasDiA()) return false;
      if (hasDiA()) {
        if (!getDiA()
            .equals(other.getDiA())) return false;
      }
      if (hasDiB() != other.hasDiB()) return false;
      if (hasDiB()) {
        if (!getDiB()
            .equals(other.getDiB())) return false;
      }
      if (hasDiC() != other.hasDiC()) return false;
      if (hasDiC()) {
        if (!getDiC()
            .equals(other.getDiC())) return false;
      }
      if (hasDoA() != other.hasDoA()) return false;
      if (hasDoA()) {
        if (!getDoA()
            .equals(other.getDoA())) return false;
      }
      if (hasDoB() != other.hasDoB()) return false;
      if (hasDoB()) {
        if (!getDoB()
            .equals(other.getDoB())) return false;
      }
      if (hasDoC() != other.hasDoC()) return false;
      if (hasDoC()) {
        if (!getDoC()
            .equals(other.getDoC())) return false;
      }
      if (hasRequiresAllSameClass() != other.hasRequiresAllSameClass()) return false;
      if (hasRequiresAllSameClass()) {
        if (getRequiresAllSameClass()
            != other.getRequiresAllSameClass()) return false;
      }
      if (hasRequiresAllSameSlot() != other.hasRequiresAllSameSlot()) return false;
      if (hasRequiresAllSameSlot()) {
        if (getRequiresAllSameSlot()
            != other.getRequiresAllSameSlot()) return false;
      }
      if (hasClassUsageForOutput() != other.hasClassUsageForOutput()) return false;
      if (hasClassUsageForOutput()) {
        if (getClassUsageForOutput()
            != other.getClassUsageForOutput()) return false;
      }
      if (hasSlotUsageForOutput() != other.hasSlotUsageForOutput()) return false;
      if (hasSlotUsageForOutput()) {
        if (getSlotUsageForOutput()
            != other.getSlotUsageForOutput()) return false;
      }
      if (hasSetForOutput() != other.hasSetForOutput()) return false;
      if (hasSetForOutput()) {
        if (getSetForOutput()
            != other.getSetForOutput()) return false;
      }
      if (!getInputItemsCriteriaList()
          .equals(other.getInputItemsCriteriaList())) return false;
      if (!getOutputItemsCriteriaList()
          .equals(other.getOutputItemsCriteriaList())) return false;
      if (!getInputItemDupeCountsList()
          .equals(other.getInputItemDupeCountsList())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasDefIndex()) {
        hash = (37 * hash) + DEF_INDEX_FIELD_NUMBER;
        hash = (53 * hash) + getDefIndex();
      }
      if (hasName()) {
        hash = (37 * hash) + NAME_FIELD_NUMBER;
        hash = (53 * hash) + getName().hashCode();
      }
      if (hasNA()) {
        hash = (37 * hash) + N_A_FIELD_NUMBER;
        hash = (53 * hash) + getNA().hashCode();
      }
      if (hasDescInputs()) {
        hash = (37 * hash) + DESC_INPUTS_FIELD_NUMBER;
        hash = (53 * hash) + getDescInputs().hashCode();
      }
      if (hasDescOutputs()) {
        hash = (37 * hash) + DESC_OUTPUTS_FIELD_NUMBER;
        hash = (53 * hash) + getDescOutputs().hashCode();
      }
      if (hasDiA()) {
        hash = (37 * hash) + DI_A_FIELD_NUMBER;
        hash = (53 * hash) + getDiA().hashCode();
      }
      if (hasDiB()) {
        hash = (37 * hash) + DI_B_FIELD_NUMBER;
        hash = (53 * hash) + getDiB().hashCode();
      }
      if (hasDiC()) {
        hash = (37 * hash) + DI_C_FIELD_NUMBER;
        hash = (53 * hash) + getDiC().hashCode();
      }
      if (hasDoA()) {
        hash = (37 * hash) + DO_A_FIELD_NUMBER;
        hash = (53 * hash) + getDoA().hashCode();
      }
      if (hasDoB()) {
        hash = (37 * hash) + DO_B_FIELD_NUMBER;
        hash = (53 * hash) + getDoB().hashCode();
      }
      if (hasDoC()) {
        hash = (37 * hash) + DO_C_FIELD_NUMBER;
        hash = (53 * hash) + getDoC().hashCode();
      }
      if (hasRequiresAllSameClass()) {
        hash = (37 * hash) + REQUIRES_ALL_SAME_CLASS_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getRequiresAllSameClass());
      }
      if (hasRequiresAllSameSlot()) {
        hash = (37 * hash) + REQUIRES_ALL_SAME_SLOT_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getRequiresAllSameSlot());
      }
      if (hasClassUsageForOutput()) {
        hash = (37 * hash) + CLASS_USAGE_FOR_OUTPUT_FIELD_NUMBER;
        hash = (53 * hash) + getClassUsageForOutput();
      }
      if (hasSlotUsageForOutput()) {
        hash = (37 * hash) + SLOT_USAGE_FOR_OUTPUT_FIELD_NUMBER;
        hash = (53 * hash) + getSlotUsageForOutput();
      }
      if (hasSetForOutput()) {
        hash = (37 * hash) + SET_FOR_OUTPUT_FIELD_NUMBER;
        hash = (53 * hash) + getSetForOutput();
      }
      if (getInputItemsCriteriaCount() > 0) {
        hash = (37 * hash) + INPUT_ITEMS_CRITERIA_FIELD_NUMBER;
        hash = (53 * hash) + getInputItemsCriteriaList().hashCode();
      }
      if (getOutputItemsCriteriaCount() > 0) {
        hash = (37 * hash) + OUTPUT_ITEMS_CRITERIA_FIELD_NUMBER;
        hash = (53 * hash) + getOutputItemsCriteriaList().hashCode();
      }
      if (getInputItemDupeCountsCount() > 0) {
        hash = (37 * hash) + INPUT_ITEM_DUPE_COUNTS_FIELD_NUMBER;
        hash = (53 * hash) + getInputItemDupeCountsList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSOItemRecipe}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CSOItemRecipe)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipeOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOItemRecipe_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOItemRecipe_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        defIndex_ = 0;
        name_ = "";
        nA_ = "";
        descInputs_ = "";
        descOutputs_ = "";
        diA_ = "";
        diB_ = "";
        diC_ = "";
        doA_ = "";
        doB_ = "";
        doC_ = "";
        requiresAllSameClass_ = false;
        requiresAllSameSlot_ = false;
        classUsageForOutput_ = 0;
        slotUsageForOutput_ = 0;
        setForOutput_ = 0;
        if (inputItemsCriteriaBuilder_ == null) {
          inputItemsCriteria_ = java.util.Collections.emptyList();
        } else {
          inputItemsCriteria_ = null;
          inputItemsCriteriaBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00010000);
        if (outputItemsCriteriaBuilder_ == null) {
          outputItemsCriteria_ = java.util.Collections.emptyList();
        } else {
          outputItemsCriteria_ = null;
          outputItemsCriteriaBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00020000);
        inputItemDupeCounts_ = emptyIntList();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOItemRecipe_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe(this);
        buildPartialRepeatedFields(result);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartialRepeatedFields(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe result) {
        if (inputItemsCriteriaBuilder_ == null) {
          if (((bitField0_ & 0x00010000) != 0)) {
            inputItemsCriteria_ = java.util.Collections.unmodifiableList(inputItemsCriteria_);
            bitField0_ = (bitField0_ & ~0x00010000);
          }
          result.inputItemsCriteria_ = inputItemsCriteria_;
        } else {
          result.inputItemsCriteria_ = inputItemsCriteriaBuilder_.build();
        }
        if (outputItemsCriteriaBuilder_ == null) {
          if (((bitField0_ & 0x00020000) != 0)) {
            outputItemsCriteria_ = java.util.Collections.unmodifiableList(outputItemsCriteria_);
            bitField0_ = (bitField0_ & ~0x00020000);
          }
          result.outputItemsCriteria_ = outputItemsCriteria_;
        } else {
          result.outputItemsCriteria_ = outputItemsCriteriaBuilder_.build();
        }
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.defIndex_ = defIndex_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.name_ = name_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.nA_ = nA_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.descInputs_ = descInputs_;
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.descOutputs_ = descOutputs_;
          to_bitField0_ |= 0x00000010;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          result.diA_ = diA_;
          to_bitField0_ |= 0x00000020;
        }
        if (((from_bitField0_ & 0x00000040) != 0)) {
          result.diB_ = diB_;
          to_bitField0_ |= 0x00000040;
        }
        if (((from_bitField0_ & 0x00000080) != 0)) {
          result.diC_ = diC_;
          to_bitField0_ |= 0x00000080;
        }
        if (((from_bitField0_ & 0x00000100) != 0)) {
          result.doA_ = doA_;
          to_bitField0_ |= 0x00000100;
        }
        if (((from_bitField0_ & 0x00000200) != 0)) {
          result.doB_ = doB_;
          to_bitField0_ |= 0x00000200;
        }
        if (((from_bitField0_ & 0x00000400) != 0)) {
          result.doC_ = doC_;
          to_bitField0_ |= 0x00000400;
        }
        if (((from_bitField0_ & 0x00000800) != 0)) {
          result.requiresAllSameClass_ = requiresAllSameClass_;
          to_bitField0_ |= 0x00000800;
        }
        if (((from_bitField0_ & 0x00001000) != 0)) {
          result.requiresAllSameSlot_ = requiresAllSameSlot_;
          to_bitField0_ |= 0x00001000;
        }
        if (((from_bitField0_ & 0x00002000) != 0)) {
          result.classUsageForOutput_ = classUsageForOutput_;
          to_bitField0_ |= 0x00002000;
        }
        if (((from_bitField0_ & 0x00004000) != 0)) {
          result.slotUsageForOutput_ = slotUsageForOutput_;
          to_bitField0_ |= 0x00004000;
        }
        if (((from_bitField0_ & 0x00008000) != 0)) {
          result.setForOutput_ = setForOutput_;
          to_bitField0_ |= 0x00008000;
        }
        if (((from_bitField0_ & 0x00040000) != 0)) {
          inputItemDupeCounts_.makeImmutable();
          result.inputItemDupeCounts_ = inputItemDupeCounts_;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe.getDefaultInstance()) return this;
        if (other.hasDefIndex()) {
          setDefIndex(other.getDefIndex());
        }
        if (other.hasName()) {
          name_ = other.name_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        if (other.hasNA()) {
          nA_ = other.nA_;
          bitField0_ |= 0x00000004;
          onChanged();
        }
        if (other.hasDescInputs()) {
          descInputs_ = other.descInputs_;
          bitField0_ |= 0x00000008;
          onChanged();
        }
        if (other.hasDescOutputs()) {
          descOutputs_ = other.descOutputs_;
          bitField0_ |= 0x00000010;
          onChanged();
        }
        if (other.hasDiA()) {
          diA_ = other.diA_;
          bitField0_ |= 0x00000020;
          onChanged();
        }
        if (other.hasDiB()) {
          diB_ = other.diB_;
          bitField0_ |= 0x00000040;
          onChanged();
        }
        if (other.hasDiC()) {
          diC_ = other.diC_;
          bitField0_ |= 0x00000080;
          onChanged();
        }
        if (other.hasDoA()) {
          doA_ = other.doA_;
          bitField0_ |= 0x00000100;
          onChanged();
        }
        if (other.hasDoB()) {
          doB_ = other.doB_;
          bitField0_ |= 0x00000200;
          onChanged();
        }
        if (other.hasDoC()) {
          doC_ = other.doC_;
          bitField0_ |= 0x00000400;
          onChanged();
        }
        if (other.hasRequiresAllSameClass()) {
          setRequiresAllSameClass(other.getRequiresAllSameClass());
        }
        if (other.hasRequiresAllSameSlot()) {
          setRequiresAllSameSlot(other.getRequiresAllSameSlot());
        }
        if (other.hasClassUsageForOutput()) {
          setClassUsageForOutput(other.getClassUsageForOutput());
        }
        if (other.hasSlotUsageForOutput()) {
          setSlotUsageForOutput(other.getSlotUsageForOutput());
        }
        if (other.hasSetForOutput()) {
          setSetForOutput(other.getSetForOutput());
        }
        if (inputItemsCriteriaBuilder_ == null) {
          if (!other.inputItemsCriteria_.isEmpty()) {
            if (inputItemsCriteria_.isEmpty()) {
              inputItemsCriteria_ = other.inputItemsCriteria_;
              bitField0_ = (bitField0_ & ~0x00010000);
            } else {
              ensureInputItemsCriteriaIsMutable();
              inputItemsCriteria_.addAll(other.inputItemsCriteria_);
            }
            onChanged();
          }
        } else {
          if (!other.inputItemsCriteria_.isEmpty()) {
            if (inputItemsCriteriaBuilder_.isEmpty()) {
              inputItemsCriteriaBuilder_.dispose();
              inputItemsCriteriaBuilder_ = null;
              inputItemsCriteria_ = other.inputItemsCriteria_;
              bitField0_ = (bitField0_ & ~0x00010000);
              inputItemsCriteriaBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getInputItemsCriteriaFieldBuilder() : null;
            } else {
              inputItemsCriteriaBuilder_.addAllMessages(other.inputItemsCriteria_);
            }
          }
        }
        if (outputItemsCriteriaBuilder_ == null) {
          if (!other.outputItemsCriteria_.isEmpty()) {
            if (outputItemsCriteria_.isEmpty()) {
              outputItemsCriteria_ = other.outputItemsCriteria_;
              bitField0_ = (bitField0_ & ~0x00020000);
            } else {
              ensureOutputItemsCriteriaIsMutable();
              outputItemsCriteria_.addAll(other.outputItemsCriteria_);
            }
            onChanged();
          }
        } else {
          if (!other.outputItemsCriteria_.isEmpty()) {
            if (outputItemsCriteriaBuilder_.isEmpty()) {
              outputItemsCriteriaBuilder_.dispose();
              outputItemsCriteriaBuilder_ = null;
              outputItemsCriteria_ = other.outputItemsCriteria_;
              bitField0_ = (bitField0_ & ~0x00020000);
              outputItemsCriteriaBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getOutputItemsCriteriaFieldBuilder() : null;
            } else {
              outputItemsCriteriaBuilder_.addAllMessages(other.outputItemsCriteria_);
            }
          }
        }
        if (!other.inputItemDupeCounts_.isEmpty()) {
          if (inputItemDupeCounts_.isEmpty()) {
            inputItemDupeCounts_ = other.inputItemDupeCounts_;
            inputItemDupeCounts_.makeImmutable();
            bitField0_ |= 0x00040000;
          } else {
            ensureInputItemDupeCountsIsMutable();
            inputItemDupeCounts_.addAll(other.inputItemDupeCounts_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                defIndex_ = input.readUInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 18: {
                name_ = input.readBytes();
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              case 26: {
                nA_ = input.readBytes();
                bitField0_ |= 0x00000004;
                break;
              } // case 26
              case 34: {
                descInputs_ = input.readBytes();
                bitField0_ |= 0x00000008;
                break;
              } // case 34
              case 42: {
                descOutputs_ = input.readBytes();
                bitField0_ |= 0x00000010;
                break;
              } // case 42
              case 50: {
                diA_ = input.readBytes();
                bitField0_ |= 0x00000020;
                break;
              } // case 50
              case 58: {
                diB_ = input.readBytes();
                bitField0_ |= 0x00000040;
                break;
              } // case 58
              case 66: {
                diC_ = input.readBytes();
                bitField0_ |= 0x00000080;
                break;
              } // case 66
              case 74: {
                doA_ = input.readBytes();
                bitField0_ |= 0x00000100;
                break;
              } // case 74
              case 82: {
                doB_ = input.readBytes();
                bitField0_ |= 0x00000200;
                break;
              } // case 82
              case 90: {
                doC_ = input.readBytes();
                bitField0_ |= 0x00000400;
                break;
              } // case 90
              case 96: {
                requiresAllSameClass_ = input.readBool();
                bitField0_ |= 0x00000800;
                break;
              } // case 96
              case 104: {
                requiresAllSameSlot_ = input.readBool();
                bitField0_ |= 0x00001000;
                break;
              } // case 104
              case 112: {
                classUsageForOutput_ = input.readInt32();
                bitField0_ |= 0x00002000;
                break;
              } // case 112
              case 120: {
                slotUsageForOutput_ = input.readInt32();
                bitField0_ |= 0x00004000;
                break;
              } // case 120
              case 128: {
                setForOutput_ = input.readInt32();
                bitField0_ |= 0x00008000;
                break;
              } // case 128
              case 162: {
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.parser(),
                        extensionRegistry);
                if (inputItemsCriteriaBuilder_ == null) {
                  ensureInputItemsCriteriaIsMutable();
                  inputItemsCriteria_.add(m);
                } else {
                  inputItemsCriteriaBuilder_.addMessage(m);
                }
                break;
              } // case 162
              case 170: {
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.parser(),
                        extensionRegistry);
                if (outputItemsCriteriaBuilder_ == null) {
                  ensureOutputItemsCriteriaIsMutable();
                  outputItemsCriteria_.add(m);
                } else {
                  outputItemsCriteriaBuilder_.addMessage(m);
                }
                break;
              } // case 170
              case 176: {
                int v = input.readUInt32();
                ensureInputItemDupeCountsIsMutable();
                inputItemDupeCounts_.addInt(v);
                break;
              } // case 176
              case 178: {
                int length = input.readRawVarint32();
                int limit = input.pushLimit(length);
                ensureInputItemDupeCountsIsMutable();
                while (input.getBytesUntilLimit() > 0) {
                  inputItemDupeCounts_.addInt(input.readUInt32());
                }
                input.popLimit(limit);
                break;
              } // case 178
              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 int defIndex_ ;
      /**
       * optional uint32 def_index = 1;
       * @return Whether the defIndex field is set.
       */
      @java.lang.Override
      public boolean hasDefIndex() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 def_index = 1;
       * @return The defIndex.
       */
      @java.lang.Override
      public int getDefIndex() {
        return defIndex_;
      }
      /**
       * optional uint32 def_index = 1;
       * @param value The defIndex to set.
       * @return This builder for chaining.
       */
      public Builder setDefIndex(int value) {

        defIndex_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint32 def_index = 1;
       * @return This builder for chaining.
       */
      public Builder clearDefIndex() {
        bitField0_ = (bitField0_ & ~0x00000001);
        defIndex_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object name_ = "";
      /**
       * optional string name = 2;
       * @return Whether the name field is set.
       */
      public boolean hasName() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional string name = 2;
       * @return The name.
       */
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            name_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string name = 2;
       * @return The bytes for name.
       */
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string name = 2;
       * @param value The name to set.
       * @return This builder for chaining.
       */
      public Builder setName(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        name_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional string name = 2;
       * @return This builder for chaining.
       */
      public Builder clearName() {
        name_ = getDefaultInstance().getName();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * optional string name = 2;
       * @param value The bytes for name to set.
       * @return This builder for chaining.
       */
      public Builder setNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        name_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      private java.lang.Object nA_ = "";
      /**
       * optional string n_a = 3;
       * @return Whether the nA field is set.
       */
      public boolean hasNA() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional string n_a = 3;
       * @return The nA.
       */
      public java.lang.String getNA() {
        java.lang.Object ref = nA_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            nA_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string n_a = 3;
       * @return The bytes for nA.
       */
      public com.google.protobuf.ByteString
          getNABytes() {
        java.lang.Object ref = nA_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          nA_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string n_a = 3;
       * @param value The nA to set.
       * @return This builder for chaining.
       */
      public Builder setNA(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        nA_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional string n_a = 3;
       * @return This builder for chaining.
       */
      public Builder clearNA() {
        nA_ = getDefaultInstance().getNA();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }
      /**
       * optional string n_a = 3;
       * @param value The bytes for nA to set.
       * @return This builder for chaining.
       */
      public Builder setNABytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        nA_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }

      private java.lang.Object descInputs_ = "";
      /**
       * optional string desc_inputs = 4;
       * @return Whether the descInputs field is set.
       */
      public boolean hasDescInputs() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional string desc_inputs = 4;
       * @return The descInputs.
       */
      public java.lang.String getDescInputs() {
        java.lang.Object ref = descInputs_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            descInputs_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string desc_inputs = 4;
       * @return The bytes for descInputs.
       */
      public com.google.protobuf.ByteString
          getDescInputsBytes() {
        java.lang.Object ref = descInputs_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          descInputs_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string desc_inputs = 4;
       * @param value The descInputs to set.
       * @return This builder for chaining.
       */
      public Builder setDescInputs(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        descInputs_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional string desc_inputs = 4;
       * @return This builder for chaining.
       */
      public Builder clearDescInputs() {
        descInputs_ = getDefaultInstance().getDescInputs();
        bitField0_ = (bitField0_ & ~0x00000008);
        onChanged();
        return this;
      }
      /**
       * optional string desc_inputs = 4;
       * @param value The bytes for descInputs to set.
       * @return This builder for chaining.
       */
      public Builder setDescInputsBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        descInputs_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }

      private java.lang.Object descOutputs_ = "";
      /**
       * optional string desc_outputs = 5;
       * @return Whether the descOutputs field is set.
       */
      public boolean hasDescOutputs() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * optional string desc_outputs = 5;
       * @return The descOutputs.
       */
      public java.lang.String getDescOutputs() {
        java.lang.Object ref = descOutputs_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            descOutputs_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string desc_outputs = 5;
       * @return The bytes for descOutputs.
       */
      public com.google.protobuf.ByteString
          getDescOutputsBytes() {
        java.lang.Object ref = descOutputs_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          descOutputs_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string desc_outputs = 5;
       * @param value The descOutputs to set.
       * @return This builder for chaining.
       */
      public Builder setDescOutputs(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        descOutputs_ = value;
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * optional string desc_outputs = 5;
       * @return This builder for chaining.
       */
      public Builder clearDescOutputs() {
        descOutputs_ = getDefaultInstance().getDescOutputs();
        bitField0_ = (bitField0_ & ~0x00000010);
        onChanged();
        return this;
      }
      /**
       * optional string desc_outputs = 5;
       * @param value The bytes for descOutputs to set.
       * @return This builder for chaining.
       */
      public Builder setDescOutputsBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        descOutputs_ = value;
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }

      private java.lang.Object diA_ = "";
      /**
       * optional string di_a = 6;
       * @return Whether the diA field is set.
       */
      public boolean hasDiA() {
        return ((bitField0_ & 0x00000020) != 0);
      }
      /**
       * optional string di_a = 6;
       * @return The diA.
       */
      public java.lang.String getDiA() {
        java.lang.Object ref = diA_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            diA_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string di_a = 6;
       * @return The bytes for diA.
       */
      public com.google.protobuf.ByteString
          getDiABytes() {
        java.lang.Object ref = diA_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          diA_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string di_a = 6;
       * @param value The diA to set.
       * @return This builder for chaining.
       */
      public Builder setDiA(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        diA_ = value;
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * optional string di_a = 6;
       * @return This builder for chaining.
       */
      public Builder clearDiA() {
        diA_ = getDefaultInstance().getDiA();
        bitField0_ = (bitField0_ & ~0x00000020);
        onChanged();
        return this;
      }
      /**
       * optional string di_a = 6;
       * @param value The bytes for diA to set.
       * @return This builder for chaining.
       */
      public Builder setDiABytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        diA_ = value;
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }

      private java.lang.Object diB_ = "";
      /**
       * optional string di_b = 7;
       * @return Whether the diB field is set.
       */
      public boolean hasDiB() {
        return ((bitField0_ & 0x00000040) != 0);
      }
      /**
       * optional string di_b = 7;
       * @return The diB.
       */
      public java.lang.String getDiB() {
        java.lang.Object ref = diB_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            diB_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string di_b = 7;
       * @return The bytes for diB.
       */
      public com.google.protobuf.ByteString
          getDiBBytes() {
        java.lang.Object ref = diB_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          diB_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string di_b = 7;
       * @param value The diB to set.
       * @return This builder for chaining.
       */
      public Builder setDiB(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        diB_ = value;
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }
      /**
       * optional string di_b = 7;
       * @return This builder for chaining.
       */
      public Builder clearDiB() {
        diB_ = getDefaultInstance().getDiB();
        bitField0_ = (bitField0_ & ~0x00000040);
        onChanged();
        return this;
      }
      /**
       * optional string di_b = 7;
       * @param value The bytes for diB to set.
       * @return This builder for chaining.
       */
      public Builder setDiBBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        diB_ = value;
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }

      private java.lang.Object diC_ = "";
      /**
       * optional string di_c = 8;
       * @return Whether the diC field is set.
       */
      public boolean hasDiC() {
        return ((bitField0_ & 0x00000080) != 0);
      }
      /**
       * optional string di_c = 8;
       * @return The diC.
       */
      public java.lang.String getDiC() {
        java.lang.Object ref = diC_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            diC_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string di_c = 8;
       * @return The bytes for diC.
       */
      public com.google.protobuf.ByteString
          getDiCBytes() {
        java.lang.Object ref = diC_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          diC_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string di_c = 8;
       * @param value The diC to set.
       * @return This builder for chaining.
       */
      public Builder setDiC(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        diC_ = value;
        bitField0_ |= 0x00000080;
        onChanged();
        return this;
      }
      /**
       * optional string di_c = 8;
       * @return This builder for chaining.
       */
      public Builder clearDiC() {
        diC_ = getDefaultInstance().getDiC();
        bitField0_ = (bitField0_ & ~0x00000080);
        onChanged();
        return this;
      }
      /**
       * optional string di_c = 8;
       * @param value The bytes for diC to set.
       * @return This builder for chaining.
       */
      public Builder setDiCBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        diC_ = value;
        bitField0_ |= 0x00000080;
        onChanged();
        return this;
      }

      private java.lang.Object doA_ = "";
      /**
       * optional string do_a = 9;
       * @return Whether the doA field is set.
       */
      public boolean hasDoA() {
        return ((bitField0_ & 0x00000100) != 0);
      }
      /**
       * optional string do_a = 9;
       * @return The doA.
       */
      public java.lang.String getDoA() {
        java.lang.Object ref = doA_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            doA_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string do_a = 9;
       * @return The bytes for doA.
       */
      public com.google.protobuf.ByteString
          getDoABytes() {
        java.lang.Object ref = doA_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          doA_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string do_a = 9;
       * @param value The doA to set.
       * @return This builder for chaining.
       */
      public Builder setDoA(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        doA_ = value;
        bitField0_ |= 0x00000100;
        onChanged();
        return this;
      }
      /**
       * optional string do_a = 9;
       * @return This builder for chaining.
       */
      public Builder clearDoA() {
        doA_ = getDefaultInstance().getDoA();
        bitField0_ = (bitField0_ & ~0x00000100);
        onChanged();
        return this;
      }
      /**
       * optional string do_a = 9;
       * @param value The bytes for doA to set.
       * @return This builder for chaining.
       */
      public Builder setDoABytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        doA_ = value;
        bitField0_ |= 0x00000100;
        onChanged();
        return this;
      }

      private java.lang.Object doB_ = "";
      /**
       * optional string do_b = 10;
       * @return Whether the doB field is set.
       */
      public boolean hasDoB() {
        return ((bitField0_ & 0x00000200) != 0);
      }
      /**
       * optional string do_b = 10;
       * @return The doB.
       */
      public java.lang.String getDoB() {
        java.lang.Object ref = doB_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            doB_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string do_b = 10;
       * @return The bytes for doB.
       */
      public com.google.protobuf.ByteString
          getDoBBytes() {
        java.lang.Object ref = doB_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          doB_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string do_b = 10;
       * @param value The doB to set.
       * @return This builder for chaining.
       */
      public Builder setDoB(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        doB_ = value;
        bitField0_ |= 0x00000200;
        onChanged();
        return this;
      }
      /**
       * optional string do_b = 10;
       * @return This builder for chaining.
       */
      public Builder clearDoB() {
        doB_ = getDefaultInstance().getDoB();
        bitField0_ = (bitField0_ & ~0x00000200);
        onChanged();
        return this;
      }
      /**
       * optional string do_b = 10;
       * @param value The bytes for doB to set.
       * @return This builder for chaining.
       */
      public Builder setDoBBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        doB_ = value;
        bitField0_ |= 0x00000200;
        onChanged();
        return this;
      }

      private java.lang.Object doC_ = "";
      /**
       * optional string do_c = 11;
       * @return Whether the doC field is set.
       */
      public boolean hasDoC() {
        return ((bitField0_ & 0x00000400) != 0);
      }
      /**
       * optional string do_c = 11;
       * @return The doC.
       */
      public java.lang.String getDoC() {
        java.lang.Object ref = doC_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            doC_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string do_c = 11;
       * @return The bytes for doC.
       */
      public com.google.protobuf.ByteString
          getDoCBytes() {
        java.lang.Object ref = doC_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          doC_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string do_c = 11;
       * @param value The doC to set.
       * @return This builder for chaining.
       */
      public Builder setDoC(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        doC_ = value;
        bitField0_ |= 0x00000400;
        onChanged();
        return this;
      }
      /**
       * optional string do_c = 11;
       * @return This builder for chaining.
       */
      public Builder clearDoC() {
        doC_ = getDefaultInstance().getDoC();
        bitField0_ = (bitField0_ & ~0x00000400);
        onChanged();
        return this;
      }
      /**
       * optional string do_c = 11;
       * @param value The bytes for doC to set.
       * @return This builder for chaining.
       */
      public Builder setDoCBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        doC_ = value;
        bitField0_ |= 0x00000400;
        onChanged();
        return this;
      }

      private boolean requiresAllSameClass_ ;
      /**
       * optional bool requires_all_same_class = 12;
       * @return Whether the requiresAllSameClass field is set.
       */
      @java.lang.Override
      public boolean hasRequiresAllSameClass() {
        return ((bitField0_ & 0x00000800) != 0);
      }
      /**
       * optional bool requires_all_same_class = 12;
       * @return The requiresAllSameClass.
       */
      @java.lang.Override
      public boolean getRequiresAllSameClass() {
        return requiresAllSameClass_;
      }
      /**
       * optional bool requires_all_same_class = 12;
       * @param value The requiresAllSameClass to set.
       * @return This builder for chaining.
       */
      public Builder setRequiresAllSameClass(boolean value) {

        requiresAllSameClass_ = value;
        bitField0_ |= 0x00000800;
        onChanged();
        return this;
      }
      /**
       * optional bool requires_all_same_class = 12;
       * @return This builder for chaining.
       */
      public Builder clearRequiresAllSameClass() {
        bitField0_ = (bitField0_ & ~0x00000800);
        requiresAllSameClass_ = false;
        onChanged();
        return this;
      }

      private boolean requiresAllSameSlot_ ;
      /**
       * optional bool requires_all_same_slot = 13;
       * @return Whether the requiresAllSameSlot field is set.
       */
      @java.lang.Override
      public boolean hasRequiresAllSameSlot() {
        return ((bitField0_ & 0x00001000) != 0);
      }
      /**
       * optional bool requires_all_same_slot = 13;
       * @return The requiresAllSameSlot.
       */
      @java.lang.Override
      public boolean getRequiresAllSameSlot() {
        return requiresAllSameSlot_;
      }
      /**
       * optional bool requires_all_same_slot = 13;
       * @param value The requiresAllSameSlot to set.
       * @return This builder for chaining.
       */
      public Builder setRequiresAllSameSlot(boolean value) {

        requiresAllSameSlot_ = value;
        bitField0_ |= 0x00001000;
        onChanged();
        return this;
      }
      /**
       * optional bool requires_all_same_slot = 13;
       * @return This builder for chaining.
       */
      public Builder clearRequiresAllSameSlot() {
        bitField0_ = (bitField0_ & ~0x00001000);
        requiresAllSameSlot_ = false;
        onChanged();
        return this;
      }

      private int classUsageForOutput_ ;
      /**
       * optional int32 class_usage_for_output = 14;
       * @return Whether the classUsageForOutput field is set.
       */
      @java.lang.Override
      public boolean hasClassUsageForOutput() {
        return ((bitField0_ & 0x00002000) != 0);
      }
      /**
       * optional int32 class_usage_for_output = 14;
       * @return The classUsageForOutput.
       */
      @java.lang.Override
      public int getClassUsageForOutput() {
        return classUsageForOutput_;
      }
      /**
       * optional int32 class_usage_for_output = 14;
       * @param value The classUsageForOutput to set.
       * @return This builder for chaining.
       */
      public Builder setClassUsageForOutput(int value) {

        classUsageForOutput_ = value;
        bitField0_ |= 0x00002000;
        onChanged();
        return this;
      }
      /**
       * optional int32 class_usage_for_output = 14;
       * @return This builder for chaining.
       */
      public Builder clearClassUsageForOutput() {
        bitField0_ = (bitField0_ & ~0x00002000);
        classUsageForOutput_ = 0;
        onChanged();
        return this;
      }

      private int slotUsageForOutput_ ;
      /**
       * optional int32 slot_usage_for_output = 15;
       * @return Whether the slotUsageForOutput field is set.
       */
      @java.lang.Override
      public boolean hasSlotUsageForOutput() {
        return ((bitField0_ & 0x00004000) != 0);
      }
      /**
       * optional int32 slot_usage_for_output = 15;
       * @return The slotUsageForOutput.
       */
      @java.lang.Override
      public int getSlotUsageForOutput() {
        return slotUsageForOutput_;
      }
      /**
       * optional int32 slot_usage_for_output = 15;
       * @param value The slotUsageForOutput to set.
       * @return This builder for chaining.
       */
      public Builder setSlotUsageForOutput(int value) {

        slotUsageForOutput_ = value;
        bitField0_ |= 0x00004000;
        onChanged();
        return this;
      }
      /**
       * optional int32 slot_usage_for_output = 15;
       * @return This builder for chaining.
       */
      public Builder clearSlotUsageForOutput() {
        bitField0_ = (bitField0_ & ~0x00004000);
        slotUsageForOutput_ = 0;
        onChanged();
        return this;
      }

      private int setForOutput_ ;
      /**
       * optional int32 set_for_output = 16;
       * @return Whether the setForOutput field is set.
       */
      @java.lang.Override
      public boolean hasSetForOutput() {
        return ((bitField0_ & 0x00008000) != 0);
      }
      /**
       * optional int32 set_for_output = 16;
       * @return The setForOutput.
       */
      @java.lang.Override
      public int getSetForOutput() {
        return setForOutput_;
      }
      /**
       * optional int32 set_for_output = 16;
       * @param value The setForOutput to set.
       * @return This builder for chaining.
       */
      public Builder setSetForOutput(int value) {

        setForOutput_ = value;
        bitField0_ |= 0x00008000;
        onChanged();
        return this;
      }
      /**
       * optional int32 set_for_output = 16;
       * @return This builder for chaining.
       */
      public Builder clearSetForOutput() {
        bitField0_ = (bitField0_ & ~0x00008000);
        setForOutput_ = 0;
        onChanged();
        return this;
      }

      private java.util.List inputItemsCriteria_ =
        java.util.Collections.emptyList();
      private void ensureInputItemsCriteriaIsMutable() {
        if (!((bitField0_ & 0x00010000) != 0)) {
          inputItemsCriteria_ = new java.util.ArrayList(inputItemsCriteria_);
          bitField0_ |= 0x00010000;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaOrBuilder> inputItemsCriteriaBuilder_;

      /**
       * repeated .CSOItemCriteria input_items_criteria = 20;
       */
      public java.util.List getInputItemsCriteriaList() {
        if (inputItemsCriteriaBuilder_ == null) {
          return java.util.Collections.unmodifiableList(inputItemsCriteria_);
        } else {
          return inputItemsCriteriaBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CSOItemCriteria input_items_criteria = 20;
       */
      public int getInputItemsCriteriaCount() {
        if (inputItemsCriteriaBuilder_ == null) {
          return inputItemsCriteria_.size();
        } else {
          return inputItemsCriteriaBuilder_.getCount();
        }
      }
      /**
       * repeated .CSOItemCriteria input_items_criteria = 20;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria getInputItemsCriteria(int index) {
        if (inputItemsCriteriaBuilder_ == null) {
          return inputItemsCriteria_.get(index);
        } else {
          return inputItemsCriteriaBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CSOItemCriteria input_items_criteria = 20;
       */
      public Builder setInputItemsCriteria(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria value) {
        if (inputItemsCriteriaBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureInputItemsCriteriaIsMutable();
          inputItemsCriteria_.set(index, value);
          onChanged();
        } else {
          inputItemsCriteriaBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CSOItemCriteria input_items_criteria = 20;
       */
      public Builder setInputItemsCriteria(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.Builder builderForValue) {
        if (inputItemsCriteriaBuilder_ == null) {
          ensureInputItemsCriteriaIsMutable();
          inputItemsCriteria_.set(index, builderForValue.build());
          onChanged();
        } else {
          inputItemsCriteriaBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CSOItemCriteria input_items_criteria = 20;
       */
      public Builder addInputItemsCriteria(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria value) {
        if (inputItemsCriteriaBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureInputItemsCriteriaIsMutable();
          inputItemsCriteria_.add(value);
          onChanged();
        } else {
          inputItemsCriteriaBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CSOItemCriteria input_items_criteria = 20;
       */
      public Builder addInputItemsCriteria(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria value) {
        if (inputItemsCriteriaBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureInputItemsCriteriaIsMutable();
          inputItemsCriteria_.add(index, value);
          onChanged();
        } else {
          inputItemsCriteriaBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CSOItemCriteria input_items_criteria = 20;
       */
      public Builder addInputItemsCriteria(
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.Builder builderForValue) {
        if (inputItemsCriteriaBuilder_ == null) {
          ensureInputItemsCriteriaIsMutable();
          inputItemsCriteria_.add(builderForValue.build());
          onChanged();
        } else {
          inputItemsCriteriaBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CSOItemCriteria input_items_criteria = 20;
       */
      public Builder addInputItemsCriteria(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.Builder builderForValue) {
        if (inputItemsCriteriaBuilder_ == null) {
          ensureInputItemsCriteriaIsMutable();
          inputItemsCriteria_.add(index, builderForValue.build());
          onChanged();
        } else {
          inputItemsCriteriaBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CSOItemCriteria input_items_criteria = 20;
       */
      public Builder addAllInputItemsCriteria(
          java.lang.Iterable values) {
        if (inputItemsCriteriaBuilder_ == null) {
          ensureInputItemsCriteriaIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, inputItemsCriteria_);
          onChanged();
        } else {
          inputItemsCriteriaBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CSOItemCriteria input_items_criteria = 20;
       */
      public Builder clearInputItemsCriteria() {
        if (inputItemsCriteriaBuilder_ == null) {
          inputItemsCriteria_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00010000);
          onChanged();
        } else {
          inputItemsCriteriaBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CSOItemCriteria input_items_criteria = 20;
       */
      public Builder removeInputItemsCriteria(int index) {
        if (inputItemsCriteriaBuilder_ == null) {
          ensureInputItemsCriteriaIsMutable();
          inputItemsCriteria_.remove(index);
          onChanged();
        } else {
          inputItemsCriteriaBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CSOItemCriteria input_items_criteria = 20;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.Builder getInputItemsCriteriaBuilder(
          int index) {
        return getInputItemsCriteriaFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CSOItemCriteria input_items_criteria = 20;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaOrBuilder getInputItemsCriteriaOrBuilder(
          int index) {
        if (inputItemsCriteriaBuilder_ == null) {
          return inputItemsCriteria_.get(index);  } else {
          return inputItemsCriteriaBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CSOItemCriteria input_items_criteria = 20;
       */
      public java.util.List 
           getInputItemsCriteriaOrBuilderList() {
        if (inputItemsCriteriaBuilder_ != null) {
          return inputItemsCriteriaBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(inputItemsCriteria_);
        }
      }
      /**
       * repeated .CSOItemCriteria input_items_criteria = 20;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.Builder addInputItemsCriteriaBuilder() {
        return getInputItemsCriteriaFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.getDefaultInstance());
      }
      /**
       * repeated .CSOItemCriteria input_items_criteria = 20;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.Builder addInputItemsCriteriaBuilder(
          int index) {
        return getInputItemsCriteriaFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.getDefaultInstance());
      }
      /**
       * repeated .CSOItemCriteria input_items_criteria = 20;
       */
      public java.util.List 
           getInputItemsCriteriaBuilderList() {
        return getInputItemsCriteriaFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaOrBuilder> 
          getInputItemsCriteriaFieldBuilder() {
        if (inputItemsCriteriaBuilder_ == null) {
          inputItemsCriteriaBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaOrBuilder>(
                  inputItemsCriteria_,
                  ((bitField0_ & 0x00010000) != 0),
                  getParentForChildren(),
                  isClean());
          inputItemsCriteria_ = null;
        }
        return inputItemsCriteriaBuilder_;
      }

      private java.util.List outputItemsCriteria_ =
        java.util.Collections.emptyList();
      private void ensureOutputItemsCriteriaIsMutable() {
        if (!((bitField0_ & 0x00020000) != 0)) {
          outputItemsCriteria_ = new java.util.ArrayList(outputItemsCriteria_);
          bitField0_ |= 0x00020000;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaOrBuilder> outputItemsCriteriaBuilder_;

      /**
       * repeated .CSOItemCriteria output_items_criteria = 21;
       */
      public java.util.List getOutputItemsCriteriaList() {
        if (outputItemsCriteriaBuilder_ == null) {
          return java.util.Collections.unmodifiableList(outputItemsCriteria_);
        } else {
          return outputItemsCriteriaBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CSOItemCriteria output_items_criteria = 21;
       */
      public int getOutputItemsCriteriaCount() {
        if (outputItemsCriteriaBuilder_ == null) {
          return outputItemsCriteria_.size();
        } else {
          return outputItemsCriteriaBuilder_.getCount();
        }
      }
      /**
       * repeated .CSOItemCriteria output_items_criteria = 21;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria getOutputItemsCriteria(int index) {
        if (outputItemsCriteriaBuilder_ == null) {
          return outputItemsCriteria_.get(index);
        } else {
          return outputItemsCriteriaBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CSOItemCriteria output_items_criteria = 21;
       */
      public Builder setOutputItemsCriteria(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria value) {
        if (outputItemsCriteriaBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureOutputItemsCriteriaIsMutable();
          outputItemsCriteria_.set(index, value);
          onChanged();
        } else {
          outputItemsCriteriaBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CSOItemCriteria output_items_criteria = 21;
       */
      public Builder setOutputItemsCriteria(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.Builder builderForValue) {
        if (outputItemsCriteriaBuilder_ == null) {
          ensureOutputItemsCriteriaIsMutable();
          outputItemsCriteria_.set(index, builderForValue.build());
          onChanged();
        } else {
          outputItemsCriteriaBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CSOItemCriteria output_items_criteria = 21;
       */
      public Builder addOutputItemsCriteria(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria value) {
        if (outputItemsCriteriaBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureOutputItemsCriteriaIsMutable();
          outputItemsCriteria_.add(value);
          onChanged();
        } else {
          outputItemsCriteriaBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CSOItemCriteria output_items_criteria = 21;
       */
      public Builder addOutputItemsCriteria(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria value) {
        if (outputItemsCriteriaBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureOutputItemsCriteriaIsMutable();
          outputItemsCriteria_.add(index, value);
          onChanged();
        } else {
          outputItemsCriteriaBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CSOItemCriteria output_items_criteria = 21;
       */
      public Builder addOutputItemsCriteria(
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.Builder builderForValue) {
        if (outputItemsCriteriaBuilder_ == null) {
          ensureOutputItemsCriteriaIsMutable();
          outputItemsCriteria_.add(builderForValue.build());
          onChanged();
        } else {
          outputItemsCriteriaBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CSOItemCriteria output_items_criteria = 21;
       */
      public Builder addOutputItemsCriteria(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.Builder builderForValue) {
        if (outputItemsCriteriaBuilder_ == null) {
          ensureOutputItemsCriteriaIsMutable();
          outputItemsCriteria_.add(index, builderForValue.build());
          onChanged();
        } else {
          outputItemsCriteriaBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CSOItemCriteria output_items_criteria = 21;
       */
      public Builder addAllOutputItemsCriteria(
          java.lang.Iterable values) {
        if (outputItemsCriteriaBuilder_ == null) {
          ensureOutputItemsCriteriaIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, outputItemsCriteria_);
          onChanged();
        } else {
          outputItemsCriteriaBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CSOItemCriteria output_items_criteria = 21;
       */
      public Builder clearOutputItemsCriteria() {
        if (outputItemsCriteriaBuilder_ == null) {
          outputItemsCriteria_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00020000);
          onChanged();
        } else {
          outputItemsCriteriaBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CSOItemCriteria output_items_criteria = 21;
       */
      public Builder removeOutputItemsCriteria(int index) {
        if (outputItemsCriteriaBuilder_ == null) {
          ensureOutputItemsCriteriaIsMutable();
          outputItemsCriteria_.remove(index);
          onChanged();
        } else {
          outputItemsCriteriaBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CSOItemCriteria output_items_criteria = 21;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.Builder getOutputItemsCriteriaBuilder(
          int index) {
        return getOutputItemsCriteriaFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CSOItemCriteria output_items_criteria = 21;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaOrBuilder getOutputItemsCriteriaOrBuilder(
          int index) {
        if (outputItemsCriteriaBuilder_ == null) {
          return outputItemsCriteria_.get(index);  } else {
          return outputItemsCriteriaBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CSOItemCriteria output_items_criteria = 21;
       */
      public java.util.List 
           getOutputItemsCriteriaOrBuilderList() {
        if (outputItemsCriteriaBuilder_ != null) {
          return outputItemsCriteriaBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(outputItemsCriteria_);
        }
      }
      /**
       * repeated .CSOItemCriteria output_items_criteria = 21;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.Builder addOutputItemsCriteriaBuilder() {
        return getOutputItemsCriteriaFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.getDefaultInstance());
      }
      /**
       * repeated .CSOItemCriteria output_items_criteria = 21;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.Builder addOutputItemsCriteriaBuilder(
          int index) {
        return getOutputItemsCriteriaFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.getDefaultInstance());
      }
      /**
       * repeated .CSOItemCriteria output_items_criteria = 21;
       */
      public java.util.List 
           getOutputItemsCriteriaBuilderList() {
        return getOutputItemsCriteriaFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaOrBuilder> 
          getOutputItemsCriteriaFieldBuilder() {
        if (outputItemsCriteriaBuilder_ == null) {
          outputItemsCriteriaBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaOrBuilder>(
                  outputItemsCriteria_,
                  ((bitField0_ & 0x00020000) != 0),
                  getParentForChildren(),
                  isClean());
          outputItemsCriteria_ = null;
        }
        return outputItemsCriteriaBuilder_;
      }

      private com.google.protobuf.Internal.IntList inputItemDupeCounts_ = emptyIntList();
      private void ensureInputItemDupeCountsIsMutable() {
        if (!inputItemDupeCounts_.isModifiable()) {
          inputItemDupeCounts_ = makeMutableCopy(inputItemDupeCounts_);
        }
        bitField0_ |= 0x00040000;
      }
      /**
       * repeated uint32 input_item_dupe_counts = 22;
       * @return A list containing the inputItemDupeCounts.
       */
      public java.util.List
          getInputItemDupeCountsList() {
        inputItemDupeCounts_.makeImmutable();
        return inputItemDupeCounts_;
      }
      /**
       * repeated uint32 input_item_dupe_counts = 22;
       * @return The count of inputItemDupeCounts.
       */
      public int getInputItemDupeCountsCount() {
        return inputItemDupeCounts_.size();
      }
      /**
       * repeated uint32 input_item_dupe_counts = 22;
       * @param index The index of the element to return.
       * @return The inputItemDupeCounts at the given index.
       */
      public int getInputItemDupeCounts(int index) {
        return inputItemDupeCounts_.getInt(index);
      }
      /**
       * repeated uint32 input_item_dupe_counts = 22;
       * @param index The index to set the value at.
       * @param value The inputItemDupeCounts to set.
       * @return This builder for chaining.
       */
      public Builder setInputItemDupeCounts(
          int index, int value) {

        ensureInputItemDupeCountsIsMutable();
        inputItemDupeCounts_.setInt(index, value);
        bitField0_ |= 0x00040000;
        onChanged();
        return this;
      }
      /**
       * repeated uint32 input_item_dupe_counts = 22;
       * @param value The inputItemDupeCounts to add.
       * @return This builder for chaining.
       */
      public Builder addInputItemDupeCounts(int value) {

        ensureInputItemDupeCountsIsMutable();
        inputItemDupeCounts_.addInt(value);
        bitField0_ |= 0x00040000;
        onChanged();
        return this;
      }
      /**
       * repeated uint32 input_item_dupe_counts = 22;
       * @param values The inputItemDupeCounts to add.
       * @return This builder for chaining.
       */
      public Builder addAllInputItemDupeCounts(
          java.lang.Iterable values) {
        ensureInputItemDupeCountsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, inputItemDupeCounts_);
        bitField0_ |= 0x00040000;
        onChanged();
        return this;
      }
      /**
       * repeated uint32 input_item_dupe_counts = 22;
       * @return This builder for chaining.
       */
      public Builder clearInputItemDupeCounts() {
        inputItemDupeCounts_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00040000);
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CSOItemRecipe)
    }

    // @@protoc_insertion_point(class_scope:CSOItemRecipe)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CSOItemRecipe 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemRecipe getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional fixed64 receiver = 1;
     * @return Whether the receiver field is set.
     */
    boolean hasReceiver();
    /**
     * optional fixed64 receiver = 1;
     * @return The receiver.
     */
    long getReceiver();

    /**
     * optional .CSOItemCriteria criteria = 2;
     * @return Whether the criteria field is set.
     */
    boolean hasCriteria();
    /**
     * optional .CSOItemCriteria criteria = 2;
     * @return The criteria.
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria getCriteria();
    /**
     * optional .CSOItemCriteria criteria = 2;
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaOrBuilder getCriteriaOrBuilder();
  }
  /**
   * Protobuf type {@code CMsgDevNewItemRequest}
   */
  public static final class CMsgDevNewItemRequest extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgDevNewItemRequest)
      CMsgDevNewItemRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgDevNewItemRequest.class.getName());
    }
    // Use CMsgDevNewItemRequest.newBuilder() to construct.
    private CMsgDevNewItemRequest(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgDevNewItemRequest() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgDevNewItemRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgDevNewItemRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest.Builder.class);
    }

    private int bitField0_;
    public static final int RECEIVER_FIELD_NUMBER = 1;
    private long receiver_ = 0L;
    /**
     * optional fixed64 receiver = 1;
     * @return Whether the receiver field is set.
     */
    @java.lang.Override
    public boolean hasReceiver() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional fixed64 receiver = 1;
     * @return The receiver.
     */
    @java.lang.Override
    public long getReceiver() {
      return receiver_;
    }

    public static final int CRITERIA_FIELD_NUMBER = 2;
    private in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria criteria_;
    /**
     * optional .CSOItemCriteria criteria = 2;
     * @return Whether the criteria field is set.
     */
    @java.lang.Override
    public boolean hasCriteria() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional .CSOItemCriteria criteria = 2;
     * @return The criteria.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria getCriteria() {
      return criteria_ == null ? in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.getDefaultInstance() : criteria_;
    }
    /**
     * optional .CSOItemCriteria criteria = 2;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaOrBuilder getCriteriaOrBuilder() {
      return criteria_ == null ? in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.getDefaultInstance() : criteria_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed64Size(1, receiver_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getCriteria());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest) obj;

      if (hasReceiver() != other.hasReceiver()) return false;
      if (hasReceiver()) {
        if (getReceiver()
            != other.getReceiver()) return false;
      }
      if (hasCriteria() != other.hasCriteria()) return false;
      if (hasCriteria()) {
        if (!getCriteria()
            .equals(other.getCriteria())) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasReceiver()) {
        hash = (37 * hash) + RECEIVER_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getReceiver());
      }
      if (hasCriteria()) {
        hash = (37 * hash) + CRITERIA_FIELD_NUMBER;
        hash = (53 * hash) + getCriteria().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgDevNewItemRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgDevNewItemRequest)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgDevNewItemRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgDevNewItemRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage
                .alwaysUseFieldBuilders) {
          getCriteriaFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        receiver_ = 0L;
        criteria_ = null;
        if (criteriaBuilder_ != null) {
          criteriaBuilder_.dispose();
          criteriaBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgDevNewItemRequest_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.receiver_ = receiver_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.criteria_ = criteriaBuilder_ == null
              ? criteria_
              : criteriaBuilder_.build();
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest.getDefaultInstance()) return this;
        if (other.hasReceiver()) {
          setReceiver(other.getReceiver());
        }
        if (other.hasCriteria()) {
          mergeCriteria(other.getCriteria());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 9: {
                receiver_ = input.readFixed64();
                bitField0_ |= 0x00000001;
                break;
              } // case 9
              case 18: {
                input.readMessage(
                    getCriteriaFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              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 long receiver_ ;
      /**
       * optional fixed64 receiver = 1;
       * @return Whether the receiver field is set.
       */
      @java.lang.Override
      public boolean hasReceiver() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional fixed64 receiver = 1;
       * @return The receiver.
       */
      @java.lang.Override
      public long getReceiver() {
        return receiver_;
      }
      /**
       * optional fixed64 receiver = 1;
       * @param value The receiver to set.
       * @return This builder for chaining.
       */
      public Builder setReceiver(long value) {

        receiver_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional fixed64 receiver = 1;
       * @return This builder for chaining.
       */
      public Builder clearReceiver() {
        bitField0_ = (bitField0_ & ~0x00000001);
        receiver_ = 0L;
        onChanged();
        return this;
      }

      private in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria criteria_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaOrBuilder> criteriaBuilder_;
      /**
       * optional .CSOItemCriteria criteria = 2;
       * @return Whether the criteria field is set.
       */
      public boolean hasCriteria() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional .CSOItemCriteria criteria = 2;
       * @return The criteria.
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria getCriteria() {
        if (criteriaBuilder_ == null) {
          return criteria_ == null ? in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.getDefaultInstance() : criteria_;
        } else {
          return criteriaBuilder_.getMessage();
        }
      }
      /**
       * optional .CSOItemCriteria criteria = 2;
       */
      public Builder setCriteria(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria value) {
        if (criteriaBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          criteria_ = value;
        } else {
          criteriaBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional .CSOItemCriteria criteria = 2;
       */
      public Builder setCriteria(
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.Builder builderForValue) {
        if (criteriaBuilder_ == null) {
          criteria_ = builderForValue.build();
        } else {
          criteriaBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional .CSOItemCriteria criteria = 2;
       */
      public Builder mergeCriteria(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria value) {
        if (criteriaBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0) &&
            criteria_ != null &&
            criteria_ != in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.getDefaultInstance()) {
            getCriteriaBuilder().mergeFrom(value);
          } else {
            criteria_ = value;
          }
        } else {
          criteriaBuilder_.mergeFrom(value);
        }
        if (criteria_ != null) {
          bitField0_ |= 0x00000002;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CSOItemCriteria criteria = 2;
       */
      public Builder clearCriteria() {
        bitField0_ = (bitField0_ & ~0x00000002);
        criteria_ = null;
        if (criteriaBuilder_ != null) {
          criteriaBuilder_.dispose();
          criteriaBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CSOItemCriteria criteria = 2;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.Builder getCriteriaBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getCriteriaFieldBuilder().getBuilder();
      }
      /**
       * optional .CSOItemCriteria criteria = 2;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaOrBuilder getCriteriaOrBuilder() {
        if (criteriaBuilder_ != null) {
          return criteriaBuilder_.getMessageOrBuilder();
        } else {
          return criteria_ == null ?
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.getDefaultInstance() : criteria_;
        }
      }
      /**
       * optional .CSOItemCriteria criteria = 2;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaOrBuilder> 
          getCriteriaFieldBuilder() {
        if (criteriaBuilder_ == null) {
          criteriaBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteria.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOItemCriteriaOrBuilder>(
                  getCriteria(),
                  getParentForChildren(),
                  isClean());
          criteria_ = null;
        }
        return criteriaBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgDevNewItemRequest)
    }

    // @@protoc_insertion_point(class_scope:CMsgDevNewItemRequest)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgDevNewItemRequest 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevNewItemRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional fixed64 receiver = 1;
     * @return Whether the receiver field is set.
     */
    boolean hasReceiver();
    /**
     * optional fixed64 receiver = 1;
     * @return The receiver.
     */
    long getReceiver();

    /**
     * optional string loot_list_name = 2;
     * @return Whether the lootListName field is set.
     */
    boolean hasLootListName();
    /**
     * optional string loot_list_name = 2;
     * @return The lootListName.
     */
    java.lang.String getLootListName();
    /**
     * optional string loot_list_name = 2;
     * @return The bytes for lootListName.
     */
    com.google.protobuf.ByteString
        getLootListNameBytes();
  }
  /**
   * Protobuf type {@code CMsgDevDebugRollLootRequest}
   */
  public static final class CMsgDevDebugRollLootRequest extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgDevDebugRollLootRequest)
      CMsgDevDebugRollLootRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgDevDebugRollLootRequest.class.getName());
    }
    // Use CMsgDevDebugRollLootRequest.newBuilder() to construct.
    private CMsgDevDebugRollLootRequest(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgDevDebugRollLootRequest() {
      lootListName_ = "";
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgDevDebugRollLootRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgDevDebugRollLootRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest.Builder.class);
    }

    private int bitField0_;
    public static final int RECEIVER_FIELD_NUMBER = 1;
    private long receiver_ = 0L;
    /**
     * optional fixed64 receiver = 1;
     * @return Whether the receiver field is set.
     */
    @java.lang.Override
    public boolean hasReceiver() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional fixed64 receiver = 1;
     * @return The receiver.
     */
    @java.lang.Override
    public long getReceiver() {
      return receiver_;
    }

    public static final int LOOT_LIST_NAME_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private volatile java.lang.Object lootListName_ = "";
    /**
     * optional string loot_list_name = 2;
     * @return Whether the lootListName field is set.
     */
    @java.lang.Override
    public boolean hasLootListName() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional string loot_list_name = 2;
     * @return The lootListName.
     */
    @java.lang.Override
    public java.lang.String getLootListName() {
      java.lang.Object ref = lootListName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          lootListName_ = s;
        }
        return s;
      }
    }
    /**
     * optional string loot_list_name = 2;
     * @return The bytes for lootListName.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getLootListNameBytes() {
      java.lang.Object ref = lootListName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        lootListName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeFixed64(1, receiver_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 2, lootListName_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed64Size(1, receiver_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(2, lootListName_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest) obj;

      if (hasReceiver() != other.hasReceiver()) return false;
      if (hasReceiver()) {
        if (getReceiver()
            != other.getReceiver()) return false;
      }
      if (hasLootListName() != other.hasLootListName()) return false;
      if (hasLootListName()) {
        if (!getLootListName()
            .equals(other.getLootListName())) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasReceiver()) {
        hash = (37 * hash) + RECEIVER_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getReceiver());
      }
      if (hasLootListName()) {
        hash = (37 * hash) + LOOT_LIST_NAME_FIELD_NUMBER;
        hash = (53 * hash) + getLootListName().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgDevDebugRollLootRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgDevDebugRollLootRequest)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgDevDebugRollLootRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgDevDebugRollLootRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        receiver_ = 0L;
        lootListName_ = "";
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgDevDebugRollLootRequest_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.receiver_ = receiver_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.lootListName_ = lootListName_;
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest.getDefaultInstance()) return this;
        if (other.hasReceiver()) {
          setReceiver(other.getReceiver());
        }
        if (other.hasLootListName()) {
          lootListName_ = other.lootListName_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 9: {
                receiver_ = input.readFixed64();
                bitField0_ |= 0x00000001;
                break;
              } // case 9
              case 18: {
                lootListName_ = input.readBytes();
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              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 long receiver_ ;
      /**
       * optional fixed64 receiver = 1;
       * @return Whether the receiver field is set.
       */
      @java.lang.Override
      public boolean hasReceiver() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional fixed64 receiver = 1;
       * @return The receiver.
       */
      @java.lang.Override
      public long getReceiver() {
        return receiver_;
      }
      /**
       * optional fixed64 receiver = 1;
       * @param value The receiver to set.
       * @return This builder for chaining.
       */
      public Builder setReceiver(long value) {

        receiver_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional fixed64 receiver = 1;
       * @return This builder for chaining.
       */
      public Builder clearReceiver() {
        bitField0_ = (bitField0_ & ~0x00000001);
        receiver_ = 0L;
        onChanged();
        return this;
      }

      private java.lang.Object lootListName_ = "";
      /**
       * optional string loot_list_name = 2;
       * @return Whether the lootListName field is set.
       */
      public boolean hasLootListName() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional string loot_list_name = 2;
       * @return The lootListName.
       */
      public java.lang.String getLootListName() {
        java.lang.Object ref = lootListName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            lootListName_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string loot_list_name = 2;
       * @return The bytes for lootListName.
       */
      public com.google.protobuf.ByteString
          getLootListNameBytes() {
        java.lang.Object ref = lootListName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          lootListName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string loot_list_name = 2;
       * @param value The lootListName to set.
       * @return This builder for chaining.
       */
      public Builder setLootListName(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        lootListName_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional string loot_list_name = 2;
       * @return This builder for chaining.
       */
      public Builder clearLootListName() {
        lootListName_ = getDefaultInstance().getLootListName();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * optional string loot_list_name = 2;
       * @param value The bytes for lootListName to set.
       * @return This builder for chaining.
       */
      public Builder setLootListNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        lootListName_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgDevDebugRollLootRequest)
    }

    // @@protoc_insertion_point(class_scope:CMsgDevDebugRollLootRequest)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgDevDebugRollLootRequest 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDevDebugRollLootRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint64 killer_steam_id = 1;
     * @return Whether the killerSteamId field is set.
     */
    boolean hasKillerSteamId();
    /**
     * optional uint64 killer_steam_id = 1;
     * @return The killerSteamId.
     */
    long getKillerSteamId();

    /**
     * optional uint64 victim_steam_id = 2;
     * @return Whether the victimSteamId field is set.
     */
    boolean hasVictimSteamId();
    /**
     * optional uint64 victim_steam_id = 2;
     * @return The victimSteamId.
     */
    long getVictimSteamId();

    /**
     * optional uint64 item_id = 3;
     * @return Whether the itemId field is set.
     */
    boolean hasItemId();
    /**
     * optional uint64 item_id = 3;
     * @return The itemId.
     */
    long getItemId();

    /**
     * optional uint32 event_type = 4;
     * @return Whether the eventType field is set.
     */
    boolean hasEventType();
    /**
     * optional uint32 event_type = 4;
     * @return The eventType.
     */
    int getEventType();

    /**
     * optional uint32 increment_value = 5;
     * @return Whether the incrementValue field is set.
     */
    boolean hasIncrementValue();
    /**
     * optional uint32 increment_value = 5;
     * @return The incrementValue.
     */
    int getIncrementValue();
  }
  /**
   * Protobuf type {@code CMsgIncrementKillCountAttribute}
   */
  public static final class CMsgIncrementKillCountAttribute extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgIncrementKillCountAttribute)
      CMsgIncrementKillCountAttributeOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgIncrementKillCountAttribute.class.getName());
    }
    // Use CMsgIncrementKillCountAttribute.newBuilder() to construct.
    private CMsgIncrementKillCountAttribute(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgIncrementKillCountAttribute() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgIncrementKillCountAttribute_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgIncrementKillCountAttribute_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute.Builder.class);
    }

    private int bitField0_;
    public static final int KILLER_STEAM_ID_FIELD_NUMBER = 1;
    private long killerSteamId_ = 0L;
    /**
     * optional uint64 killer_steam_id = 1;
     * @return Whether the killerSteamId field is set.
     */
    @java.lang.Override
    public boolean hasKillerSteamId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint64 killer_steam_id = 1;
     * @return The killerSteamId.
     */
    @java.lang.Override
    public long getKillerSteamId() {
      return killerSteamId_;
    }

    public static final int VICTIM_STEAM_ID_FIELD_NUMBER = 2;
    private long victimSteamId_ = 0L;
    /**
     * optional uint64 victim_steam_id = 2;
     * @return Whether the victimSteamId field is set.
     */
    @java.lang.Override
    public boolean hasVictimSteamId() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint64 victim_steam_id = 2;
     * @return The victimSteamId.
     */
    @java.lang.Override
    public long getVictimSteamId() {
      return victimSteamId_;
    }

    public static final int ITEM_ID_FIELD_NUMBER = 3;
    private long itemId_ = 0L;
    /**
     * optional uint64 item_id = 3;
     * @return Whether the itemId field is set.
     */
    @java.lang.Override
    public boolean hasItemId() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional uint64 item_id = 3;
     * @return The itemId.
     */
    @java.lang.Override
    public long getItemId() {
      return itemId_;
    }

    public static final int EVENT_TYPE_FIELD_NUMBER = 4;
    private int eventType_ = 0;
    /**
     * optional uint32 event_type = 4;
     * @return Whether the eventType field is set.
     */
    @java.lang.Override
    public boolean hasEventType() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional uint32 event_type = 4;
     * @return The eventType.
     */
    @java.lang.Override
    public int getEventType() {
      return eventType_;
    }

    public static final int INCREMENT_VALUE_FIELD_NUMBER = 5;
    private int incrementValue_ = 0;
    /**
     * optional uint32 increment_value = 5;
     * @return Whether the incrementValue field is set.
     */
    @java.lang.Override
    public boolean hasIncrementValue() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * optional uint32 increment_value = 5;
     * @return The incrementValue.
     */
    @java.lang.Override
    public int getIncrementValue() {
      return incrementValue_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt64(1, killerSteamId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeUInt64(2, victimSteamId_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeUInt64(3, itemId_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeUInt32(4, eventType_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        output.writeUInt32(5, incrementValue_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, killerSteamId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(2, victimSteamId_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(3, itemId_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, eventType_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(5, incrementValue_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute) obj;

      if (hasKillerSteamId() != other.hasKillerSteamId()) return false;
      if (hasKillerSteamId()) {
        if (getKillerSteamId()
            != other.getKillerSteamId()) return false;
      }
      if (hasVictimSteamId() != other.hasVictimSteamId()) return false;
      if (hasVictimSteamId()) {
        if (getVictimSteamId()
            != other.getVictimSteamId()) return false;
      }
      if (hasItemId() != other.hasItemId()) return false;
      if (hasItemId()) {
        if (getItemId()
            != other.getItemId()) return false;
      }
      if (hasEventType() != other.hasEventType()) return false;
      if (hasEventType()) {
        if (getEventType()
            != other.getEventType()) return false;
      }
      if (hasIncrementValue() != other.hasIncrementValue()) return false;
      if (hasIncrementValue()) {
        if (getIncrementValue()
            != other.getIncrementValue()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasKillerSteamId()) {
        hash = (37 * hash) + KILLER_STEAM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getKillerSteamId());
      }
      if (hasVictimSteamId()) {
        hash = (37 * hash) + VICTIM_STEAM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getVictimSteamId());
      }
      if (hasItemId()) {
        hash = (37 * hash) + ITEM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getItemId());
      }
      if (hasEventType()) {
        hash = (37 * hash) + EVENT_TYPE_FIELD_NUMBER;
        hash = (53 * hash) + getEventType();
      }
      if (hasIncrementValue()) {
        hash = (37 * hash) + INCREMENT_VALUE_FIELD_NUMBER;
        hash = (53 * hash) + getIncrementValue();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgIncrementKillCountAttribute}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgIncrementKillCountAttribute)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttributeOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgIncrementKillCountAttribute_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgIncrementKillCountAttribute_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        killerSteamId_ = 0L;
        victimSteamId_ = 0L;
        itemId_ = 0L;
        eventType_ = 0;
        incrementValue_ = 0;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgIncrementKillCountAttribute_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.killerSteamId_ = killerSteamId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.victimSteamId_ = victimSteamId_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.itemId_ = itemId_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.eventType_ = eventType_;
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.incrementValue_ = incrementValue_;
          to_bitField0_ |= 0x00000010;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute.getDefaultInstance()) return this;
        if (other.hasKillerSteamId()) {
          setKillerSteamId(other.getKillerSteamId());
        }
        if (other.hasVictimSteamId()) {
          setVictimSteamId(other.getVictimSteamId());
        }
        if (other.hasItemId()) {
          setItemId(other.getItemId());
        }
        if (other.hasEventType()) {
          setEventType(other.getEventType());
        }
        if (other.hasIncrementValue()) {
          setIncrementValue(other.getIncrementValue());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                killerSteamId_ = input.readUInt64();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                victimSteamId_ = input.readUInt64();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 24: {
                itemId_ = input.readUInt64();
                bitField0_ |= 0x00000004;
                break;
              } // case 24
              case 32: {
                eventType_ = input.readUInt32();
                bitField0_ |= 0x00000008;
                break;
              } // case 32
              case 40: {
                incrementValue_ = input.readUInt32();
                bitField0_ |= 0x00000010;
                break;
              } // case 40
              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 long killerSteamId_ ;
      /**
       * optional uint64 killer_steam_id = 1;
       * @return Whether the killerSteamId field is set.
       */
      @java.lang.Override
      public boolean hasKillerSteamId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint64 killer_steam_id = 1;
       * @return The killerSteamId.
       */
      @java.lang.Override
      public long getKillerSteamId() {
        return killerSteamId_;
      }
      /**
       * optional uint64 killer_steam_id = 1;
       * @param value The killerSteamId to set.
       * @return This builder for chaining.
       */
      public Builder setKillerSteamId(long value) {

        killerSteamId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint64 killer_steam_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearKillerSteamId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        killerSteamId_ = 0L;
        onChanged();
        return this;
      }

      private long victimSteamId_ ;
      /**
       * optional uint64 victim_steam_id = 2;
       * @return Whether the victimSteamId field is set.
       */
      @java.lang.Override
      public boolean hasVictimSteamId() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint64 victim_steam_id = 2;
       * @return The victimSteamId.
       */
      @java.lang.Override
      public long getVictimSteamId() {
        return victimSteamId_;
      }
      /**
       * optional uint64 victim_steam_id = 2;
       * @param value The victimSteamId to set.
       * @return This builder for chaining.
       */
      public Builder setVictimSteamId(long value) {

        victimSteamId_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint64 victim_steam_id = 2;
       * @return This builder for chaining.
       */
      public Builder clearVictimSteamId() {
        bitField0_ = (bitField0_ & ~0x00000002);
        victimSteamId_ = 0L;
        onChanged();
        return this;
      }

      private long itemId_ ;
      /**
       * optional uint64 item_id = 3;
       * @return Whether the itemId field is set.
       */
      @java.lang.Override
      public boolean hasItemId() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional uint64 item_id = 3;
       * @return The itemId.
       */
      @java.lang.Override
      public long getItemId() {
        return itemId_;
      }
      /**
       * optional uint64 item_id = 3;
       * @param value The itemId to set.
       * @return This builder for chaining.
       */
      public Builder setItemId(long value) {

        itemId_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional uint64 item_id = 3;
       * @return This builder for chaining.
       */
      public Builder clearItemId() {
        bitField0_ = (bitField0_ & ~0x00000004);
        itemId_ = 0L;
        onChanged();
        return this;
      }

      private int eventType_ ;
      /**
       * optional uint32 event_type = 4;
       * @return Whether the eventType field is set.
       */
      @java.lang.Override
      public boolean hasEventType() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional uint32 event_type = 4;
       * @return The eventType.
       */
      @java.lang.Override
      public int getEventType() {
        return eventType_;
      }
      /**
       * optional uint32 event_type = 4;
       * @param value The eventType to set.
       * @return This builder for chaining.
       */
      public Builder setEventType(int value) {

        eventType_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional uint32 event_type = 4;
       * @return This builder for chaining.
       */
      public Builder clearEventType() {
        bitField0_ = (bitField0_ & ~0x00000008);
        eventType_ = 0;
        onChanged();
        return this;
      }

      private int incrementValue_ ;
      /**
       * optional uint32 increment_value = 5;
       * @return Whether the incrementValue field is set.
       */
      @java.lang.Override
      public boolean hasIncrementValue() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * optional uint32 increment_value = 5;
       * @return The incrementValue.
       */
      @java.lang.Override
      public int getIncrementValue() {
        return incrementValue_;
      }
      /**
       * optional uint32 increment_value = 5;
       * @param value The incrementValue to set.
       * @return This builder for chaining.
       */
      public Builder setIncrementValue(int value) {

        incrementValue_ = value;
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * optional uint32 increment_value = 5;
       * @return This builder for chaining.
       */
      public Builder clearIncrementValue() {
        bitField0_ = (bitField0_ & ~0x00000010);
        incrementValue_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgIncrementKillCountAttribute)
    }

    // @@protoc_insertion_point(class_scope:CMsgIncrementKillCountAttribute)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgIncrementKillCountAttribute 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * repeated .CMsgIncrementKillCountAttribute msgs = 1;
     */
    java.util.List 
        getMsgsList();
    /**
     * repeated .CMsgIncrementKillCountAttribute msgs = 1;
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute getMsgs(int index);
    /**
     * repeated .CMsgIncrementKillCountAttribute msgs = 1;
     */
    int getMsgsCount();
    /**
     * repeated .CMsgIncrementKillCountAttribute msgs = 1;
     */
    java.util.List 
        getMsgsOrBuilderList();
    /**
     * repeated .CMsgIncrementKillCountAttribute msgs = 1;
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttributeOrBuilder getMsgsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code CMsgIncrementKillCountAttribute_Multiple}
   */
  public static final class CMsgIncrementKillCountAttribute_Multiple extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgIncrementKillCountAttribute_Multiple)
      CMsgIncrementKillCountAttribute_MultipleOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgIncrementKillCountAttribute_Multiple.class.getName());
    }
    // Use CMsgIncrementKillCountAttribute_Multiple.newBuilder() to construct.
    private CMsgIncrementKillCountAttribute_Multiple(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgIncrementKillCountAttribute_Multiple() {
      msgs_ = java.util.Collections.emptyList();
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgIncrementKillCountAttribute_Multiple_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgIncrementKillCountAttribute_Multiple_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple.Builder.class);
    }

    public static final int MSGS_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private java.util.List msgs_;
    /**
     * repeated .CMsgIncrementKillCountAttribute msgs = 1;
     */
    @java.lang.Override
    public java.util.List getMsgsList() {
      return msgs_;
    }
    /**
     * repeated .CMsgIncrementKillCountAttribute msgs = 1;
     */
    @java.lang.Override
    public java.util.List 
        getMsgsOrBuilderList() {
      return msgs_;
    }
    /**
     * repeated .CMsgIncrementKillCountAttribute msgs = 1;
     */
    @java.lang.Override
    public int getMsgsCount() {
      return msgs_.size();
    }
    /**
     * repeated .CMsgIncrementKillCountAttribute msgs = 1;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute getMsgs(int index) {
      return msgs_.get(index);
    }
    /**
     * repeated .CMsgIncrementKillCountAttribute msgs = 1;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttributeOrBuilder getMsgsOrBuilder(
        int index) {
      return msgs_.get(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

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

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple) obj;

      if (!getMsgsList()
          .equals(other.getMsgsList())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getMsgsCount() > 0) {
        hash = (37 * hash) + MSGS_FIELD_NUMBER;
        hash = (53 * hash) + getMsgsList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgIncrementKillCountAttribute_Multiple}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgIncrementKillCountAttribute_Multiple)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_MultipleOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgIncrementKillCountAttribute_Multiple_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgIncrementKillCountAttribute_Multiple_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        if (msgsBuilder_ == null) {
          msgs_ = java.util.Collections.emptyList();
        } else {
          msgs_ = null;
          msgsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgIncrementKillCountAttribute_Multiple_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple(this);
        buildPartialRepeatedFields(result);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartialRepeatedFields(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple result) {
        if (msgsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            msgs_ = java.util.Collections.unmodifiableList(msgs_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.msgs_ = msgs_;
        } else {
          result.msgs_ = msgsBuilder_.build();
        }
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple result) {
        int from_bitField0_ = bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple.getDefaultInstance()) return this;
        if (msgsBuilder_ == null) {
          if (!other.msgs_.isEmpty()) {
            if (msgs_.isEmpty()) {
              msgs_ = other.msgs_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureMsgsIsMutable();
              msgs_.addAll(other.msgs_);
            }
            onChanged();
          }
        } else {
          if (!other.msgs_.isEmpty()) {
            if (msgsBuilder_.isEmpty()) {
              msgsBuilder_.dispose();
              msgsBuilder_ = null;
              msgs_ = other.msgs_;
              bitField0_ = (bitField0_ & ~0x00000001);
              msgsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getMsgsFieldBuilder() : null;
            } else {
              msgsBuilder_.addAllMessages(other.msgs_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute.parser(),
                        extensionRegistry);
                if (msgsBuilder_ == null) {
                  ensureMsgsIsMutable();
                  msgs_.add(m);
                } else {
                  msgsBuilder_.addMessage(m);
                }
                break;
              } // case 10
              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 java.util.List msgs_ =
        java.util.Collections.emptyList();
      private void ensureMsgsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          msgs_ = new java.util.ArrayList(msgs_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttributeOrBuilder> msgsBuilder_;

      /**
       * repeated .CMsgIncrementKillCountAttribute msgs = 1;
       */
      public java.util.List getMsgsList() {
        if (msgsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(msgs_);
        } else {
          return msgsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CMsgIncrementKillCountAttribute msgs = 1;
       */
      public int getMsgsCount() {
        if (msgsBuilder_ == null) {
          return msgs_.size();
        } else {
          return msgsBuilder_.getCount();
        }
      }
      /**
       * repeated .CMsgIncrementKillCountAttribute msgs = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute getMsgs(int index) {
        if (msgsBuilder_ == null) {
          return msgs_.get(index);
        } else {
          return msgsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CMsgIncrementKillCountAttribute msgs = 1;
       */
      public Builder setMsgs(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute value) {
        if (msgsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureMsgsIsMutable();
          msgs_.set(index, value);
          onChanged();
        } else {
          msgsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgIncrementKillCountAttribute msgs = 1;
       */
      public Builder setMsgs(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute.Builder builderForValue) {
        if (msgsBuilder_ == null) {
          ensureMsgsIsMutable();
          msgs_.set(index, builderForValue.build());
          onChanged();
        } else {
          msgsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgIncrementKillCountAttribute msgs = 1;
       */
      public Builder addMsgs(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute value) {
        if (msgsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureMsgsIsMutable();
          msgs_.add(value);
          onChanged();
        } else {
          msgsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CMsgIncrementKillCountAttribute msgs = 1;
       */
      public Builder addMsgs(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute value) {
        if (msgsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureMsgsIsMutable();
          msgs_.add(index, value);
          onChanged();
        } else {
          msgsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgIncrementKillCountAttribute msgs = 1;
       */
      public Builder addMsgs(
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute.Builder builderForValue) {
        if (msgsBuilder_ == null) {
          ensureMsgsIsMutable();
          msgs_.add(builderForValue.build());
          onChanged();
        } else {
          msgsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgIncrementKillCountAttribute msgs = 1;
       */
      public Builder addMsgs(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute.Builder builderForValue) {
        if (msgsBuilder_ == null) {
          ensureMsgsIsMutable();
          msgs_.add(index, builderForValue.build());
          onChanged();
        } else {
          msgsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgIncrementKillCountAttribute msgs = 1;
       */
      public Builder addAllMsgs(
          java.lang.Iterable values) {
        if (msgsBuilder_ == null) {
          ensureMsgsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, msgs_);
          onChanged();
        } else {
          msgsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CMsgIncrementKillCountAttribute msgs = 1;
       */
      public Builder clearMsgs() {
        if (msgsBuilder_ == null) {
          msgs_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          msgsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CMsgIncrementKillCountAttribute msgs = 1;
       */
      public Builder removeMsgs(int index) {
        if (msgsBuilder_ == null) {
          ensureMsgsIsMutable();
          msgs_.remove(index);
          onChanged();
        } else {
          msgsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CMsgIncrementKillCountAttribute msgs = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute.Builder getMsgsBuilder(
          int index) {
        return getMsgsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CMsgIncrementKillCountAttribute msgs = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttributeOrBuilder getMsgsOrBuilder(
          int index) {
        if (msgsBuilder_ == null) {
          return msgs_.get(index);  } else {
          return msgsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CMsgIncrementKillCountAttribute msgs = 1;
       */
      public java.util.List 
           getMsgsOrBuilderList() {
        if (msgsBuilder_ != null) {
          return msgsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(msgs_);
        }
      }
      /**
       * repeated .CMsgIncrementKillCountAttribute msgs = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute.Builder addMsgsBuilder() {
        return getMsgsFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute.getDefaultInstance());
      }
      /**
       * repeated .CMsgIncrementKillCountAttribute msgs = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute.Builder addMsgsBuilder(
          int index) {
        return getMsgsFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute.getDefaultInstance());
      }
      /**
       * repeated .CMsgIncrementKillCountAttribute msgs = 1;
       */
      public java.util.List 
           getMsgsBuilderList() {
        return getMsgsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttributeOrBuilder> 
          getMsgsFieldBuilder() {
        if (msgsBuilder_ == null) {
          msgsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttributeOrBuilder>(
                  msgs_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          msgs_ = null;
        }
        return msgsBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgIncrementKillCountAttribute_Multiple)
    }

    // @@protoc_insertion_point(class_scope:CMsgIncrementKillCountAttribute_Multiple)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgIncrementKillCountAttribute_Multiple 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgIncrementKillCountAttribute_Multiple getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint64 killer_steam_id = 1;
     * @return Whether the killerSteamId field is set.
     */
    boolean hasKillerSteamId();
    /**
     * optional uint64 killer_steam_id = 1;
     * @return The killerSteamId.
     */
    long getKillerSteamId();

    /**
     * optional uint64 victim_steam_id = 2;
     * @return Whether the victimSteamId field is set.
     */
    boolean hasVictimSteamId();
    /**
     * optional uint64 victim_steam_id = 2;
     * @return The victimSteamId.
     */
    long getVictimSteamId();

    /**
     * optional uint64 item_id = 3;
     * @return Whether the itemId field is set.
     */
    boolean hasItemId();
    /**
     * optional uint64 item_id = 3;
     * @return The itemId.
     */
    long getItemId();

    /**
     * optional uint32 event_type = 4;
     * @return Whether the eventType field is set.
     */
    boolean hasEventType();
    /**
     * optional uint32 event_type = 4;
     * @return The eventType.
     */
    int getEventType();
  }
  /**
   * Protobuf type {@code CMsgTrackUniquePlayerPairEvent}
   */
  public static final class CMsgTrackUniquePlayerPairEvent extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgTrackUniquePlayerPairEvent)
      CMsgTrackUniquePlayerPairEventOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgTrackUniquePlayerPairEvent.class.getName());
    }
    // Use CMsgTrackUniquePlayerPairEvent.newBuilder() to construct.
    private CMsgTrackUniquePlayerPairEvent(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgTrackUniquePlayerPairEvent() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgTrackUniquePlayerPairEvent_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgTrackUniquePlayerPairEvent_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent.Builder.class);
    }

    private int bitField0_;
    public static final int KILLER_STEAM_ID_FIELD_NUMBER = 1;
    private long killerSteamId_ = 0L;
    /**
     * optional uint64 killer_steam_id = 1;
     * @return Whether the killerSteamId field is set.
     */
    @java.lang.Override
    public boolean hasKillerSteamId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint64 killer_steam_id = 1;
     * @return The killerSteamId.
     */
    @java.lang.Override
    public long getKillerSteamId() {
      return killerSteamId_;
    }

    public static final int VICTIM_STEAM_ID_FIELD_NUMBER = 2;
    private long victimSteamId_ = 0L;
    /**
     * optional uint64 victim_steam_id = 2;
     * @return Whether the victimSteamId field is set.
     */
    @java.lang.Override
    public boolean hasVictimSteamId() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint64 victim_steam_id = 2;
     * @return The victimSteamId.
     */
    @java.lang.Override
    public long getVictimSteamId() {
      return victimSteamId_;
    }

    public static final int ITEM_ID_FIELD_NUMBER = 3;
    private long itemId_ = 0L;
    /**
     * optional uint64 item_id = 3;
     * @return Whether the itemId field is set.
     */
    @java.lang.Override
    public boolean hasItemId() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional uint64 item_id = 3;
     * @return The itemId.
     */
    @java.lang.Override
    public long getItemId() {
      return itemId_;
    }

    public static final int EVENT_TYPE_FIELD_NUMBER = 4;
    private int eventType_ = 0;
    /**
     * optional uint32 event_type = 4;
     * @return Whether the eventType field is set.
     */
    @java.lang.Override
    public boolean hasEventType() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional uint32 event_type = 4;
     * @return The eventType.
     */
    @java.lang.Override
    public int getEventType() {
      return eventType_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt64(1, killerSteamId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeUInt64(2, victimSteamId_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeUInt64(3, itemId_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeUInt32(4, eventType_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, killerSteamId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(2, victimSteamId_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(3, itemId_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, eventType_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent) obj;

      if (hasKillerSteamId() != other.hasKillerSteamId()) return false;
      if (hasKillerSteamId()) {
        if (getKillerSteamId()
            != other.getKillerSteamId()) return false;
      }
      if (hasVictimSteamId() != other.hasVictimSteamId()) return false;
      if (hasVictimSteamId()) {
        if (getVictimSteamId()
            != other.getVictimSteamId()) return false;
      }
      if (hasItemId() != other.hasItemId()) return false;
      if (hasItemId()) {
        if (getItemId()
            != other.getItemId()) return false;
      }
      if (hasEventType() != other.hasEventType()) return false;
      if (hasEventType()) {
        if (getEventType()
            != other.getEventType()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasKillerSteamId()) {
        hash = (37 * hash) + KILLER_STEAM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getKillerSteamId());
      }
      if (hasVictimSteamId()) {
        hash = (37 * hash) + VICTIM_STEAM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getVictimSteamId());
      }
      if (hasItemId()) {
        hash = (37 * hash) + ITEM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getItemId());
      }
      if (hasEventType()) {
        hash = (37 * hash) + EVENT_TYPE_FIELD_NUMBER;
        hash = (53 * hash) + getEventType();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgTrackUniquePlayerPairEvent}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgTrackUniquePlayerPairEvent)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEventOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgTrackUniquePlayerPairEvent_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgTrackUniquePlayerPairEvent_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        killerSteamId_ = 0L;
        victimSteamId_ = 0L;
        itemId_ = 0L;
        eventType_ = 0;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgTrackUniquePlayerPairEvent_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.killerSteamId_ = killerSteamId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.victimSteamId_ = victimSteamId_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.itemId_ = itemId_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.eventType_ = eventType_;
          to_bitField0_ |= 0x00000008;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent.getDefaultInstance()) return this;
        if (other.hasKillerSteamId()) {
          setKillerSteamId(other.getKillerSteamId());
        }
        if (other.hasVictimSteamId()) {
          setVictimSteamId(other.getVictimSteamId());
        }
        if (other.hasItemId()) {
          setItemId(other.getItemId());
        }
        if (other.hasEventType()) {
          setEventType(other.getEventType());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                killerSteamId_ = input.readUInt64();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                victimSteamId_ = input.readUInt64();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 24: {
                itemId_ = input.readUInt64();
                bitField0_ |= 0x00000004;
                break;
              } // case 24
              case 32: {
                eventType_ = input.readUInt32();
                bitField0_ |= 0x00000008;
                break;
              } // case 32
              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 long killerSteamId_ ;
      /**
       * optional uint64 killer_steam_id = 1;
       * @return Whether the killerSteamId field is set.
       */
      @java.lang.Override
      public boolean hasKillerSteamId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint64 killer_steam_id = 1;
       * @return The killerSteamId.
       */
      @java.lang.Override
      public long getKillerSteamId() {
        return killerSteamId_;
      }
      /**
       * optional uint64 killer_steam_id = 1;
       * @param value The killerSteamId to set.
       * @return This builder for chaining.
       */
      public Builder setKillerSteamId(long value) {

        killerSteamId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint64 killer_steam_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearKillerSteamId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        killerSteamId_ = 0L;
        onChanged();
        return this;
      }

      private long victimSteamId_ ;
      /**
       * optional uint64 victim_steam_id = 2;
       * @return Whether the victimSteamId field is set.
       */
      @java.lang.Override
      public boolean hasVictimSteamId() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint64 victim_steam_id = 2;
       * @return The victimSteamId.
       */
      @java.lang.Override
      public long getVictimSteamId() {
        return victimSteamId_;
      }
      /**
       * optional uint64 victim_steam_id = 2;
       * @param value The victimSteamId to set.
       * @return This builder for chaining.
       */
      public Builder setVictimSteamId(long value) {

        victimSteamId_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint64 victim_steam_id = 2;
       * @return This builder for chaining.
       */
      public Builder clearVictimSteamId() {
        bitField0_ = (bitField0_ & ~0x00000002);
        victimSteamId_ = 0L;
        onChanged();
        return this;
      }

      private long itemId_ ;
      /**
       * optional uint64 item_id = 3;
       * @return Whether the itemId field is set.
       */
      @java.lang.Override
      public boolean hasItemId() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional uint64 item_id = 3;
       * @return The itemId.
       */
      @java.lang.Override
      public long getItemId() {
        return itemId_;
      }
      /**
       * optional uint64 item_id = 3;
       * @param value The itemId to set.
       * @return This builder for chaining.
       */
      public Builder setItemId(long value) {

        itemId_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional uint64 item_id = 3;
       * @return This builder for chaining.
       */
      public Builder clearItemId() {
        bitField0_ = (bitField0_ & ~0x00000004);
        itemId_ = 0L;
        onChanged();
        return this;
      }

      private int eventType_ ;
      /**
       * optional uint32 event_type = 4;
       * @return Whether the eventType field is set.
       */
      @java.lang.Override
      public boolean hasEventType() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional uint32 event_type = 4;
       * @return The eventType.
       */
      @java.lang.Override
      public int getEventType() {
        return eventType_;
      }
      /**
       * optional uint32 event_type = 4;
       * @param value The eventType to set.
       * @return This builder for chaining.
       */
      public Builder setEventType(int value) {

        eventType_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional uint32 event_type = 4;
       * @return This builder for chaining.
       */
      public Builder clearEventType() {
        bitField0_ = (bitField0_ & ~0x00000008);
        eventType_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgTrackUniquePlayerPairEvent)
    }

    // @@protoc_insertion_point(class_scope:CMsgTrackUniquePlayerPairEvent)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgTrackUniquePlayerPairEvent 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgTrackUniquePlayerPairEvent getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint64 tool_item_id = 1;
     * @return Whether the toolItemId field is set.
     */
    boolean hasToolItemId();
    /**
     * optional uint64 tool_item_id = 1;
     * @return The toolItemId.
     */
    long getToolItemId();

    /**
     * optional uint64 item_src_item_id = 2;
     * @return Whether the itemSrcItemId field is set.
     */
    boolean hasItemSrcItemId();
    /**
     * optional uint64 item_src_item_id = 2;
     * @return The itemSrcItemId.
     */
    long getItemSrcItemId();

    /**
     * optional uint64 item_dest_item_id = 3;
     * @return Whether the itemDestItemId field is set.
     */
    boolean hasItemDestItemId();
    /**
     * optional uint64 item_dest_item_id = 3;
     * @return The itemDestItemId.
     */
    long getItemDestItemId();
  }
  /**
   * Protobuf type {@code CMsgApplyStrangeCountTransfer}
   */
  public static final class CMsgApplyStrangeCountTransfer extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgApplyStrangeCountTransfer)
      CMsgApplyStrangeCountTransferOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgApplyStrangeCountTransfer.class.getName());
    }
    // Use CMsgApplyStrangeCountTransfer.newBuilder() to construct.
    private CMsgApplyStrangeCountTransfer(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgApplyStrangeCountTransfer() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgApplyStrangeCountTransfer_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgApplyStrangeCountTransfer_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer.Builder.class);
    }

    private int bitField0_;
    public static final int TOOL_ITEM_ID_FIELD_NUMBER = 1;
    private long toolItemId_ = 0L;
    /**
     * optional uint64 tool_item_id = 1;
     * @return Whether the toolItemId field is set.
     */
    @java.lang.Override
    public boolean hasToolItemId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint64 tool_item_id = 1;
     * @return The toolItemId.
     */
    @java.lang.Override
    public long getToolItemId() {
      return toolItemId_;
    }

    public static final int ITEM_SRC_ITEM_ID_FIELD_NUMBER = 2;
    private long itemSrcItemId_ = 0L;
    /**
     * optional uint64 item_src_item_id = 2;
     * @return Whether the itemSrcItemId field is set.
     */
    @java.lang.Override
    public boolean hasItemSrcItemId() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint64 item_src_item_id = 2;
     * @return The itemSrcItemId.
     */
    @java.lang.Override
    public long getItemSrcItemId() {
      return itemSrcItemId_;
    }

    public static final int ITEM_DEST_ITEM_ID_FIELD_NUMBER = 3;
    private long itemDestItemId_ = 0L;
    /**
     * optional uint64 item_dest_item_id = 3;
     * @return Whether the itemDestItemId field is set.
     */
    @java.lang.Override
    public boolean hasItemDestItemId() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional uint64 item_dest_item_id = 3;
     * @return The itemDestItemId.
     */
    @java.lang.Override
    public long getItemDestItemId() {
      return itemDestItemId_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt64(1, toolItemId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeUInt64(2, itemSrcItemId_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeUInt64(3, itemDestItemId_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, toolItemId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(2, itemSrcItemId_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(3, itemDestItemId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer) obj;

      if (hasToolItemId() != other.hasToolItemId()) return false;
      if (hasToolItemId()) {
        if (getToolItemId()
            != other.getToolItemId()) return false;
      }
      if (hasItemSrcItemId() != other.hasItemSrcItemId()) return false;
      if (hasItemSrcItemId()) {
        if (getItemSrcItemId()
            != other.getItemSrcItemId()) return false;
      }
      if (hasItemDestItemId() != other.hasItemDestItemId()) return false;
      if (hasItemDestItemId()) {
        if (getItemDestItemId()
            != other.getItemDestItemId()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasToolItemId()) {
        hash = (37 * hash) + TOOL_ITEM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getToolItemId());
      }
      if (hasItemSrcItemId()) {
        hash = (37 * hash) + ITEM_SRC_ITEM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getItemSrcItemId());
      }
      if (hasItemDestItemId()) {
        hash = (37 * hash) + ITEM_DEST_ITEM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getItemDestItemId());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgApplyStrangeCountTransfer}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgApplyStrangeCountTransfer)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransferOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgApplyStrangeCountTransfer_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgApplyStrangeCountTransfer_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        toolItemId_ = 0L;
        itemSrcItemId_ = 0L;
        itemDestItemId_ = 0L;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgApplyStrangeCountTransfer_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.toolItemId_ = toolItemId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.itemSrcItemId_ = itemSrcItemId_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.itemDestItemId_ = itemDestItemId_;
          to_bitField0_ |= 0x00000004;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer.getDefaultInstance()) return this;
        if (other.hasToolItemId()) {
          setToolItemId(other.getToolItemId());
        }
        if (other.hasItemSrcItemId()) {
          setItemSrcItemId(other.getItemSrcItemId());
        }
        if (other.hasItemDestItemId()) {
          setItemDestItemId(other.getItemDestItemId());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                toolItemId_ = input.readUInt64();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                itemSrcItemId_ = input.readUInt64();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 24: {
                itemDestItemId_ = input.readUInt64();
                bitField0_ |= 0x00000004;
                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 bitField0_;

      private long toolItemId_ ;
      /**
       * optional uint64 tool_item_id = 1;
       * @return Whether the toolItemId field is set.
       */
      @java.lang.Override
      public boolean hasToolItemId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint64 tool_item_id = 1;
       * @return The toolItemId.
       */
      @java.lang.Override
      public long getToolItemId() {
        return toolItemId_;
      }
      /**
       * optional uint64 tool_item_id = 1;
       * @param value The toolItemId to set.
       * @return This builder for chaining.
       */
      public Builder setToolItemId(long value) {

        toolItemId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint64 tool_item_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearToolItemId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        toolItemId_ = 0L;
        onChanged();
        return this;
      }

      private long itemSrcItemId_ ;
      /**
       * optional uint64 item_src_item_id = 2;
       * @return Whether the itemSrcItemId field is set.
       */
      @java.lang.Override
      public boolean hasItemSrcItemId() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint64 item_src_item_id = 2;
       * @return The itemSrcItemId.
       */
      @java.lang.Override
      public long getItemSrcItemId() {
        return itemSrcItemId_;
      }
      /**
       * optional uint64 item_src_item_id = 2;
       * @param value The itemSrcItemId to set.
       * @return This builder for chaining.
       */
      public Builder setItemSrcItemId(long value) {

        itemSrcItemId_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint64 item_src_item_id = 2;
       * @return This builder for chaining.
       */
      public Builder clearItemSrcItemId() {
        bitField0_ = (bitField0_ & ~0x00000002);
        itemSrcItemId_ = 0L;
        onChanged();
        return this;
      }

      private long itemDestItemId_ ;
      /**
       * optional uint64 item_dest_item_id = 3;
       * @return Whether the itemDestItemId field is set.
       */
      @java.lang.Override
      public boolean hasItemDestItemId() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional uint64 item_dest_item_id = 3;
       * @return The itemDestItemId.
       */
      @java.lang.Override
      public long getItemDestItemId() {
        return itemDestItemId_;
      }
      /**
       * optional uint64 item_dest_item_id = 3;
       * @param value The itemDestItemId to set.
       * @return This builder for chaining.
       */
      public Builder setItemDestItemId(long value) {

        itemDestItemId_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional uint64 item_dest_item_id = 3;
       * @return This builder for chaining.
       */
      public Builder clearItemDestItemId() {
        bitField0_ = (bitField0_ & ~0x00000004);
        itemDestItemId_ = 0L;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgApplyStrangeCountTransfer)
    }

    // @@protoc_insertion_point(class_scope:CMsgApplyStrangeCountTransfer)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgApplyStrangeCountTransfer 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeCountTransfer getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint64 strange_part_item_id = 1;
     * @return Whether the strangePartItemId field is set.
     */
    boolean hasStrangePartItemId();
    /**
     * optional uint64 strange_part_item_id = 1;
     * @return The strangePartItemId.
     */
    long getStrangePartItemId();

    /**
     * optional uint64 item_item_id = 2;
     * @return Whether the itemItemId field is set.
     */
    boolean hasItemItemId();
    /**
     * optional uint64 item_item_id = 2;
     * @return The itemItemId.
     */
    long getItemItemId();
  }
  /**
   * Protobuf type {@code CMsgApplyStrangePart}
   */
  public static final class CMsgApplyStrangePart extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgApplyStrangePart)
      CMsgApplyStrangePartOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgApplyStrangePart.class.getName());
    }
    // Use CMsgApplyStrangePart.newBuilder() to construct.
    private CMsgApplyStrangePart(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgApplyStrangePart() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgApplyStrangePart_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgApplyStrangePart_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart.Builder.class);
    }

    private int bitField0_;
    public static final int STRANGE_PART_ITEM_ID_FIELD_NUMBER = 1;
    private long strangePartItemId_ = 0L;
    /**
     * optional uint64 strange_part_item_id = 1;
     * @return Whether the strangePartItemId field is set.
     */
    @java.lang.Override
    public boolean hasStrangePartItemId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint64 strange_part_item_id = 1;
     * @return The strangePartItemId.
     */
    @java.lang.Override
    public long getStrangePartItemId() {
      return strangePartItemId_;
    }

    public static final int ITEM_ITEM_ID_FIELD_NUMBER = 2;
    private long itemItemId_ = 0L;
    /**
     * optional uint64 item_item_id = 2;
     * @return Whether the itemItemId field is set.
     */
    @java.lang.Override
    public boolean hasItemItemId() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint64 item_item_id = 2;
     * @return The itemItemId.
     */
    @java.lang.Override
    public long getItemItemId() {
      return itemItemId_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, strangePartItemId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(2, itemItemId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart) obj;

      if (hasStrangePartItemId() != other.hasStrangePartItemId()) return false;
      if (hasStrangePartItemId()) {
        if (getStrangePartItemId()
            != other.getStrangePartItemId()) return false;
      }
      if (hasItemItemId() != other.hasItemItemId()) return false;
      if (hasItemItemId()) {
        if (getItemItemId()
            != other.getItemItemId()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasStrangePartItemId()) {
        hash = (37 * hash) + STRANGE_PART_ITEM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getStrangePartItemId());
      }
      if (hasItemItemId()) {
        hash = (37 * hash) + ITEM_ITEM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getItemItemId());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgApplyStrangePart}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgApplyStrangePart)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePartOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgApplyStrangePart_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgApplyStrangePart_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        strangePartItemId_ = 0L;
        itemItemId_ = 0L;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgApplyStrangePart_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.strangePartItemId_ = strangePartItemId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.itemItemId_ = itemItemId_;
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart.getDefaultInstance()) return this;
        if (other.hasStrangePartItemId()) {
          setStrangePartItemId(other.getStrangePartItemId());
        }
        if (other.hasItemItemId()) {
          setItemItemId(other.getItemItemId());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                strangePartItemId_ = input.readUInt64();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                itemItemId_ = input.readUInt64();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              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 long strangePartItemId_ ;
      /**
       * optional uint64 strange_part_item_id = 1;
       * @return Whether the strangePartItemId field is set.
       */
      @java.lang.Override
      public boolean hasStrangePartItemId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint64 strange_part_item_id = 1;
       * @return The strangePartItemId.
       */
      @java.lang.Override
      public long getStrangePartItemId() {
        return strangePartItemId_;
      }
      /**
       * optional uint64 strange_part_item_id = 1;
       * @param value The strangePartItemId to set.
       * @return This builder for chaining.
       */
      public Builder setStrangePartItemId(long value) {

        strangePartItemId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint64 strange_part_item_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearStrangePartItemId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        strangePartItemId_ = 0L;
        onChanged();
        return this;
      }

      private long itemItemId_ ;
      /**
       * optional uint64 item_item_id = 2;
       * @return Whether the itemItemId field is set.
       */
      @java.lang.Override
      public boolean hasItemItemId() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint64 item_item_id = 2;
       * @return The itemItemId.
       */
      @java.lang.Override
      public long getItemItemId() {
        return itemItemId_;
      }
      /**
       * optional uint64 item_item_id = 2;
       * @param value The itemItemId to set.
       * @return This builder for chaining.
       */
      public Builder setItemItemId(long value) {

        itemItemId_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint64 item_item_id = 2;
       * @return This builder for chaining.
       */
      public Builder clearItemItemId() {
        bitField0_ = (bitField0_ & ~0x00000002);
        itemItemId_ = 0L;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgApplyStrangePart)
    }

    // @@protoc_insertion_point(class_scope:CMsgApplyStrangePart)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgApplyStrangePart 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangePart getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint64 strange_part_item_id = 1;
     * @return Whether the strangePartItemId field is set.
     */
    boolean hasStrangePartItemId();
    /**
     * optional uint64 strange_part_item_id = 1;
     * @return The strangePartItemId.
     */
    long getStrangePartItemId();

    /**
     * optional uint64 item_item_id = 2;
     * @return Whether the itemItemId field is set.
     */
    boolean hasItemItemId();
    /**
     * optional uint64 item_item_id = 2;
     * @return The itemItemId.
     */
    long getItemItemId();

    /**
     * optional uint32 strange_attr_index = 3;
     * @return Whether the strangeAttrIndex field is set.
     */
    boolean hasStrangeAttrIndex();
    /**
     * optional uint32 strange_attr_index = 3;
     * @return The strangeAttrIndex.
     */
    int getStrangeAttrIndex();
  }
  /**
   * Protobuf type {@code CMsgApplyStrangeRestriction}
   */
  public static final class CMsgApplyStrangeRestriction extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgApplyStrangeRestriction)
      CMsgApplyStrangeRestrictionOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgApplyStrangeRestriction.class.getName());
    }
    // Use CMsgApplyStrangeRestriction.newBuilder() to construct.
    private CMsgApplyStrangeRestriction(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgApplyStrangeRestriction() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgApplyStrangeRestriction_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgApplyStrangeRestriction_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction.Builder.class);
    }

    private int bitField0_;
    public static final int STRANGE_PART_ITEM_ID_FIELD_NUMBER = 1;
    private long strangePartItemId_ = 0L;
    /**
     * optional uint64 strange_part_item_id = 1;
     * @return Whether the strangePartItemId field is set.
     */
    @java.lang.Override
    public boolean hasStrangePartItemId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint64 strange_part_item_id = 1;
     * @return The strangePartItemId.
     */
    @java.lang.Override
    public long getStrangePartItemId() {
      return strangePartItemId_;
    }

    public static final int ITEM_ITEM_ID_FIELD_NUMBER = 2;
    private long itemItemId_ = 0L;
    /**
     * optional uint64 item_item_id = 2;
     * @return Whether the itemItemId field is set.
     */
    @java.lang.Override
    public boolean hasItemItemId() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint64 item_item_id = 2;
     * @return The itemItemId.
     */
    @java.lang.Override
    public long getItemItemId() {
      return itemItemId_;
    }

    public static final int STRANGE_ATTR_INDEX_FIELD_NUMBER = 3;
    private int strangeAttrIndex_ = 0;
    /**
     * optional uint32 strange_attr_index = 3;
     * @return Whether the strangeAttrIndex field is set.
     */
    @java.lang.Override
    public boolean hasStrangeAttrIndex() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional uint32 strange_attr_index = 3;
     * @return The strangeAttrIndex.
     */
    @java.lang.Override
    public int getStrangeAttrIndex() {
      return strangeAttrIndex_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt64(1, strangePartItemId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeUInt64(2, itemItemId_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeUInt32(3, strangeAttrIndex_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, strangePartItemId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(2, itemItemId_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, strangeAttrIndex_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction) obj;

      if (hasStrangePartItemId() != other.hasStrangePartItemId()) return false;
      if (hasStrangePartItemId()) {
        if (getStrangePartItemId()
            != other.getStrangePartItemId()) return false;
      }
      if (hasItemItemId() != other.hasItemItemId()) return false;
      if (hasItemItemId()) {
        if (getItemItemId()
            != other.getItemItemId()) return false;
      }
      if (hasStrangeAttrIndex() != other.hasStrangeAttrIndex()) return false;
      if (hasStrangeAttrIndex()) {
        if (getStrangeAttrIndex()
            != other.getStrangeAttrIndex()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasStrangePartItemId()) {
        hash = (37 * hash) + STRANGE_PART_ITEM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getStrangePartItemId());
      }
      if (hasItemItemId()) {
        hash = (37 * hash) + ITEM_ITEM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getItemItemId());
      }
      if (hasStrangeAttrIndex()) {
        hash = (37 * hash) + STRANGE_ATTR_INDEX_FIELD_NUMBER;
        hash = (53 * hash) + getStrangeAttrIndex();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgApplyStrangeRestriction}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgApplyStrangeRestriction)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestrictionOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgApplyStrangeRestriction_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgApplyStrangeRestriction_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        strangePartItemId_ = 0L;
        itemItemId_ = 0L;
        strangeAttrIndex_ = 0;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgApplyStrangeRestriction_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.strangePartItemId_ = strangePartItemId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.itemItemId_ = itemItemId_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.strangeAttrIndex_ = strangeAttrIndex_;
          to_bitField0_ |= 0x00000004;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction.getDefaultInstance()) return this;
        if (other.hasStrangePartItemId()) {
          setStrangePartItemId(other.getStrangePartItemId());
        }
        if (other.hasItemItemId()) {
          setItemItemId(other.getItemItemId());
        }
        if (other.hasStrangeAttrIndex()) {
          setStrangeAttrIndex(other.getStrangeAttrIndex());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                strangePartItemId_ = input.readUInt64();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                itemItemId_ = input.readUInt64();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 24: {
                strangeAttrIndex_ = input.readUInt32();
                bitField0_ |= 0x00000004;
                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 bitField0_;

      private long strangePartItemId_ ;
      /**
       * optional uint64 strange_part_item_id = 1;
       * @return Whether the strangePartItemId field is set.
       */
      @java.lang.Override
      public boolean hasStrangePartItemId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint64 strange_part_item_id = 1;
       * @return The strangePartItemId.
       */
      @java.lang.Override
      public long getStrangePartItemId() {
        return strangePartItemId_;
      }
      /**
       * optional uint64 strange_part_item_id = 1;
       * @param value The strangePartItemId to set.
       * @return This builder for chaining.
       */
      public Builder setStrangePartItemId(long value) {

        strangePartItemId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint64 strange_part_item_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearStrangePartItemId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        strangePartItemId_ = 0L;
        onChanged();
        return this;
      }

      private long itemItemId_ ;
      /**
       * optional uint64 item_item_id = 2;
       * @return Whether the itemItemId field is set.
       */
      @java.lang.Override
      public boolean hasItemItemId() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint64 item_item_id = 2;
       * @return The itemItemId.
       */
      @java.lang.Override
      public long getItemItemId() {
        return itemItemId_;
      }
      /**
       * optional uint64 item_item_id = 2;
       * @param value The itemItemId to set.
       * @return This builder for chaining.
       */
      public Builder setItemItemId(long value) {

        itemItemId_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint64 item_item_id = 2;
       * @return This builder for chaining.
       */
      public Builder clearItemItemId() {
        bitField0_ = (bitField0_ & ~0x00000002);
        itemItemId_ = 0L;
        onChanged();
        return this;
      }

      private int strangeAttrIndex_ ;
      /**
       * optional uint32 strange_attr_index = 3;
       * @return Whether the strangeAttrIndex field is set.
       */
      @java.lang.Override
      public boolean hasStrangeAttrIndex() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional uint32 strange_attr_index = 3;
       * @return The strangeAttrIndex.
       */
      @java.lang.Override
      public int getStrangeAttrIndex() {
        return strangeAttrIndex_;
      }
      /**
       * optional uint32 strange_attr_index = 3;
       * @param value The strangeAttrIndex to set.
       * @return This builder for chaining.
       */
      public Builder setStrangeAttrIndex(int value) {

        strangeAttrIndex_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional uint32 strange_attr_index = 3;
       * @return This builder for chaining.
       */
      public Builder clearStrangeAttrIndex() {
        bitField0_ = (bitField0_ & ~0x00000004);
        strangeAttrIndex_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgApplyStrangeRestriction)
    }

    // @@protoc_insertion_point(class_scope:CMsgApplyStrangeRestriction)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgApplyStrangeRestriction 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyStrangeRestriction getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint64 upgrade_card_item_id = 1;
     * @return Whether the upgradeCardItemId field is set.
     */
    boolean hasUpgradeCardItemId();
    /**
     * optional uint64 upgrade_card_item_id = 1;
     * @return The upgradeCardItemId.
     */
    long getUpgradeCardItemId();

    /**
     * optional uint64 subject_item_id = 2;
     * @return Whether the subjectItemId field is set.
     */
    boolean hasSubjectItemId();
    /**
     * optional uint64 subject_item_id = 2;
     * @return The subjectItemId.
     */
    long getSubjectItemId();
  }
  /**
   * Protobuf type {@code CMsgApplyUpgradeCard}
   */
  public static final class CMsgApplyUpgradeCard extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgApplyUpgradeCard)
      CMsgApplyUpgradeCardOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgApplyUpgradeCard.class.getName());
    }
    // Use CMsgApplyUpgradeCard.newBuilder() to construct.
    private CMsgApplyUpgradeCard(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgApplyUpgradeCard() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgApplyUpgradeCard_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgApplyUpgradeCard_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard.Builder.class);
    }

    private int bitField0_;
    public static final int UPGRADE_CARD_ITEM_ID_FIELD_NUMBER = 1;
    private long upgradeCardItemId_ = 0L;
    /**
     * optional uint64 upgrade_card_item_id = 1;
     * @return Whether the upgradeCardItemId field is set.
     */
    @java.lang.Override
    public boolean hasUpgradeCardItemId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint64 upgrade_card_item_id = 1;
     * @return The upgradeCardItemId.
     */
    @java.lang.Override
    public long getUpgradeCardItemId() {
      return upgradeCardItemId_;
    }

    public static final int SUBJECT_ITEM_ID_FIELD_NUMBER = 2;
    private long subjectItemId_ = 0L;
    /**
     * optional uint64 subject_item_id = 2;
     * @return Whether the subjectItemId field is set.
     */
    @java.lang.Override
    public boolean hasSubjectItemId() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint64 subject_item_id = 2;
     * @return The subjectItemId.
     */
    @java.lang.Override
    public long getSubjectItemId() {
      return subjectItemId_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, upgradeCardItemId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(2, subjectItemId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard) obj;

      if (hasUpgradeCardItemId() != other.hasUpgradeCardItemId()) return false;
      if (hasUpgradeCardItemId()) {
        if (getUpgradeCardItemId()
            != other.getUpgradeCardItemId()) return false;
      }
      if (hasSubjectItemId() != other.hasSubjectItemId()) return false;
      if (hasSubjectItemId()) {
        if (getSubjectItemId()
            != other.getSubjectItemId()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasUpgradeCardItemId()) {
        hash = (37 * hash) + UPGRADE_CARD_ITEM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getUpgradeCardItemId());
      }
      if (hasSubjectItemId()) {
        hash = (37 * hash) + SUBJECT_ITEM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getSubjectItemId());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgApplyUpgradeCard}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgApplyUpgradeCard)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCardOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgApplyUpgradeCard_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgApplyUpgradeCard_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        upgradeCardItemId_ = 0L;
        subjectItemId_ = 0L;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgApplyUpgradeCard_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.upgradeCardItemId_ = upgradeCardItemId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.subjectItemId_ = subjectItemId_;
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard.getDefaultInstance()) return this;
        if (other.hasUpgradeCardItemId()) {
          setUpgradeCardItemId(other.getUpgradeCardItemId());
        }
        if (other.hasSubjectItemId()) {
          setSubjectItemId(other.getSubjectItemId());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                upgradeCardItemId_ = input.readUInt64();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                subjectItemId_ = input.readUInt64();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              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 long upgradeCardItemId_ ;
      /**
       * optional uint64 upgrade_card_item_id = 1;
       * @return Whether the upgradeCardItemId field is set.
       */
      @java.lang.Override
      public boolean hasUpgradeCardItemId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint64 upgrade_card_item_id = 1;
       * @return The upgradeCardItemId.
       */
      @java.lang.Override
      public long getUpgradeCardItemId() {
        return upgradeCardItemId_;
      }
      /**
       * optional uint64 upgrade_card_item_id = 1;
       * @param value The upgradeCardItemId to set.
       * @return This builder for chaining.
       */
      public Builder setUpgradeCardItemId(long value) {

        upgradeCardItemId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint64 upgrade_card_item_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearUpgradeCardItemId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        upgradeCardItemId_ = 0L;
        onChanged();
        return this;
      }

      private long subjectItemId_ ;
      /**
       * optional uint64 subject_item_id = 2;
       * @return Whether the subjectItemId field is set.
       */
      @java.lang.Override
      public boolean hasSubjectItemId() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint64 subject_item_id = 2;
       * @return The subjectItemId.
       */
      @java.lang.Override
      public long getSubjectItemId() {
        return subjectItemId_;
      }
      /**
       * optional uint64 subject_item_id = 2;
       * @param value The subjectItemId to set.
       * @return This builder for chaining.
       */
      public Builder setSubjectItemId(long value) {

        subjectItemId_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint64 subject_item_id = 2;
       * @return This builder for chaining.
       */
      public Builder clearSubjectItemId() {
        bitField0_ = (bitField0_ & ~0x00000002);
        subjectItemId_ = 0L;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgApplyUpgradeCard)
    }

    // @@protoc_insertion_point(class_scope:CMsgApplyUpgradeCard)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgApplyUpgradeCard 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyUpgradeCard getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint32 def_index = 1;
     * @return Whether the defIndex field is set.
     */
    boolean hasDefIndex();
    /**
     * optional uint32 def_index = 1;
     * @return The defIndex.
     */
    int getDefIndex();

    /**
     * optional uint32 value = 2;
     * @return Whether the value field is set.
     */
    boolean hasValue();
    /**
     * optional uint32 value = 2;
     * @return The value.
     */
    int getValue();

    /**
     * optional bytes value_bytes = 3;
     * @return Whether the valueBytes field is set.
     */
    boolean hasValueBytes();
    /**
     * optional bytes value_bytes = 3;
     * @return The valueBytes.
     */
    com.google.protobuf.ByteString getValueBytes();
  }
  /**
   * Protobuf type {@code CSOEconItemAttribute}
   */
  public static final class CSOEconItemAttribute extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CSOEconItemAttribute)
      CSOEconItemAttributeOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CSOEconItemAttribute.class.getName());
    }
    // Use CSOEconItemAttribute.newBuilder() to construct.
    private CSOEconItemAttribute(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CSOEconItemAttribute() {
      valueBytes_ = com.google.protobuf.ByteString.EMPTY;
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconItemAttribute_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconItemAttribute_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute.Builder.class);
    }

    private int bitField0_;
    public static final int DEF_INDEX_FIELD_NUMBER = 1;
    private int defIndex_ = 0;
    /**
     * optional uint32 def_index = 1;
     * @return Whether the defIndex field is set.
     */
    @java.lang.Override
    public boolean hasDefIndex() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 def_index = 1;
     * @return The defIndex.
     */
    @java.lang.Override
    public int getDefIndex() {
      return defIndex_;
    }

    public static final int VALUE_FIELD_NUMBER = 2;
    private int value_ = 0;
    /**
     * optional uint32 value = 2;
     * @return Whether the value field is set.
     */
    @java.lang.Override
    public boolean hasValue() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint32 value = 2;
     * @return The value.
     */
    @java.lang.Override
    public int getValue() {
      return value_;
    }

    public static final int VALUE_BYTES_FIELD_NUMBER = 3;
    private com.google.protobuf.ByteString valueBytes_ = com.google.protobuf.ByteString.EMPTY;
    /**
     * optional bytes value_bytes = 3;
     * @return Whether the valueBytes field is set.
     */
    @java.lang.Override
    public boolean hasValueBytes() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional bytes value_bytes = 3;
     * @return The valueBytes.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getValueBytes() {
      return valueBytes_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt32(1, defIndex_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeUInt32(2, value_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeBytes(3, valueBytes_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, defIndex_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, value_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, valueBytes_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute) obj;

      if (hasDefIndex() != other.hasDefIndex()) return false;
      if (hasDefIndex()) {
        if (getDefIndex()
            != other.getDefIndex()) return false;
      }
      if (hasValue() != other.hasValue()) return false;
      if (hasValue()) {
        if (getValue()
            != other.getValue()) return false;
      }
      if (hasValueBytes() != other.hasValueBytes()) return false;
      if (hasValueBytes()) {
        if (!getValueBytes()
            .equals(other.getValueBytes())) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasDefIndex()) {
        hash = (37 * hash) + DEF_INDEX_FIELD_NUMBER;
        hash = (53 * hash) + getDefIndex();
      }
      if (hasValue()) {
        hash = (37 * hash) + VALUE_FIELD_NUMBER;
        hash = (53 * hash) + getValue();
      }
      if (hasValueBytes()) {
        hash = (37 * hash) + VALUE_BYTES_FIELD_NUMBER;
        hash = (53 * hash) + getValueBytes().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSOEconItemAttribute}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CSOEconItemAttribute)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttributeOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconItemAttribute_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconItemAttribute_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        defIndex_ = 0;
        value_ = 0;
        valueBytes_ = com.google.protobuf.ByteString.EMPTY;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconItemAttribute_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.defIndex_ = defIndex_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.value_ = value_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.valueBytes_ = valueBytes_;
          to_bitField0_ |= 0x00000004;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute.getDefaultInstance()) return this;
        if (other.hasDefIndex()) {
          setDefIndex(other.getDefIndex());
        }
        if (other.hasValue()) {
          setValue(other.getValue());
        }
        if (other.hasValueBytes()) {
          setValueBytes(other.getValueBytes());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                defIndex_ = input.readUInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                value_ = input.readUInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 26: {
                valueBytes_ = input.readBytes();
                bitField0_ |= 0x00000004;
                break;
              } // case 26
              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 int defIndex_ ;
      /**
       * optional uint32 def_index = 1;
       * @return Whether the defIndex field is set.
       */
      @java.lang.Override
      public boolean hasDefIndex() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 def_index = 1;
       * @return The defIndex.
       */
      @java.lang.Override
      public int getDefIndex() {
        return defIndex_;
      }
      /**
       * optional uint32 def_index = 1;
       * @param value The defIndex to set.
       * @return This builder for chaining.
       */
      public Builder setDefIndex(int value) {

        defIndex_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint32 def_index = 1;
       * @return This builder for chaining.
       */
      public Builder clearDefIndex() {
        bitField0_ = (bitField0_ & ~0x00000001);
        defIndex_ = 0;
        onChanged();
        return this;
      }

      private int value_ ;
      /**
       * optional uint32 value = 2;
       * @return Whether the value field is set.
       */
      @java.lang.Override
      public boolean hasValue() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint32 value = 2;
       * @return The value.
       */
      @java.lang.Override
      public int getValue() {
        return value_;
      }
      /**
       * optional uint32 value = 2;
       * @param value The value to set.
       * @return This builder for chaining.
       */
      public Builder setValue(int value) {

        value_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint32 value = 2;
       * @return This builder for chaining.
       */
      public Builder clearValue() {
        bitField0_ = (bitField0_ & ~0x00000002);
        value_ = 0;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString valueBytes_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * optional bytes value_bytes = 3;
       * @return Whether the valueBytes field is set.
       */
      @java.lang.Override
      public boolean hasValueBytes() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional bytes value_bytes = 3;
       * @return The valueBytes.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getValueBytes() {
        return valueBytes_;
      }
      /**
       * optional bytes value_bytes = 3;
       * @param value The valueBytes to set.
       * @return This builder for chaining.
       */
      public Builder setValueBytes(com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        valueBytes_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional bytes value_bytes = 3;
       * @return This builder for chaining.
       */
      public Builder clearValueBytes() {
        bitField0_ = (bitField0_ & ~0x00000004);
        valueBytes_ = getDefaultInstance().getValueBytes();
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CSOEconItemAttribute)
    }

    // @@protoc_insertion_point(class_scope:CSOEconItemAttribute)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CSOEconItemAttribute 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint32 new_class = 1;
     * @return Whether the newClass field is set.
     */
    boolean hasNewClass();
    /**
     * optional uint32 new_class = 1;
     * @return The newClass.
     */
    int getNewClass();

    /**
     * optional uint32 new_slot = 2;
     * @return Whether the newSlot field is set.
     */
    boolean hasNewSlot();
    /**
     * optional uint32 new_slot = 2;
     * @return The newSlot.
     */
    int getNewSlot();
  }
  /**
   * Protobuf type {@code CSOEconItemEquipped}
   */
  public static final class CSOEconItemEquipped extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CSOEconItemEquipped)
      CSOEconItemEquippedOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CSOEconItemEquipped.class.getName());
    }
    // Use CSOEconItemEquipped.newBuilder() to construct.
    private CSOEconItemEquipped(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CSOEconItemEquipped() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconItemEquipped_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconItemEquipped_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped.Builder.class);
    }

    private int bitField0_;
    public static final int NEW_CLASS_FIELD_NUMBER = 1;
    private int newClass_ = 0;
    /**
     * optional uint32 new_class = 1;
     * @return Whether the newClass field is set.
     */
    @java.lang.Override
    public boolean hasNewClass() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 new_class = 1;
     * @return The newClass.
     */
    @java.lang.Override
    public int getNewClass() {
      return newClass_;
    }

    public static final int NEW_SLOT_FIELD_NUMBER = 2;
    private int newSlot_ = 0;
    /**
     * optional uint32 new_slot = 2;
     * @return Whether the newSlot field is set.
     */
    @java.lang.Override
    public boolean hasNewSlot() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint32 new_slot = 2;
     * @return The newSlot.
     */
    @java.lang.Override
    public int getNewSlot() {
      return newSlot_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, newClass_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, newSlot_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped) obj;

      if (hasNewClass() != other.hasNewClass()) return false;
      if (hasNewClass()) {
        if (getNewClass()
            != other.getNewClass()) return false;
      }
      if (hasNewSlot() != other.hasNewSlot()) return false;
      if (hasNewSlot()) {
        if (getNewSlot()
            != other.getNewSlot()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasNewClass()) {
        hash = (37 * hash) + NEW_CLASS_FIELD_NUMBER;
        hash = (53 * hash) + getNewClass();
      }
      if (hasNewSlot()) {
        hash = (37 * hash) + NEW_SLOT_FIELD_NUMBER;
        hash = (53 * hash) + getNewSlot();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSOEconItemEquipped}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CSOEconItemEquipped)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquippedOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconItemEquipped_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconItemEquipped_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        newClass_ = 0;
        newSlot_ = 0;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconItemEquipped_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.newClass_ = newClass_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.newSlot_ = newSlot_;
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped.getDefaultInstance()) return this;
        if (other.hasNewClass()) {
          setNewClass(other.getNewClass());
        }
        if (other.hasNewSlot()) {
          setNewSlot(other.getNewSlot());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                newClass_ = input.readUInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                newSlot_ = input.readUInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              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 int newClass_ ;
      /**
       * optional uint32 new_class = 1;
       * @return Whether the newClass field is set.
       */
      @java.lang.Override
      public boolean hasNewClass() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 new_class = 1;
       * @return The newClass.
       */
      @java.lang.Override
      public int getNewClass() {
        return newClass_;
      }
      /**
       * optional uint32 new_class = 1;
       * @param value The newClass to set.
       * @return This builder for chaining.
       */
      public Builder setNewClass(int value) {

        newClass_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint32 new_class = 1;
       * @return This builder for chaining.
       */
      public Builder clearNewClass() {
        bitField0_ = (bitField0_ & ~0x00000001);
        newClass_ = 0;
        onChanged();
        return this;
      }

      private int newSlot_ ;
      /**
       * optional uint32 new_slot = 2;
       * @return Whether the newSlot field is set.
       */
      @java.lang.Override
      public boolean hasNewSlot() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint32 new_slot = 2;
       * @return The newSlot.
       */
      @java.lang.Override
      public int getNewSlot() {
        return newSlot_;
      }
      /**
       * optional uint32 new_slot = 2;
       * @param value The newSlot to set.
       * @return This builder for chaining.
       */
      public Builder setNewSlot(int value) {

        newSlot_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint32 new_slot = 2;
       * @return This builder for chaining.
       */
      public Builder clearNewSlot() {
        bitField0_ = (bitField0_ & ~0x00000002);
        newSlot_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CSOEconItemEquipped)
    }

    // @@protoc_insertion_point(class_scope:CSOEconItemEquipped)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CSOEconItemEquipped 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint64 id = 1;
     * @return Whether the id field is set.
     */
    boolean hasId();
    /**
     * optional uint64 id = 1;
     * @return The id.
     */
    long getId();

    /**
     * optional uint32 account_id = 2;
     * @return Whether the accountId field is set.
     */
    boolean hasAccountId();
    /**
     * optional uint32 account_id = 2;
     * @return The accountId.
     */
    int getAccountId();

    /**
     * optional uint32 inventory = 3;
     * @return Whether the inventory field is set.
     */
    boolean hasInventory();
    /**
     * optional uint32 inventory = 3;
     * @return The inventory.
     */
    int getInventory();

    /**
     * optional uint32 def_index = 4;
     * @return Whether the defIndex field is set.
     */
    boolean hasDefIndex();
    /**
     * optional uint32 def_index = 4;
     * @return The defIndex.
     */
    int getDefIndex();

    /**
     * optional uint32 quantity = 5;
     * @return Whether the quantity field is set.
     */
    boolean hasQuantity();
    /**
     * optional uint32 quantity = 5;
     * @return The quantity.
     */
    int getQuantity();

    /**
     * optional uint32 level = 6;
     * @return Whether the level field is set.
     */
    boolean hasLevel();
    /**
     * optional uint32 level = 6;
     * @return The level.
     */
    int getLevel();

    /**
     * optional uint32 quality = 7;
     * @return Whether the quality field is set.
     */
    boolean hasQuality();
    /**
     * optional uint32 quality = 7;
     * @return The quality.
     */
    int getQuality();

    /**
     * optional uint32 flags = 8 [default = 0];
     * @return Whether the flags field is set.
     */
    boolean hasFlags();
    /**
     * optional uint32 flags = 8 [default = 0];
     * @return The flags.
     */
    int getFlags();

    /**
     * optional uint32 origin = 9;
     * @return Whether the origin field is set.
     */
    boolean hasOrigin();
    /**
     * optional uint32 origin = 9;
     * @return The origin.
     */
    int getOrigin();

    /**
     * optional string custom_name = 10;
     * @return Whether the customName field is set.
     */
    boolean hasCustomName();
    /**
     * optional string custom_name = 10;
     * @return The customName.
     */
    java.lang.String getCustomName();
    /**
     * optional string custom_name = 10;
     * @return The bytes for customName.
     */
    com.google.protobuf.ByteString
        getCustomNameBytes();

    /**
     * optional string custom_desc = 11;
     * @return Whether the customDesc field is set.
     */
    boolean hasCustomDesc();
    /**
     * optional string custom_desc = 11;
     * @return The customDesc.
     */
    java.lang.String getCustomDesc();
    /**
     * optional string custom_desc = 11;
     * @return The bytes for customDesc.
     */
    com.google.protobuf.ByteString
        getCustomDescBytes();

    /**
     * repeated .CSOEconItemAttribute attribute = 12;
     */
    java.util.List 
        getAttributeList();
    /**
     * repeated .CSOEconItemAttribute attribute = 12;
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute getAttribute(int index);
    /**
     * repeated .CSOEconItemAttribute attribute = 12;
     */
    int getAttributeCount();
    /**
     * repeated .CSOEconItemAttribute attribute = 12;
     */
    java.util.List 
        getAttributeOrBuilderList();
    /**
     * repeated .CSOEconItemAttribute attribute = 12;
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttributeOrBuilder getAttributeOrBuilder(
        int index);

    /**
     * optional .CSOEconItem interior_item = 13;
     * @return Whether the interiorItem field is set.
     */
    boolean hasInteriorItem();
    /**
     * optional .CSOEconItem interior_item = 13;
     * @return The interiorItem.
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem getInteriorItem();
    /**
     * optional .CSOEconItem interior_item = 13;
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemOrBuilder getInteriorItemOrBuilder();

    /**
     * optional bool in_use = 14 [default = false];
     * @return Whether the inUse field is set.
     */
    boolean hasInUse();
    /**
     * optional bool in_use = 14 [default = false];
     * @return The inUse.
     */
    boolean getInUse();

    /**
     * optional uint32 style = 15 [default = 0];
     * @return Whether the style field is set.
     */
    boolean hasStyle();
    /**
     * optional uint32 style = 15 [default = 0];
     * @return The style.
     */
    int getStyle();

    /**
     * optional uint64 original_id = 16 [default = 0];
     * @return Whether the originalId field is set.
     */
    boolean hasOriginalId();
    /**
     * optional uint64 original_id = 16 [default = 0];
     * @return The originalId.
     */
    long getOriginalId();

    /**
     * optional bool contains_equipped_state = 17;
     * @return Whether the containsEquippedState field is set.
     */
    boolean hasContainsEquippedState();
    /**
     * optional bool contains_equipped_state = 17;
     * @return The containsEquippedState.
     */
    boolean getContainsEquippedState();

    /**
     * repeated .CSOEconItemEquipped equipped_state = 18;
     */
    java.util.List 
        getEquippedStateList();
    /**
     * repeated .CSOEconItemEquipped equipped_state = 18;
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped getEquippedState(int index);
    /**
     * repeated .CSOEconItemEquipped equipped_state = 18;
     */
    int getEquippedStateCount();
    /**
     * repeated .CSOEconItemEquipped equipped_state = 18;
     */
    java.util.List 
        getEquippedStateOrBuilderList();
    /**
     * repeated .CSOEconItemEquipped equipped_state = 18;
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquippedOrBuilder getEquippedStateOrBuilder(
        int index);

    /**
     * optional bool contains_equipped_state_v2 = 19;
     * @return Whether the containsEquippedStateV2 field is set.
     */
    boolean hasContainsEquippedStateV2();
    /**
     * optional bool contains_equipped_state_v2 = 19;
     * @return The containsEquippedStateV2.
     */
    boolean getContainsEquippedStateV2();
  }
  /**
   * Protobuf type {@code CSOEconItem}
   */
  public static final class CSOEconItem extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CSOEconItem)
      CSOEconItemOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CSOEconItem.class.getName());
    }
    // Use CSOEconItem.newBuilder() to construct.
    private CSOEconItem(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CSOEconItem() {
      customName_ = "";
      customDesc_ = "";
      attribute_ = java.util.Collections.emptyList();
      equippedState_ = java.util.Collections.emptyList();
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconItem_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconItem_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem.Builder.class);
    }

    private int bitField0_;
    public static final int ID_FIELD_NUMBER = 1;
    private long id_ = 0L;
    /**
     * optional uint64 id = 1;
     * @return Whether the id field is set.
     */
    @java.lang.Override
    public boolean hasId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint64 id = 1;
     * @return The id.
     */
    @java.lang.Override
    public long getId() {
      return id_;
    }

    public static final int ACCOUNT_ID_FIELD_NUMBER = 2;
    private int accountId_ = 0;
    /**
     * optional uint32 account_id = 2;
     * @return Whether the accountId field is set.
     */
    @java.lang.Override
    public boolean hasAccountId() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint32 account_id = 2;
     * @return The accountId.
     */
    @java.lang.Override
    public int getAccountId() {
      return accountId_;
    }

    public static final int INVENTORY_FIELD_NUMBER = 3;
    private int inventory_ = 0;
    /**
     * optional uint32 inventory = 3;
     * @return Whether the inventory field is set.
     */
    @java.lang.Override
    public boolean hasInventory() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional uint32 inventory = 3;
     * @return The inventory.
     */
    @java.lang.Override
    public int getInventory() {
      return inventory_;
    }

    public static final int DEF_INDEX_FIELD_NUMBER = 4;
    private int defIndex_ = 0;
    /**
     * optional uint32 def_index = 4;
     * @return Whether the defIndex field is set.
     */
    @java.lang.Override
    public boolean hasDefIndex() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional uint32 def_index = 4;
     * @return The defIndex.
     */
    @java.lang.Override
    public int getDefIndex() {
      return defIndex_;
    }

    public static final int QUANTITY_FIELD_NUMBER = 5;
    private int quantity_ = 0;
    /**
     * optional uint32 quantity = 5;
     * @return Whether the quantity field is set.
     */
    @java.lang.Override
    public boolean hasQuantity() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * optional uint32 quantity = 5;
     * @return The quantity.
     */
    @java.lang.Override
    public int getQuantity() {
      return quantity_;
    }

    public static final int LEVEL_FIELD_NUMBER = 6;
    private int level_ = 0;
    /**
     * optional uint32 level = 6;
     * @return Whether the level field is set.
     */
    @java.lang.Override
    public boolean hasLevel() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * optional uint32 level = 6;
     * @return The level.
     */
    @java.lang.Override
    public int getLevel() {
      return level_;
    }

    public static final int QUALITY_FIELD_NUMBER = 7;
    private int quality_ = 0;
    /**
     * optional uint32 quality = 7;
     * @return Whether the quality field is set.
     */
    @java.lang.Override
    public boolean hasQuality() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     * optional uint32 quality = 7;
     * @return The quality.
     */
    @java.lang.Override
    public int getQuality() {
      return quality_;
    }

    public static final int FLAGS_FIELD_NUMBER = 8;
    private int flags_ = 0;
    /**
     * optional uint32 flags = 8 [default = 0];
     * @return Whether the flags field is set.
     */
    @java.lang.Override
    public boolean hasFlags() {
      return ((bitField0_ & 0x00000080) != 0);
    }
    /**
     * optional uint32 flags = 8 [default = 0];
     * @return The flags.
     */
    @java.lang.Override
    public int getFlags() {
      return flags_;
    }

    public static final int ORIGIN_FIELD_NUMBER = 9;
    private int origin_ = 0;
    /**
     * optional uint32 origin = 9;
     * @return Whether the origin field is set.
     */
    @java.lang.Override
    public boolean hasOrigin() {
      return ((bitField0_ & 0x00000100) != 0);
    }
    /**
     * optional uint32 origin = 9;
     * @return The origin.
     */
    @java.lang.Override
    public int getOrigin() {
      return origin_;
    }

    public static final int CUSTOM_NAME_FIELD_NUMBER = 10;
    @SuppressWarnings("serial")
    private volatile java.lang.Object customName_ = "";
    /**
     * optional string custom_name = 10;
     * @return Whether the customName field is set.
     */
    @java.lang.Override
    public boolean hasCustomName() {
      return ((bitField0_ & 0x00000200) != 0);
    }
    /**
     * optional string custom_name = 10;
     * @return The customName.
     */
    @java.lang.Override
    public java.lang.String getCustomName() {
      java.lang.Object ref = customName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          customName_ = s;
        }
        return s;
      }
    }
    /**
     * optional string custom_name = 10;
     * @return The bytes for customName.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCustomNameBytes() {
      java.lang.Object ref = customName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        customName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CUSTOM_DESC_FIELD_NUMBER = 11;
    @SuppressWarnings("serial")
    private volatile java.lang.Object customDesc_ = "";
    /**
     * optional string custom_desc = 11;
     * @return Whether the customDesc field is set.
     */
    @java.lang.Override
    public boolean hasCustomDesc() {
      return ((bitField0_ & 0x00000400) != 0);
    }
    /**
     * optional string custom_desc = 11;
     * @return The customDesc.
     */
    @java.lang.Override
    public java.lang.String getCustomDesc() {
      java.lang.Object ref = customDesc_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          customDesc_ = s;
        }
        return s;
      }
    }
    /**
     * optional string custom_desc = 11;
     * @return The bytes for customDesc.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCustomDescBytes() {
      java.lang.Object ref = customDesc_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        customDesc_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int ATTRIBUTE_FIELD_NUMBER = 12;
    @SuppressWarnings("serial")
    private java.util.List attribute_;
    /**
     * repeated .CSOEconItemAttribute attribute = 12;
     */
    @java.lang.Override
    public java.util.List getAttributeList() {
      return attribute_;
    }
    /**
     * repeated .CSOEconItemAttribute attribute = 12;
     */
    @java.lang.Override
    public java.util.List 
        getAttributeOrBuilderList() {
      return attribute_;
    }
    /**
     * repeated .CSOEconItemAttribute attribute = 12;
     */
    @java.lang.Override
    public int getAttributeCount() {
      return attribute_.size();
    }
    /**
     * repeated .CSOEconItemAttribute attribute = 12;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute getAttribute(int index) {
      return attribute_.get(index);
    }
    /**
     * repeated .CSOEconItemAttribute attribute = 12;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttributeOrBuilder getAttributeOrBuilder(
        int index) {
      return attribute_.get(index);
    }

    public static final int INTERIOR_ITEM_FIELD_NUMBER = 13;
    private in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem interiorItem_;
    /**
     * optional .CSOEconItem interior_item = 13;
     * @return Whether the interiorItem field is set.
     */
    @java.lang.Override
    public boolean hasInteriorItem() {
      return ((bitField0_ & 0x00000800) != 0);
    }
    /**
     * optional .CSOEconItem interior_item = 13;
     * @return The interiorItem.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem getInteriorItem() {
      return interiorItem_ == null ? in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem.getDefaultInstance() : interiorItem_;
    }
    /**
     * optional .CSOEconItem interior_item = 13;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemOrBuilder getInteriorItemOrBuilder() {
      return interiorItem_ == null ? in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem.getDefaultInstance() : interiorItem_;
    }

    public static final int IN_USE_FIELD_NUMBER = 14;
    private boolean inUse_ = false;
    /**
     * optional bool in_use = 14 [default = false];
     * @return Whether the inUse field is set.
     */
    @java.lang.Override
    public boolean hasInUse() {
      return ((bitField0_ & 0x00001000) != 0);
    }
    /**
     * optional bool in_use = 14 [default = false];
     * @return The inUse.
     */
    @java.lang.Override
    public boolean getInUse() {
      return inUse_;
    }

    public static final int STYLE_FIELD_NUMBER = 15;
    private int style_ = 0;
    /**
     * optional uint32 style = 15 [default = 0];
     * @return Whether the style field is set.
     */
    @java.lang.Override
    public boolean hasStyle() {
      return ((bitField0_ & 0x00002000) != 0);
    }
    /**
     * optional uint32 style = 15 [default = 0];
     * @return The style.
     */
    @java.lang.Override
    public int getStyle() {
      return style_;
    }

    public static final int ORIGINAL_ID_FIELD_NUMBER = 16;
    private long originalId_ = 0L;
    /**
     * optional uint64 original_id = 16 [default = 0];
     * @return Whether the originalId field is set.
     */
    @java.lang.Override
    public boolean hasOriginalId() {
      return ((bitField0_ & 0x00004000) != 0);
    }
    /**
     * optional uint64 original_id = 16 [default = 0];
     * @return The originalId.
     */
    @java.lang.Override
    public long getOriginalId() {
      return originalId_;
    }

    public static final int CONTAINS_EQUIPPED_STATE_FIELD_NUMBER = 17;
    private boolean containsEquippedState_ = false;
    /**
     * optional bool contains_equipped_state = 17;
     * @return Whether the containsEquippedState field is set.
     */
    @java.lang.Override
    public boolean hasContainsEquippedState() {
      return ((bitField0_ & 0x00008000) != 0);
    }
    /**
     * optional bool contains_equipped_state = 17;
     * @return The containsEquippedState.
     */
    @java.lang.Override
    public boolean getContainsEquippedState() {
      return containsEquippedState_;
    }

    public static final int EQUIPPED_STATE_FIELD_NUMBER = 18;
    @SuppressWarnings("serial")
    private java.util.List equippedState_;
    /**
     * repeated .CSOEconItemEquipped equipped_state = 18;
     */
    @java.lang.Override
    public java.util.List getEquippedStateList() {
      return equippedState_;
    }
    /**
     * repeated .CSOEconItemEquipped equipped_state = 18;
     */
    @java.lang.Override
    public java.util.List 
        getEquippedStateOrBuilderList() {
      return equippedState_;
    }
    /**
     * repeated .CSOEconItemEquipped equipped_state = 18;
     */
    @java.lang.Override
    public int getEquippedStateCount() {
      return equippedState_.size();
    }
    /**
     * repeated .CSOEconItemEquipped equipped_state = 18;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped getEquippedState(int index) {
      return equippedState_.get(index);
    }
    /**
     * repeated .CSOEconItemEquipped equipped_state = 18;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquippedOrBuilder getEquippedStateOrBuilder(
        int index) {
      return equippedState_.get(index);
    }

    public static final int CONTAINS_EQUIPPED_STATE_V2_FIELD_NUMBER = 19;
    private boolean containsEquippedStateV2_ = false;
    /**
     * optional bool contains_equipped_state_v2 = 19;
     * @return Whether the containsEquippedStateV2 field is set.
     */
    @java.lang.Override
    public boolean hasContainsEquippedStateV2() {
      return ((bitField0_ & 0x00010000) != 0);
    }
    /**
     * optional bool contains_equipped_state_v2 = 19;
     * @return The containsEquippedStateV2.
     */
    @java.lang.Override
    public boolean getContainsEquippedStateV2() {
      return containsEquippedStateV2_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt64(1, id_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeUInt32(2, accountId_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeUInt32(3, inventory_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeUInt32(4, defIndex_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        output.writeUInt32(5, quantity_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        output.writeUInt32(6, level_);
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        output.writeUInt32(7, quality_);
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        output.writeUInt32(8, flags_);
      }
      if (((bitField0_ & 0x00000100) != 0)) {
        output.writeUInt32(9, origin_);
      }
      if (((bitField0_ & 0x00000200) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 10, customName_);
      }
      if (((bitField0_ & 0x00000400) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 11, customDesc_);
      }
      for (int i = 0; i < attribute_.size(); i++) {
        output.writeMessage(12, attribute_.get(i));
      }
      if (((bitField0_ & 0x00000800) != 0)) {
        output.writeMessage(13, getInteriorItem());
      }
      if (((bitField0_ & 0x00001000) != 0)) {
        output.writeBool(14, inUse_);
      }
      if (((bitField0_ & 0x00002000) != 0)) {
        output.writeUInt32(15, style_);
      }
      if (((bitField0_ & 0x00004000) != 0)) {
        output.writeUInt64(16, originalId_);
      }
      if (((bitField0_ & 0x00008000) != 0)) {
        output.writeBool(17, containsEquippedState_);
      }
      for (int i = 0; i < equippedState_.size(); i++) {
        output.writeMessage(18, equippedState_.get(i));
      }
      if (((bitField0_ & 0x00010000) != 0)) {
        output.writeBool(19, containsEquippedStateV2_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, id_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, accountId_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, inventory_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, defIndex_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(5, quantity_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(6, level_);
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(7, quality_);
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(8, flags_);
      }
      if (((bitField0_ & 0x00000100) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(9, origin_);
      }
      if (((bitField0_ & 0x00000200) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(10, customName_);
      }
      if (((bitField0_ & 0x00000400) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(11, customDesc_);
      }
      for (int i = 0; i < attribute_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(12, attribute_.get(i));
      }
      if (((bitField0_ & 0x00000800) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(13, getInteriorItem());
      }
      if (((bitField0_ & 0x00001000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(14, inUse_);
      }
      if (((bitField0_ & 0x00002000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(15, style_);
      }
      if (((bitField0_ & 0x00004000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(16, originalId_);
      }
      if (((bitField0_ & 0x00008000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(17, containsEquippedState_);
      }
      for (int i = 0; i < equippedState_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(18, equippedState_.get(i));
      }
      if (((bitField0_ & 0x00010000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(19, containsEquippedStateV2_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem) obj;

      if (hasId() != other.hasId()) return false;
      if (hasId()) {
        if (getId()
            != other.getId()) return false;
      }
      if (hasAccountId() != other.hasAccountId()) return false;
      if (hasAccountId()) {
        if (getAccountId()
            != other.getAccountId()) return false;
      }
      if (hasInventory() != other.hasInventory()) return false;
      if (hasInventory()) {
        if (getInventory()
            != other.getInventory()) return false;
      }
      if (hasDefIndex() != other.hasDefIndex()) return false;
      if (hasDefIndex()) {
        if (getDefIndex()
            != other.getDefIndex()) return false;
      }
      if (hasQuantity() != other.hasQuantity()) return false;
      if (hasQuantity()) {
        if (getQuantity()
            != other.getQuantity()) return false;
      }
      if (hasLevel() != other.hasLevel()) return false;
      if (hasLevel()) {
        if (getLevel()
            != other.getLevel()) return false;
      }
      if (hasQuality() != other.hasQuality()) return false;
      if (hasQuality()) {
        if (getQuality()
            != other.getQuality()) return false;
      }
      if (hasFlags() != other.hasFlags()) return false;
      if (hasFlags()) {
        if (getFlags()
            != other.getFlags()) return false;
      }
      if (hasOrigin() != other.hasOrigin()) return false;
      if (hasOrigin()) {
        if (getOrigin()
            != other.getOrigin()) return false;
      }
      if (hasCustomName() != other.hasCustomName()) return false;
      if (hasCustomName()) {
        if (!getCustomName()
            .equals(other.getCustomName())) return false;
      }
      if (hasCustomDesc() != other.hasCustomDesc()) return false;
      if (hasCustomDesc()) {
        if (!getCustomDesc()
            .equals(other.getCustomDesc())) return false;
      }
      if (!getAttributeList()
          .equals(other.getAttributeList())) return false;
      if (hasInteriorItem() != other.hasInteriorItem()) return false;
      if (hasInteriorItem()) {
        if (!getInteriorItem()
            .equals(other.getInteriorItem())) return false;
      }
      if (hasInUse() != other.hasInUse()) return false;
      if (hasInUse()) {
        if (getInUse()
            != other.getInUse()) return false;
      }
      if (hasStyle() != other.hasStyle()) return false;
      if (hasStyle()) {
        if (getStyle()
            != other.getStyle()) return false;
      }
      if (hasOriginalId() != other.hasOriginalId()) return false;
      if (hasOriginalId()) {
        if (getOriginalId()
            != other.getOriginalId()) return false;
      }
      if (hasContainsEquippedState() != other.hasContainsEquippedState()) return false;
      if (hasContainsEquippedState()) {
        if (getContainsEquippedState()
            != other.getContainsEquippedState()) return false;
      }
      if (!getEquippedStateList()
          .equals(other.getEquippedStateList())) return false;
      if (hasContainsEquippedStateV2() != other.hasContainsEquippedStateV2()) return false;
      if (hasContainsEquippedStateV2()) {
        if (getContainsEquippedStateV2()
            != other.getContainsEquippedStateV2()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasId()) {
        hash = (37 * hash) + ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getId());
      }
      if (hasAccountId()) {
        hash = (37 * hash) + ACCOUNT_ID_FIELD_NUMBER;
        hash = (53 * hash) + getAccountId();
      }
      if (hasInventory()) {
        hash = (37 * hash) + INVENTORY_FIELD_NUMBER;
        hash = (53 * hash) + getInventory();
      }
      if (hasDefIndex()) {
        hash = (37 * hash) + DEF_INDEX_FIELD_NUMBER;
        hash = (53 * hash) + getDefIndex();
      }
      if (hasQuantity()) {
        hash = (37 * hash) + QUANTITY_FIELD_NUMBER;
        hash = (53 * hash) + getQuantity();
      }
      if (hasLevel()) {
        hash = (37 * hash) + LEVEL_FIELD_NUMBER;
        hash = (53 * hash) + getLevel();
      }
      if (hasQuality()) {
        hash = (37 * hash) + QUALITY_FIELD_NUMBER;
        hash = (53 * hash) + getQuality();
      }
      if (hasFlags()) {
        hash = (37 * hash) + FLAGS_FIELD_NUMBER;
        hash = (53 * hash) + getFlags();
      }
      if (hasOrigin()) {
        hash = (37 * hash) + ORIGIN_FIELD_NUMBER;
        hash = (53 * hash) + getOrigin();
      }
      if (hasCustomName()) {
        hash = (37 * hash) + CUSTOM_NAME_FIELD_NUMBER;
        hash = (53 * hash) + getCustomName().hashCode();
      }
      if (hasCustomDesc()) {
        hash = (37 * hash) + CUSTOM_DESC_FIELD_NUMBER;
        hash = (53 * hash) + getCustomDesc().hashCode();
      }
      if (getAttributeCount() > 0) {
        hash = (37 * hash) + ATTRIBUTE_FIELD_NUMBER;
        hash = (53 * hash) + getAttributeList().hashCode();
      }
      if (hasInteriorItem()) {
        hash = (37 * hash) + INTERIOR_ITEM_FIELD_NUMBER;
        hash = (53 * hash) + getInteriorItem().hashCode();
      }
      if (hasInUse()) {
        hash = (37 * hash) + IN_USE_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getInUse());
      }
      if (hasStyle()) {
        hash = (37 * hash) + STYLE_FIELD_NUMBER;
        hash = (53 * hash) + getStyle();
      }
      if (hasOriginalId()) {
        hash = (37 * hash) + ORIGINAL_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getOriginalId());
      }
      if (hasContainsEquippedState()) {
        hash = (37 * hash) + CONTAINS_EQUIPPED_STATE_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getContainsEquippedState());
      }
      if (getEquippedStateCount() > 0) {
        hash = (37 * hash) + EQUIPPED_STATE_FIELD_NUMBER;
        hash = (53 * hash) + getEquippedStateList().hashCode();
      }
      if (hasContainsEquippedStateV2()) {
        hash = (37 * hash) + CONTAINS_EQUIPPED_STATE_V2_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getContainsEquippedStateV2());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSOEconItem}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CSOEconItem)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconItem_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconItem_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage
                .alwaysUseFieldBuilders) {
          getAttributeFieldBuilder();
          getInteriorItemFieldBuilder();
          getEquippedStateFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        id_ = 0L;
        accountId_ = 0;
        inventory_ = 0;
        defIndex_ = 0;
        quantity_ = 0;
        level_ = 0;
        quality_ = 0;
        flags_ = 0;
        origin_ = 0;
        customName_ = "";
        customDesc_ = "";
        if (attributeBuilder_ == null) {
          attribute_ = java.util.Collections.emptyList();
        } else {
          attribute_ = null;
          attributeBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000800);
        interiorItem_ = null;
        if (interiorItemBuilder_ != null) {
          interiorItemBuilder_.dispose();
          interiorItemBuilder_ = null;
        }
        inUse_ = false;
        style_ = 0;
        originalId_ = 0L;
        containsEquippedState_ = false;
        if (equippedStateBuilder_ == null) {
          equippedState_ = java.util.Collections.emptyList();
        } else {
          equippedState_ = null;
          equippedStateBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00020000);
        containsEquippedStateV2_ = false;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconItem_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem(this);
        buildPartialRepeatedFields(result);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartialRepeatedFields(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem result) {
        if (attributeBuilder_ == null) {
          if (((bitField0_ & 0x00000800) != 0)) {
            attribute_ = java.util.Collections.unmodifiableList(attribute_);
            bitField0_ = (bitField0_ & ~0x00000800);
          }
          result.attribute_ = attribute_;
        } else {
          result.attribute_ = attributeBuilder_.build();
        }
        if (equippedStateBuilder_ == null) {
          if (((bitField0_ & 0x00020000) != 0)) {
            equippedState_ = java.util.Collections.unmodifiableList(equippedState_);
            bitField0_ = (bitField0_ & ~0x00020000);
          }
          result.equippedState_ = equippedState_;
        } else {
          result.equippedState_ = equippedStateBuilder_.build();
        }
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.id_ = id_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.accountId_ = accountId_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.inventory_ = inventory_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.defIndex_ = defIndex_;
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.quantity_ = quantity_;
          to_bitField0_ |= 0x00000010;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          result.level_ = level_;
          to_bitField0_ |= 0x00000020;
        }
        if (((from_bitField0_ & 0x00000040) != 0)) {
          result.quality_ = quality_;
          to_bitField0_ |= 0x00000040;
        }
        if (((from_bitField0_ & 0x00000080) != 0)) {
          result.flags_ = flags_;
          to_bitField0_ |= 0x00000080;
        }
        if (((from_bitField0_ & 0x00000100) != 0)) {
          result.origin_ = origin_;
          to_bitField0_ |= 0x00000100;
        }
        if (((from_bitField0_ & 0x00000200) != 0)) {
          result.customName_ = customName_;
          to_bitField0_ |= 0x00000200;
        }
        if (((from_bitField0_ & 0x00000400) != 0)) {
          result.customDesc_ = customDesc_;
          to_bitField0_ |= 0x00000400;
        }
        if (((from_bitField0_ & 0x00001000) != 0)) {
          result.interiorItem_ = interiorItemBuilder_ == null
              ? interiorItem_
              : interiorItemBuilder_.build();
          to_bitField0_ |= 0x00000800;
        }
        if (((from_bitField0_ & 0x00002000) != 0)) {
          result.inUse_ = inUse_;
          to_bitField0_ |= 0x00001000;
        }
        if (((from_bitField0_ & 0x00004000) != 0)) {
          result.style_ = style_;
          to_bitField0_ |= 0x00002000;
        }
        if (((from_bitField0_ & 0x00008000) != 0)) {
          result.originalId_ = originalId_;
          to_bitField0_ |= 0x00004000;
        }
        if (((from_bitField0_ & 0x00010000) != 0)) {
          result.containsEquippedState_ = containsEquippedState_;
          to_bitField0_ |= 0x00008000;
        }
        if (((from_bitField0_ & 0x00040000) != 0)) {
          result.containsEquippedStateV2_ = containsEquippedStateV2_;
          to_bitField0_ |= 0x00010000;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem.getDefaultInstance()) return this;
        if (other.hasId()) {
          setId(other.getId());
        }
        if (other.hasAccountId()) {
          setAccountId(other.getAccountId());
        }
        if (other.hasInventory()) {
          setInventory(other.getInventory());
        }
        if (other.hasDefIndex()) {
          setDefIndex(other.getDefIndex());
        }
        if (other.hasQuantity()) {
          setQuantity(other.getQuantity());
        }
        if (other.hasLevel()) {
          setLevel(other.getLevel());
        }
        if (other.hasQuality()) {
          setQuality(other.getQuality());
        }
        if (other.hasFlags()) {
          setFlags(other.getFlags());
        }
        if (other.hasOrigin()) {
          setOrigin(other.getOrigin());
        }
        if (other.hasCustomName()) {
          customName_ = other.customName_;
          bitField0_ |= 0x00000200;
          onChanged();
        }
        if (other.hasCustomDesc()) {
          customDesc_ = other.customDesc_;
          bitField0_ |= 0x00000400;
          onChanged();
        }
        if (attributeBuilder_ == null) {
          if (!other.attribute_.isEmpty()) {
            if (attribute_.isEmpty()) {
              attribute_ = other.attribute_;
              bitField0_ = (bitField0_ & ~0x00000800);
            } else {
              ensureAttributeIsMutable();
              attribute_.addAll(other.attribute_);
            }
            onChanged();
          }
        } else {
          if (!other.attribute_.isEmpty()) {
            if (attributeBuilder_.isEmpty()) {
              attributeBuilder_.dispose();
              attributeBuilder_ = null;
              attribute_ = other.attribute_;
              bitField0_ = (bitField0_ & ~0x00000800);
              attributeBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getAttributeFieldBuilder() : null;
            } else {
              attributeBuilder_.addAllMessages(other.attribute_);
            }
          }
        }
        if (other.hasInteriorItem()) {
          mergeInteriorItem(other.getInteriorItem());
        }
        if (other.hasInUse()) {
          setInUse(other.getInUse());
        }
        if (other.hasStyle()) {
          setStyle(other.getStyle());
        }
        if (other.hasOriginalId()) {
          setOriginalId(other.getOriginalId());
        }
        if (other.hasContainsEquippedState()) {
          setContainsEquippedState(other.getContainsEquippedState());
        }
        if (equippedStateBuilder_ == null) {
          if (!other.equippedState_.isEmpty()) {
            if (equippedState_.isEmpty()) {
              equippedState_ = other.equippedState_;
              bitField0_ = (bitField0_ & ~0x00020000);
            } else {
              ensureEquippedStateIsMutable();
              equippedState_.addAll(other.equippedState_);
            }
            onChanged();
          }
        } else {
          if (!other.equippedState_.isEmpty()) {
            if (equippedStateBuilder_.isEmpty()) {
              equippedStateBuilder_.dispose();
              equippedStateBuilder_ = null;
              equippedState_ = other.equippedState_;
              bitField0_ = (bitField0_ & ~0x00020000);
              equippedStateBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getEquippedStateFieldBuilder() : null;
            } else {
              equippedStateBuilder_.addAllMessages(other.equippedState_);
            }
          }
        }
        if (other.hasContainsEquippedStateV2()) {
          setContainsEquippedStateV2(other.getContainsEquippedStateV2());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                id_ = input.readUInt64();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                accountId_ = input.readUInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 24: {
                inventory_ = input.readUInt32();
                bitField0_ |= 0x00000004;
                break;
              } // case 24
              case 32: {
                defIndex_ = input.readUInt32();
                bitField0_ |= 0x00000008;
                break;
              } // case 32
              case 40: {
                quantity_ = input.readUInt32();
                bitField0_ |= 0x00000010;
                break;
              } // case 40
              case 48: {
                level_ = input.readUInt32();
                bitField0_ |= 0x00000020;
                break;
              } // case 48
              case 56: {
                quality_ = input.readUInt32();
                bitField0_ |= 0x00000040;
                break;
              } // case 56
              case 64: {
                flags_ = input.readUInt32();
                bitField0_ |= 0x00000080;
                break;
              } // case 64
              case 72: {
                origin_ = input.readUInt32();
                bitField0_ |= 0x00000100;
                break;
              } // case 72
              case 82: {
                customName_ = input.readBytes();
                bitField0_ |= 0x00000200;
                break;
              } // case 82
              case 90: {
                customDesc_ = input.readBytes();
                bitField0_ |= 0x00000400;
                break;
              } // case 90
              case 98: {
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute.parser(),
                        extensionRegistry);
                if (attributeBuilder_ == null) {
                  ensureAttributeIsMutable();
                  attribute_.add(m);
                } else {
                  attributeBuilder_.addMessage(m);
                }
                break;
              } // case 98
              case 106: {
                input.readMessage(
                    getInteriorItemFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00001000;
                break;
              } // case 106
              case 112: {
                inUse_ = input.readBool();
                bitField0_ |= 0x00002000;
                break;
              } // case 112
              case 120: {
                style_ = input.readUInt32();
                bitField0_ |= 0x00004000;
                break;
              } // case 120
              case 128: {
                originalId_ = input.readUInt64();
                bitField0_ |= 0x00008000;
                break;
              } // case 128
              case 136: {
                containsEquippedState_ = input.readBool();
                bitField0_ |= 0x00010000;
                break;
              } // case 136
              case 146: {
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped.parser(),
                        extensionRegistry);
                if (equippedStateBuilder_ == null) {
                  ensureEquippedStateIsMutable();
                  equippedState_.add(m);
                } else {
                  equippedStateBuilder_.addMessage(m);
                }
                break;
              } // case 146
              case 152: {
                containsEquippedStateV2_ = input.readBool();
                bitField0_ |= 0x00040000;
                break;
              } // case 152
              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 long id_ ;
      /**
       * optional uint64 id = 1;
       * @return Whether the id field is set.
       */
      @java.lang.Override
      public boolean hasId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint64 id = 1;
       * @return The id.
       */
      @java.lang.Override
      public long getId() {
        return id_;
      }
      /**
       * optional uint64 id = 1;
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(long value) {

        id_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint64 id = 1;
       * @return This builder for chaining.
       */
      public Builder clearId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        id_ = 0L;
        onChanged();
        return this;
      }

      private int accountId_ ;
      /**
       * optional uint32 account_id = 2;
       * @return Whether the accountId field is set.
       */
      @java.lang.Override
      public boolean hasAccountId() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint32 account_id = 2;
       * @return The accountId.
       */
      @java.lang.Override
      public int getAccountId() {
        return accountId_;
      }
      /**
       * optional uint32 account_id = 2;
       * @param value The accountId to set.
       * @return This builder for chaining.
       */
      public Builder setAccountId(int value) {

        accountId_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint32 account_id = 2;
       * @return This builder for chaining.
       */
      public Builder clearAccountId() {
        bitField0_ = (bitField0_ & ~0x00000002);
        accountId_ = 0;
        onChanged();
        return this;
      }

      private int inventory_ ;
      /**
       * optional uint32 inventory = 3;
       * @return Whether the inventory field is set.
       */
      @java.lang.Override
      public boolean hasInventory() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional uint32 inventory = 3;
       * @return The inventory.
       */
      @java.lang.Override
      public int getInventory() {
        return inventory_;
      }
      /**
       * optional uint32 inventory = 3;
       * @param value The inventory to set.
       * @return This builder for chaining.
       */
      public Builder setInventory(int value) {

        inventory_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional uint32 inventory = 3;
       * @return This builder for chaining.
       */
      public Builder clearInventory() {
        bitField0_ = (bitField0_ & ~0x00000004);
        inventory_ = 0;
        onChanged();
        return this;
      }

      private int defIndex_ ;
      /**
       * optional uint32 def_index = 4;
       * @return Whether the defIndex field is set.
       */
      @java.lang.Override
      public boolean hasDefIndex() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional uint32 def_index = 4;
       * @return The defIndex.
       */
      @java.lang.Override
      public int getDefIndex() {
        return defIndex_;
      }
      /**
       * optional uint32 def_index = 4;
       * @param value The defIndex to set.
       * @return This builder for chaining.
       */
      public Builder setDefIndex(int value) {

        defIndex_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional uint32 def_index = 4;
       * @return This builder for chaining.
       */
      public Builder clearDefIndex() {
        bitField0_ = (bitField0_ & ~0x00000008);
        defIndex_ = 0;
        onChanged();
        return this;
      }

      private int quantity_ ;
      /**
       * optional uint32 quantity = 5;
       * @return Whether the quantity field is set.
       */
      @java.lang.Override
      public boolean hasQuantity() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * optional uint32 quantity = 5;
       * @return The quantity.
       */
      @java.lang.Override
      public int getQuantity() {
        return quantity_;
      }
      /**
       * optional uint32 quantity = 5;
       * @param value The quantity to set.
       * @return This builder for chaining.
       */
      public Builder setQuantity(int value) {

        quantity_ = value;
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * optional uint32 quantity = 5;
       * @return This builder for chaining.
       */
      public Builder clearQuantity() {
        bitField0_ = (bitField0_ & ~0x00000010);
        quantity_ = 0;
        onChanged();
        return this;
      }

      private int level_ ;
      /**
       * optional uint32 level = 6;
       * @return Whether the level field is set.
       */
      @java.lang.Override
      public boolean hasLevel() {
        return ((bitField0_ & 0x00000020) != 0);
      }
      /**
       * optional uint32 level = 6;
       * @return The level.
       */
      @java.lang.Override
      public int getLevel() {
        return level_;
      }
      /**
       * optional uint32 level = 6;
       * @param value The level to set.
       * @return This builder for chaining.
       */
      public Builder setLevel(int value) {

        level_ = value;
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * optional uint32 level = 6;
       * @return This builder for chaining.
       */
      public Builder clearLevel() {
        bitField0_ = (bitField0_ & ~0x00000020);
        level_ = 0;
        onChanged();
        return this;
      }

      private int quality_ ;
      /**
       * optional uint32 quality = 7;
       * @return Whether the quality field is set.
       */
      @java.lang.Override
      public boolean hasQuality() {
        return ((bitField0_ & 0x00000040) != 0);
      }
      /**
       * optional uint32 quality = 7;
       * @return The quality.
       */
      @java.lang.Override
      public int getQuality() {
        return quality_;
      }
      /**
       * optional uint32 quality = 7;
       * @param value The quality to set.
       * @return This builder for chaining.
       */
      public Builder setQuality(int value) {

        quality_ = value;
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }
      /**
       * optional uint32 quality = 7;
       * @return This builder for chaining.
       */
      public Builder clearQuality() {
        bitField0_ = (bitField0_ & ~0x00000040);
        quality_ = 0;
        onChanged();
        return this;
      }

      private int flags_ ;
      /**
       * optional uint32 flags = 8 [default = 0];
       * @return Whether the flags field is set.
       */
      @java.lang.Override
      public boolean hasFlags() {
        return ((bitField0_ & 0x00000080) != 0);
      }
      /**
       * optional uint32 flags = 8 [default = 0];
       * @return The flags.
       */
      @java.lang.Override
      public int getFlags() {
        return flags_;
      }
      /**
       * optional uint32 flags = 8 [default = 0];
       * @param value The flags to set.
       * @return This builder for chaining.
       */
      public Builder setFlags(int value) {

        flags_ = value;
        bitField0_ |= 0x00000080;
        onChanged();
        return this;
      }
      /**
       * optional uint32 flags = 8 [default = 0];
       * @return This builder for chaining.
       */
      public Builder clearFlags() {
        bitField0_ = (bitField0_ & ~0x00000080);
        flags_ = 0;
        onChanged();
        return this;
      }

      private int origin_ ;
      /**
       * optional uint32 origin = 9;
       * @return Whether the origin field is set.
       */
      @java.lang.Override
      public boolean hasOrigin() {
        return ((bitField0_ & 0x00000100) != 0);
      }
      /**
       * optional uint32 origin = 9;
       * @return The origin.
       */
      @java.lang.Override
      public int getOrigin() {
        return origin_;
      }
      /**
       * optional uint32 origin = 9;
       * @param value The origin to set.
       * @return This builder for chaining.
       */
      public Builder setOrigin(int value) {

        origin_ = value;
        bitField0_ |= 0x00000100;
        onChanged();
        return this;
      }
      /**
       * optional uint32 origin = 9;
       * @return This builder for chaining.
       */
      public Builder clearOrigin() {
        bitField0_ = (bitField0_ & ~0x00000100);
        origin_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object customName_ = "";
      /**
       * optional string custom_name = 10;
       * @return Whether the customName field is set.
       */
      public boolean hasCustomName() {
        return ((bitField0_ & 0x00000200) != 0);
      }
      /**
       * optional string custom_name = 10;
       * @return The customName.
       */
      public java.lang.String getCustomName() {
        java.lang.Object ref = customName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            customName_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string custom_name = 10;
       * @return The bytes for customName.
       */
      public com.google.protobuf.ByteString
          getCustomNameBytes() {
        java.lang.Object ref = customName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          customName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string custom_name = 10;
       * @param value The customName to set.
       * @return This builder for chaining.
       */
      public Builder setCustomName(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        customName_ = value;
        bitField0_ |= 0x00000200;
        onChanged();
        return this;
      }
      /**
       * optional string custom_name = 10;
       * @return This builder for chaining.
       */
      public Builder clearCustomName() {
        customName_ = getDefaultInstance().getCustomName();
        bitField0_ = (bitField0_ & ~0x00000200);
        onChanged();
        return this;
      }
      /**
       * optional string custom_name = 10;
       * @param value The bytes for customName to set.
       * @return This builder for chaining.
       */
      public Builder setCustomNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        customName_ = value;
        bitField0_ |= 0x00000200;
        onChanged();
        return this;
      }

      private java.lang.Object customDesc_ = "";
      /**
       * optional string custom_desc = 11;
       * @return Whether the customDesc field is set.
       */
      public boolean hasCustomDesc() {
        return ((bitField0_ & 0x00000400) != 0);
      }
      /**
       * optional string custom_desc = 11;
       * @return The customDesc.
       */
      public java.lang.String getCustomDesc() {
        java.lang.Object ref = customDesc_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            customDesc_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string custom_desc = 11;
       * @return The bytes for customDesc.
       */
      public com.google.protobuf.ByteString
          getCustomDescBytes() {
        java.lang.Object ref = customDesc_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          customDesc_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string custom_desc = 11;
       * @param value The customDesc to set.
       * @return This builder for chaining.
       */
      public Builder setCustomDesc(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        customDesc_ = value;
        bitField0_ |= 0x00000400;
        onChanged();
        return this;
      }
      /**
       * optional string custom_desc = 11;
       * @return This builder for chaining.
       */
      public Builder clearCustomDesc() {
        customDesc_ = getDefaultInstance().getCustomDesc();
        bitField0_ = (bitField0_ & ~0x00000400);
        onChanged();
        return this;
      }
      /**
       * optional string custom_desc = 11;
       * @param value The bytes for customDesc to set.
       * @return This builder for chaining.
       */
      public Builder setCustomDescBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        customDesc_ = value;
        bitField0_ |= 0x00000400;
        onChanged();
        return this;
      }

      private java.util.List attribute_ =
        java.util.Collections.emptyList();
      private void ensureAttributeIsMutable() {
        if (!((bitField0_ & 0x00000800) != 0)) {
          attribute_ = new java.util.ArrayList(attribute_);
          bitField0_ |= 0x00000800;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttributeOrBuilder> attributeBuilder_;

      /**
       * repeated .CSOEconItemAttribute attribute = 12;
       */
      public java.util.List getAttributeList() {
        if (attributeBuilder_ == null) {
          return java.util.Collections.unmodifiableList(attribute_);
        } else {
          return attributeBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CSOEconItemAttribute attribute = 12;
       */
      public int getAttributeCount() {
        if (attributeBuilder_ == null) {
          return attribute_.size();
        } else {
          return attributeBuilder_.getCount();
        }
      }
      /**
       * repeated .CSOEconItemAttribute attribute = 12;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute getAttribute(int index) {
        if (attributeBuilder_ == null) {
          return attribute_.get(index);
        } else {
          return attributeBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CSOEconItemAttribute attribute = 12;
       */
      public Builder setAttribute(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute value) {
        if (attributeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAttributeIsMutable();
          attribute_.set(index, value);
          onChanged();
        } else {
          attributeBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CSOEconItemAttribute attribute = 12;
       */
      public Builder setAttribute(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute.Builder builderForValue) {
        if (attributeBuilder_ == null) {
          ensureAttributeIsMutable();
          attribute_.set(index, builderForValue.build());
          onChanged();
        } else {
          attributeBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CSOEconItemAttribute attribute = 12;
       */
      public Builder addAttribute(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute value) {
        if (attributeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAttributeIsMutable();
          attribute_.add(value);
          onChanged();
        } else {
          attributeBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CSOEconItemAttribute attribute = 12;
       */
      public Builder addAttribute(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute value) {
        if (attributeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAttributeIsMutable();
          attribute_.add(index, value);
          onChanged();
        } else {
          attributeBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CSOEconItemAttribute attribute = 12;
       */
      public Builder addAttribute(
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute.Builder builderForValue) {
        if (attributeBuilder_ == null) {
          ensureAttributeIsMutable();
          attribute_.add(builderForValue.build());
          onChanged();
        } else {
          attributeBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CSOEconItemAttribute attribute = 12;
       */
      public Builder addAttribute(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute.Builder builderForValue) {
        if (attributeBuilder_ == null) {
          ensureAttributeIsMutable();
          attribute_.add(index, builderForValue.build());
          onChanged();
        } else {
          attributeBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CSOEconItemAttribute attribute = 12;
       */
      public Builder addAllAttribute(
          java.lang.Iterable values) {
        if (attributeBuilder_ == null) {
          ensureAttributeIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, attribute_);
          onChanged();
        } else {
          attributeBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CSOEconItemAttribute attribute = 12;
       */
      public Builder clearAttribute() {
        if (attributeBuilder_ == null) {
          attribute_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000800);
          onChanged();
        } else {
          attributeBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CSOEconItemAttribute attribute = 12;
       */
      public Builder removeAttribute(int index) {
        if (attributeBuilder_ == null) {
          ensureAttributeIsMutable();
          attribute_.remove(index);
          onChanged();
        } else {
          attributeBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CSOEconItemAttribute attribute = 12;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute.Builder getAttributeBuilder(
          int index) {
        return getAttributeFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CSOEconItemAttribute attribute = 12;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttributeOrBuilder getAttributeOrBuilder(
          int index) {
        if (attributeBuilder_ == null) {
          return attribute_.get(index);  } else {
          return attributeBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CSOEconItemAttribute attribute = 12;
       */
      public java.util.List 
           getAttributeOrBuilderList() {
        if (attributeBuilder_ != null) {
          return attributeBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(attribute_);
        }
      }
      /**
       * repeated .CSOEconItemAttribute attribute = 12;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute.Builder addAttributeBuilder() {
        return getAttributeFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute.getDefaultInstance());
      }
      /**
       * repeated .CSOEconItemAttribute attribute = 12;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute.Builder addAttributeBuilder(
          int index) {
        return getAttributeFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute.getDefaultInstance());
      }
      /**
       * repeated .CSOEconItemAttribute attribute = 12;
       */
      public java.util.List 
           getAttributeBuilderList() {
        return getAttributeFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttributeOrBuilder> 
          getAttributeFieldBuilder() {
        if (attributeBuilder_ == null) {
          attributeBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttribute.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemAttributeOrBuilder>(
                  attribute_,
                  ((bitField0_ & 0x00000800) != 0),
                  getParentForChildren(),
                  isClean());
          attribute_ = null;
        }
        return attributeBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem interiorItem_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemOrBuilder> interiorItemBuilder_;
      /**
       * optional .CSOEconItem interior_item = 13;
       * @return Whether the interiorItem field is set.
       */
      public boolean hasInteriorItem() {
        return ((bitField0_ & 0x00001000) != 0);
      }
      /**
       * optional .CSOEconItem interior_item = 13;
       * @return The interiorItem.
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem getInteriorItem() {
        if (interiorItemBuilder_ == null) {
          return interiorItem_ == null ? in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem.getDefaultInstance() : interiorItem_;
        } else {
          return interiorItemBuilder_.getMessage();
        }
      }
      /**
       * optional .CSOEconItem interior_item = 13;
       */
      public Builder setInteriorItem(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem value) {
        if (interiorItemBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          interiorItem_ = value;
        } else {
          interiorItemBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00001000;
        onChanged();
        return this;
      }
      /**
       * optional .CSOEconItem interior_item = 13;
       */
      public Builder setInteriorItem(
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem.Builder builderForValue) {
        if (interiorItemBuilder_ == null) {
          interiorItem_ = builderForValue.build();
        } else {
          interiorItemBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00001000;
        onChanged();
        return this;
      }
      /**
       * optional .CSOEconItem interior_item = 13;
       */
      public Builder mergeInteriorItem(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem value) {
        if (interiorItemBuilder_ == null) {
          if (((bitField0_ & 0x00001000) != 0) &&
            interiorItem_ != null &&
            interiorItem_ != in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem.getDefaultInstance()) {
            getInteriorItemBuilder().mergeFrom(value);
          } else {
            interiorItem_ = value;
          }
        } else {
          interiorItemBuilder_.mergeFrom(value);
        }
        if (interiorItem_ != null) {
          bitField0_ |= 0x00001000;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CSOEconItem interior_item = 13;
       */
      public Builder clearInteriorItem() {
        bitField0_ = (bitField0_ & ~0x00001000);
        interiorItem_ = null;
        if (interiorItemBuilder_ != null) {
          interiorItemBuilder_.dispose();
          interiorItemBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CSOEconItem interior_item = 13;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem.Builder getInteriorItemBuilder() {
        bitField0_ |= 0x00001000;
        onChanged();
        return getInteriorItemFieldBuilder().getBuilder();
      }
      /**
       * optional .CSOEconItem interior_item = 13;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemOrBuilder getInteriorItemOrBuilder() {
        if (interiorItemBuilder_ != null) {
          return interiorItemBuilder_.getMessageOrBuilder();
        } else {
          return interiorItem_ == null ?
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem.getDefaultInstance() : interiorItem_;
        }
      }
      /**
       * optional .CSOEconItem interior_item = 13;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemOrBuilder> 
          getInteriorItemFieldBuilder() {
        if (interiorItemBuilder_ == null) {
          interiorItemBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemOrBuilder>(
                  getInteriorItem(),
                  getParentForChildren(),
                  isClean());
          interiorItem_ = null;
        }
        return interiorItemBuilder_;
      }

      private boolean inUse_ ;
      /**
       * optional bool in_use = 14 [default = false];
       * @return Whether the inUse field is set.
       */
      @java.lang.Override
      public boolean hasInUse() {
        return ((bitField0_ & 0x00002000) != 0);
      }
      /**
       * optional bool in_use = 14 [default = false];
       * @return The inUse.
       */
      @java.lang.Override
      public boolean getInUse() {
        return inUse_;
      }
      /**
       * optional bool in_use = 14 [default = false];
       * @param value The inUse to set.
       * @return This builder for chaining.
       */
      public Builder setInUse(boolean value) {

        inUse_ = value;
        bitField0_ |= 0x00002000;
        onChanged();
        return this;
      }
      /**
       * optional bool in_use = 14 [default = false];
       * @return This builder for chaining.
       */
      public Builder clearInUse() {
        bitField0_ = (bitField0_ & ~0x00002000);
        inUse_ = false;
        onChanged();
        return this;
      }

      private int style_ ;
      /**
       * optional uint32 style = 15 [default = 0];
       * @return Whether the style field is set.
       */
      @java.lang.Override
      public boolean hasStyle() {
        return ((bitField0_ & 0x00004000) != 0);
      }
      /**
       * optional uint32 style = 15 [default = 0];
       * @return The style.
       */
      @java.lang.Override
      public int getStyle() {
        return style_;
      }
      /**
       * optional uint32 style = 15 [default = 0];
       * @param value The style to set.
       * @return This builder for chaining.
       */
      public Builder setStyle(int value) {

        style_ = value;
        bitField0_ |= 0x00004000;
        onChanged();
        return this;
      }
      /**
       * optional uint32 style = 15 [default = 0];
       * @return This builder for chaining.
       */
      public Builder clearStyle() {
        bitField0_ = (bitField0_ & ~0x00004000);
        style_ = 0;
        onChanged();
        return this;
      }

      private long originalId_ ;
      /**
       * optional uint64 original_id = 16 [default = 0];
       * @return Whether the originalId field is set.
       */
      @java.lang.Override
      public boolean hasOriginalId() {
        return ((bitField0_ & 0x00008000) != 0);
      }
      /**
       * optional uint64 original_id = 16 [default = 0];
       * @return The originalId.
       */
      @java.lang.Override
      public long getOriginalId() {
        return originalId_;
      }
      /**
       * optional uint64 original_id = 16 [default = 0];
       * @param value The originalId to set.
       * @return This builder for chaining.
       */
      public Builder setOriginalId(long value) {

        originalId_ = value;
        bitField0_ |= 0x00008000;
        onChanged();
        return this;
      }
      /**
       * optional uint64 original_id = 16 [default = 0];
       * @return This builder for chaining.
       */
      public Builder clearOriginalId() {
        bitField0_ = (bitField0_ & ~0x00008000);
        originalId_ = 0L;
        onChanged();
        return this;
      }

      private boolean containsEquippedState_ ;
      /**
       * optional bool contains_equipped_state = 17;
       * @return Whether the containsEquippedState field is set.
       */
      @java.lang.Override
      public boolean hasContainsEquippedState() {
        return ((bitField0_ & 0x00010000) != 0);
      }
      /**
       * optional bool contains_equipped_state = 17;
       * @return The containsEquippedState.
       */
      @java.lang.Override
      public boolean getContainsEquippedState() {
        return containsEquippedState_;
      }
      /**
       * optional bool contains_equipped_state = 17;
       * @param value The containsEquippedState to set.
       * @return This builder for chaining.
       */
      public Builder setContainsEquippedState(boolean value) {

        containsEquippedState_ = value;
        bitField0_ |= 0x00010000;
        onChanged();
        return this;
      }
      /**
       * optional bool contains_equipped_state = 17;
       * @return This builder for chaining.
       */
      public Builder clearContainsEquippedState() {
        bitField0_ = (bitField0_ & ~0x00010000);
        containsEquippedState_ = false;
        onChanged();
        return this;
      }

      private java.util.List equippedState_ =
        java.util.Collections.emptyList();
      private void ensureEquippedStateIsMutable() {
        if (!((bitField0_ & 0x00020000) != 0)) {
          equippedState_ = new java.util.ArrayList(equippedState_);
          bitField0_ |= 0x00020000;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquippedOrBuilder> equippedStateBuilder_;

      /**
       * repeated .CSOEconItemEquipped equipped_state = 18;
       */
      public java.util.List getEquippedStateList() {
        if (equippedStateBuilder_ == null) {
          return java.util.Collections.unmodifiableList(equippedState_);
        } else {
          return equippedStateBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CSOEconItemEquipped equipped_state = 18;
       */
      public int getEquippedStateCount() {
        if (equippedStateBuilder_ == null) {
          return equippedState_.size();
        } else {
          return equippedStateBuilder_.getCount();
        }
      }
      /**
       * repeated .CSOEconItemEquipped equipped_state = 18;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped getEquippedState(int index) {
        if (equippedStateBuilder_ == null) {
          return equippedState_.get(index);
        } else {
          return equippedStateBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CSOEconItemEquipped equipped_state = 18;
       */
      public Builder setEquippedState(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped value) {
        if (equippedStateBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEquippedStateIsMutable();
          equippedState_.set(index, value);
          onChanged();
        } else {
          equippedStateBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CSOEconItemEquipped equipped_state = 18;
       */
      public Builder setEquippedState(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped.Builder builderForValue) {
        if (equippedStateBuilder_ == null) {
          ensureEquippedStateIsMutable();
          equippedState_.set(index, builderForValue.build());
          onChanged();
        } else {
          equippedStateBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CSOEconItemEquipped equipped_state = 18;
       */
      public Builder addEquippedState(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped value) {
        if (equippedStateBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEquippedStateIsMutable();
          equippedState_.add(value);
          onChanged();
        } else {
          equippedStateBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CSOEconItemEquipped equipped_state = 18;
       */
      public Builder addEquippedState(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped value) {
        if (equippedStateBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEquippedStateIsMutable();
          equippedState_.add(index, value);
          onChanged();
        } else {
          equippedStateBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CSOEconItemEquipped equipped_state = 18;
       */
      public Builder addEquippedState(
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped.Builder builderForValue) {
        if (equippedStateBuilder_ == null) {
          ensureEquippedStateIsMutable();
          equippedState_.add(builderForValue.build());
          onChanged();
        } else {
          equippedStateBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CSOEconItemEquipped equipped_state = 18;
       */
      public Builder addEquippedState(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped.Builder builderForValue) {
        if (equippedStateBuilder_ == null) {
          ensureEquippedStateIsMutable();
          equippedState_.add(index, builderForValue.build());
          onChanged();
        } else {
          equippedStateBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CSOEconItemEquipped equipped_state = 18;
       */
      public Builder addAllEquippedState(
          java.lang.Iterable values) {
        if (equippedStateBuilder_ == null) {
          ensureEquippedStateIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, equippedState_);
          onChanged();
        } else {
          equippedStateBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CSOEconItemEquipped equipped_state = 18;
       */
      public Builder clearEquippedState() {
        if (equippedStateBuilder_ == null) {
          equippedState_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00020000);
          onChanged();
        } else {
          equippedStateBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CSOEconItemEquipped equipped_state = 18;
       */
      public Builder removeEquippedState(int index) {
        if (equippedStateBuilder_ == null) {
          ensureEquippedStateIsMutable();
          equippedState_.remove(index);
          onChanged();
        } else {
          equippedStateBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CSOEconItemEquipped equipped_state = 18;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped.Builder getEquippedStateBuilder(
          int index) {
        return getEquippedStateFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CSOEconItemEquipped equipped_state = 18;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquippedOrBuilder getEquippedStateOrBuilder(
          int index) {
        if (equippedStateBuilder_ == null) {
          return equippedState_.get(index);  } else {
          return equippedStateBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CSOEconItemEquipped equipped_state = 18;
       */
      public java.util.List 
           getEquippedStateOrBuilderList() {
        if (equippedStateBuilder_ != null) {
          return equippedStateBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(equippedState_);
        }
      }
      /**
       * repeated .CSOEconItemEquipped equipped_state = 18;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped.Builder addEquippedStateBuilder() {
        return getEquippedStateFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped.getDefaultInstance());
      }
      /**
       * repeated .CSOEconItemEquipped equipped_state = 18;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped.Builder addEquippedStateBuilder(
          int index) {
        return getEquippedStateFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped.getDefaultInstance());
      }
      /**
       * repeated .CSOEconItemEquipped equipped_state = 18;
       */
      public java.util.List 
           getEquippedStateBuilderList() {
        return getEquippedStateFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquippedOrBuilder> 
          getEquippedStateFieldBuilder() {
        if (equippedStateBuilder_ == null) {
          equippedStateBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquipped.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemEquippedOrBuilder>(
                  equippedState_,
                  ((bitField0_ & 0x00020000) != 0),
                  getParentForChildren(),
                  isClean());
          equippedState_ = null;
        }
        return equippedStateBuilder_;
      }

      private boolean containsEquippedStateV2_ ;
      /**
       * optional bool contains_equipped_state_v2 = 19;
       * @return Whether the containsEquippedStateV2 field is set.
       */
      @java.lang.Override
      public boolean hasContainsEquippedStateV2() {
        return ((bitField0_ & 0x00040000) != 0);
      }
      /**
       * optional bool contains_equipped_state_v2 = 19;
       * @return The containsEquippedStateV2.
       */
      @java.lang.Override
      public boolean getContainsEquippedStateV2() {
        return containsEquippedStateV2_;
      }
      /**
       * optional bool contains_equipped_state_v2 = 19;
       * @param value The containsEquippedStateV2 to set.
       * @return This builder for chaining.
       */
      public Builder setContainsEquippedStateV2(boolean value) {

        containsEquippedStateV2_ = value;
        bitField0_ |= 0x00040000;
        onChanged();
        return this;
      }
      /**
       * optional bool contains_equipped_state_v2 = 19;
       * @return This builder for chaining.
       */
      public Builder clearContainsEquippedStateV2() {
        bitField0_ = (bitField0_ & ~0x00040000);
        containsEquippedStateV2_ = false;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CSOEconItem)
    }

    // @@protoc_insertion_point(class_scope:CSOEconItem)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CSOEconItem 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItem getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint64 item_id = 1;
     * @return Whether the itemId field is set.
     */
    boolean hasItemId();
    /**
     * optional uint64 item_id = 1;
     * @return The itemId.
     */
    long getItemId();

    /**
     * optional uint32 new_class = 2;
     * @return Whether the newClass field is set.
     */
    boolean hasNewClass();
    /**
     * optional uint32 new_class = 2;
     * @return The newClass.
     */
    int getNewClass();

    /**
     * optional uint32 new_slot = 3;
     * @return Whether the newSlot field is set.
     */
    boolean hasNewSlot();
    /**
     * optional uint32 new_slot = 3;
     * @return The newSlot.
     */
    int getNewSlot();
  }
  /**
   * Protobuf type {@code CMsgAdjustItemEquippedState}
   */
  public static final class CMsgAdjustItemEquippedState extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgAdjustItemEquippedState)
      CMsgAdjustItemEquippedStateOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgAdjustItemEquippedState.class.getName());
    }
    // Use CMsgAdjustItemEquippedState.newBuilder() to construct.
    private CMsgAdjustItemEquippedState(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgAdjustItemEquippedState() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgAdjustItemEquippedState_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgAdjustItemEquippedState_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState.Builder.class);
    }

    private int bitField0_;
    public static final int ITEM_ID_FIELD_NUMBER = 1;
    private long itemId_ = 0L;
    /**
     * optional uint64 item_id = 1;
     * @return Whether the itemId field is set.
     */
    @java.lang.Override
    public boolean hasItemId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint64 item_id = 1;
     * @return The itemId.
     */
    @java.lang.Override
    public long getItemId() {
      return itemId_;
    }

    public static final int NEW_CLASS_FIELD_NUMBER = 2;
    private int newClass_ = 0;
    /**
     * optional uint32 new_class = 2;
     * @return Whether the newClass field is set.
     */
    @java.lang.Override
    public boolean hasNewClass() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint32 new_class = 2;
     * @return The newClass.
     */
    @java.lang.Override
    public int getNewClass() {
      return newClass_;
    }

    public static final int NEW_SLOT_FIELD_NUMBER = 3;
    private int newSlot_ = 0;
    /**
     * optional uint32 new_slot = 3;
     * @return Whether the newSlot field is set.
     */
    @java.lang.Override
    public boolean hasNewSlot() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional uint32 new_slot = 3;
     * @return The newSlot.
     */
    @java.lang.Override
    public int getNewSlot() {
      return newSlot_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt64(1, itemId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeUInt32(2, newClass_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeUInt32(3, newSlot_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, itemId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, newClass_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, newSlot_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState) obj;

      if (hasItemId() != other.hasItemId()) return false;
      if (hasItemId()) {
        if (getItemId()
            != other.getItemId()) return false;
      }
      if (hasNewClass() != other.hasNewClass()) return false;
      if (hasNewClass()) {
        if (getNewClass()
            != other.getNewClass()) return false;
      }
      if (hasNewSlot() != other.hasNewSlot()) return false;
      if (hasNewSlot()) {
        if (getNewSlot()
            != other.getNewSlot()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasItemId()) {
        hash = (37 * hash) + ITEM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getItemId());
      }
      if (hasNewClass()) {
        hash = (37 * hash) + NEW_CLASS_FIELD_NUMBER;
        hash = (53 * hash) + getNewClass();
      }
      if (hasNewSlot()) {
        hash = (37 * hash) + NEW_SLOT_FIELD_NUMBER;
        hash = (53 * hash) + getNewSlot();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgAdjustItemEquippedState}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgAdjustItemEquippedState)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedStateOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgAdjustItemEquippedState_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgAdjustItemEquippedState_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        itemId_ = 0L;
        newClass_ = 0;
        newSlot_ = 0;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgAdjustItemEquippedState_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.itemId_ = itemId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.newClass_ = newClass_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.newSlot_ = newSlot_;
          to_bitField0_ |= 0x00000004;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState.getDefaultInstance()) return this;
        if (other.hasItemId()) {
          setItemId(other.getItemId());
        }
        if (other.hasNewClass()) {
          setNewClass(other.getNewClass());
        }
        if (other.hasNewSlot()) {
          setNewSlot(other.getNewSlot());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                itemId_ = input.readUInt64();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                newClass_ = input.readUInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 24: {
                newSlot_ = input.readUInt32();
                bitField0_ |= 0x00000004;
                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 bitField0_;

      private long itemId_ ;
      /**
       * optional uint64 item_id = 1;
       * @return Whether the itemId field is set.
       */
      @java.lang.Override
      public boolean hasItemId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint64 item_id = 1;
       * @return The itemId.
       */
      @java.lang.Override
      public long getItemId() {
        return itemId_;
      }
      /**
       * optional uint64 item_id = 1;
       * @param value The itemId to set.
       * @return This builder for chaining.
       */
      public Builder setItemId(long value) {

        itemId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint64 item_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearItemId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        itemId_ = 0L;
        onChanged();
        return this;
      }

      private int newClass_ ;
      /**
       * optional uint32 new_class = 2;
       * @return Whether the newClass field is set.
       */
      @java.lang.Override
      public boolean hasNewClass() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint32 new_class = 2;
       * @return The newClass.
       */
      @java.lang.Override
      public int getNewClass() {
        return newClass_;
      }
      /**
       * optional uint32 new_class = 2;
       * @param value The newClass to set.
       * @return This builder for chaining.
       */
      public Builder setNewClass(int value) {

        newClass_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint32 new_class = 2;
       * @return This builder for chaining.
       */
      public Builder clearNewClass() {
        bitField0_ = (bitField0_ & ~0x00000002);
        newClass_ = 0;
        onChanged();
        return this;
      }

      private int newSlot_ ;
      /**
       * optional uint32 new_slot = 3;
       * @return Whether the newSlot field is set.
       */
      @java.lang.Override
      public boolean hasNewSlot() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional uint32 new_slot = 3;
       * @return The newSlot.
       */
      @java.lang.Override
      public int getNewSlot() {
        return newSlot_;
      }
      /**
       * optional uint32 new_slot = 3;
       * @param value The newSlot to set.
       * @return This builder for chaining.
       */
      public Builder setNewSlot(int value) {

        newSlot_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional uint32 new_slot = 3;
       * @return This builder for chaining.
       */
      public Builder clearNewSlot() {
        bitField0_ = (bitField0_ & ~0x00000004);
        newSlot_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgAdjustItemEquippedState)
    }

    // @@protoc_insertion_point(class_scope:CMsgAdjustItemEquippedState)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgAdjustItemEquippedState 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgAdjustItemEquippedState getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint32 sort_type = 1;
     * @return Whether the sortType field is set.
     */
    boolean hasSortType();
    /**
     * optional uint32 sort_type = 1;
     * @return The sortType.
     */
    int getSortType();
  }
  /**
   * Protobuf type {@code CMsgSortItems}
   */
  public static final class CMsgSortItems extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgSortItems)
      CMsgSortItemsOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgSortItems.class.getName());
    }
    // Use CMsgSortItems.newBuilder() to construct.
    private CMsgSortItems(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgSortItems() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSortItems_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSortItems_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems.Builder.class);
    }

    private int bitField0_;
    public static final int SORT_TYPE_FIELD_NUMBER = 1;
    private int sortType_ = 0;
    /**
     * optional uint32 sort_type = 1;
     * @return Whether the sortType field is set.
     */
    @java.lang.Override
    public boolean hasSortType() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 sort_type = 1;
     * @return The sortType.
     */
    @java.lang.Override
    public int getSortType() {
      return sortType_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt32(1, sortType_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, sortType_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems) obj;

      if (hasSortType() != other.hasSortType()) return false;
      if (hasSortType()) {
        if (getSortType()
            != other.getSortType()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

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

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgSortItems}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgSortItems)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItemsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSortItems_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSortItems_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        sortType_ = 0;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSortItems_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.sortType_ = sortType_;
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems.getDefaultInstance()) return this;
        if (other.hasSortType()) {
          setSortType(other.getSortType());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                sortType_ = input.readUInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              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 int sortType_ ;
      /**
       * optional uint32 sort_type = 1;
       * @return Whether the sortType field is set.
       */
      @java.lang.Override
      public boolean hasSortType() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 sort_type = 1;
       * @return The sortType.
       */
      @java.lang.Override
      public int getSortType() {
        return sortType_;
      }
      /**
       * optional uint32 sort_type = 1;
       * @param value The sortType to set.
       * @return This builder for chaining.
       */
      public Builder setSortType(int value) {

        sortType_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint32 sort_type = 1;
       * @return This builder for chaining.
       */
      public Builder clearSortType() {
        bitField0_ = (bitField0_ & ~0x00000001);
        sortType_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgSortItems)
    }

    // @@protoc_insertion_point(class_scope:CMsgSortItems)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgSortItems 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSortItems getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint32 account_id = 1;
     * @return Whether the accountId field is set.
     */
    boolean hasAccountId();
    /**
     * optional uint32 account_id = 1;
     * @return The accountId.
     */
    int getAccountId();

    /**
     * optional uint32 code_type = 2;
     * @return Whether the codeType field is set.
     */
    boolean hasCodeType();
    /**
     * optional uint32 code_type = 2;
     * @return The codeType.
     */
    int getCodeType();

    /**
     * optional uint32 time_acquired = 3;
     * @return Whether the timeAcquired field is set.
     */
    boolean hasTimeAcquired();
    /**
     * optional uint32 time_acquired = 3;
     * @return The timeAcquired.
     */
    int getTimeAcquired();

    /**
     * optional string code = 4;
     * @return Whether the code field is set.
     */
    boolean hasCode();
    /**
     * optional string code = 4;
     * @return The code.
     */
    java.lang.String getCode();
    /**
     * optional string code = 4;
     * @return The bytes for code.
     */
    com.google.protobuf.ByteString
        getCodeBytes();
  }
  /**
   * Protobuf type {@code CSOEconClaimCode}
   */
  public static final class CSOEconClaimCode extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CSOEconClaimCode)
      CSOEconClaimCodeOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CSOEconClaimCode.class.getName());
    }
    // Use CSOEconClaimCode.newBuilder() to construct.
    private CSOEconClaimCode(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CSOEconClaimCode() {
      code_ = "";
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconClaimCode_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconClaimCode_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode.Builder.class);
    }

    private int bitField0_;
    public static final int ACCOUNT_ID_FIELD_NUMBER = 1;
    private int accountId_ = 0;
    /**
     * optional uint32 account_id = 1;
     * @return Whether the accountId field is set.
     */
    @java.lang.Override
    public boolean hasAccountId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 account_id = 1;
     * @return The accountId.
     */
    @java.lang.Override
    public int getAccountId() {
      return accountId_;
    }

    public static final int CODE_TYPE_FIELD_NUMBER = 2;
    private int codeType_ = 0;
    /**
     * optional uint32 code_type = 2;
     * @return Whether the codeType field is set.
     */
    @java.lang.Override
    public boolean hasCodeType() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint32 code_type = 2;
     * @return The codeType.
     */
    @java.lang.Override
    public int getCodeType() {
      return codeType_;
    }

    public static final int TIME_ACQUIRED_FIELD_NUMBER = 3;
    private int timeAcquired_ = 0;
    /**
     * optional uint32 time_acquired = 3;
     * @return Whether the timeAcquired field is set.
     */
    @java.lang.Override
    public boolean hasTimeAcquired() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional uint32 time_acquired = 3;
     * @return The timeAcquired.
     */
    @java.lang.Override
    public int getTimeAcquired() {
      return timeAcquired_;
    }

    public static final int CODE_FIELD_NUMBER = 4;
    @SuppressWarnings("serial")
    private volatile java.lang.Object code_ = "";
    /**
     * optional string code = 4;
     * @return Whether the code field is set.
     */
    @java.lang.Override
    public boolean hasCode() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional string code = 4;
     * @return The code.
     */
    @java.lang.Override
    public java.lang.String getCode() {
      java.lang.Object ref = code_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          code_ = s;
        }
        return s;
      }
    }
    /**
     * optional string code = 4;
     * @return The bytes for code.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCodeBytes() {
      java.lang.Object ref = code_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        code_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt32(1, accountId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeUInt32(2, codeType_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeUInt32(3, timeAcquired_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 4, code_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, accountId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, codeType_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, timeAcquired_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(4, code_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode) obj;

      if (hasAccountId() != other.hasAccountId()) return false;
      if (hasAccountId()) {
        if (getAccountId()
            != other.getAccountId()) return false;
      }
      if (hasCodeType() != other.hasCodeType()) return false;
      if (hasCodeType()) {
        if (getCodeType()
            != other.getCodeType()) return false;
      }
      if (hasTimeAcquired() != other.hasTimeAcquired()) return false;
      if (hasTimeAcquired()) {
        if (getTimeAcquired()
            != other.getTimeAcquired()) return false;
      }
      if (hasCode() != other.hasCode()) return false;
      if (hasCode()) {
        if (!getCode()
            .equals(other.getCode())) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasAccountId()) {
        hash = (37 * hash) + ACCOUNT_ID_FIELD_NUMBER;
        hash = (53 * hash) + getAccountId();
      }
      if (hasCodeType()) {
        hash = (37 * hash) + CODE_TYPE_FIELD_NUMBER;
        hash = (53 * hash) + getCodeType();
      }
      if (hasTimeAcquired()) {
        hash = (37 * hash) + TIME_ACQUIRED_FIELD_NUMBER;
        hash = (53 * hash) + getTimeAcquired();
      }
      if (hasCode()) {
        hash = (37 * hash) + CODE_FIELD_NUMBER;
        hash = (53 * hash) + getCode().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSOEconClaimCode}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CSOEconClaimCode)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCodeOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconClaimCode_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconClaimCode_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        accountId_ = 0;
        codeType_ = 0;
        timeAcquired_ = 0;
        code_ = "";
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconClaimCode_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.accountId_ = accountId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.codeType_ = codeType_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.timeAcquired_ = timeAcquired_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.code_ = code_;
          to_bitField0_ |= 0x00000008;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode.getDefaultInstance()) return this;
        if (other.hasAccountId()) {
          setAccountId(other.getAccountId());
        }
        if (other.hasCodeType()) {
          setCodeType(other.getCodeType());
        }
        if (other.hasTimeAcquired()) {
          setTimeAcquired(other.getTimeAcquired());
        }
        if (other.hasCode()) {
          code_ = other.code_;
          bitField0_ |= 0x00000008;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                accountId_ = input.readUInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                codeType_ = input.readUInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 24: {
                timeAcquired_ = input.readUInt32();
                bitField0_ |= 0x00000004;
                break;
              } // case 24
              case 34: {
                code_ = input.readBytes();
                bitField0_ |= 0x00000008;
                break;
              } // case 34
              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 int accountId_ ;
      /**
       * optional uint32 account_id = 1;
       * @return Whether the accountId field is set.
       */
      @java.lang.Override
      public boolean hasAccountId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 account_id = 1;
       * @return The accountId.
       */
      @java.lang.Override
      public int getAccountId() {
        return accountId_;
      }
      /**
       * optional uint32 account_id = 1;
       * @param value The accountId to set.
       * @return This builder for chaining.
       */
      public Builder setAccountId(int value) {

        accountId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint32 account_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearAccountId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        accountId_ = 0;
        onChanged();
        return this;
      }

      private int codeType_ ;
      /**
       * optional uint32 code_type = 2;
       * @return Whether the codeType field is set.
       */
      @java.lang.Override
      public boolean hasCodeType() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint32 code_type = 2;
       * @return The codeType.
       */
      @java.lang.Override
      public int getCodeType() {
        return codeType_;
      }
      /**
       * optional uint32 code_type = 2;
       * @param value The codeType to set.
       * @return This builder for chaining.
       */
      public Builder setCodeType(int value) {

        codeType_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint32 code_type = 2;
       * @return This builder for chaining.
       */
      public Builder clearCodeType() {
        bitField0_ = (bitField0_ & ~0x00000002);
        codeType_ = 0;
        onChanged();
        return this;
      }

      private int timeAcquired_ ;
      /**
       * optional uint32 time_acquired = 3;
       * @return Whether the timeAcquired field is set.
       */
      @java.lang.Override
      public boolean hasTimeAcquired() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional uint32 time_acquired = 3;
       * @return The timeAcquired.
       */
      @java.lang.Override
      public int getTimeAcquired() {
        return timeAcquired_;
      }
      /**
       * optional uint32 time_acquired = 3;
       * @param value The timeAcquired to set.
       * @return This builder for chaining.
       */
      public Builder setTimeAcquired(int value) {

        timeAcquired_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional uint32 time_acquired = 3;
       * @return This builder for chaining.
       */
      public Builder clearTimeAcquired() {
        bitField0_ = (bitField0_ & ~0x00000004);
        timeAcquired_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object code_ = "";
      /**
       * optional string code = 4;
       * @return Whether the code field is set.
       */
      public boolean hasCode() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional string code = 4;
       * @return The code.
       */
      public java.lang.String getCode() {
        java.lang.Object ref = code_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            code_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string code = 4;
       * @return The bytes for code.
       */
      public com.google.protobuf.ByteString
          getCodeBytes() {
        java.lang.Object ref = code_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          code_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string code = 4;
       * @param value The code to set.
       * @return This builder for chaining.
       */
      public Builder setCode(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        code_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional string code = 4;
       * @return This builder for chaining.
       */
      public Builder clearCode() {
        code_ = getDefaultInstance().getCode();
        bitField0_ = (bitField0_ & ~0x00000008);
        onChanged();
        return this;
      }
      /**
       * optional string code = 4;
       * @param value The bytes for code to set.
       * @return This builder for chaining.
       */
      public Builder setCodeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        code_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CSOEconClaimCode)
    }

    // @@protoc_insertion_point(class_scope:CSOEconClaimCode)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CSOEconClaimCode 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconClaimCode getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional fixed32 price_sheet_version = 1;
     * @return Whether the priceSheetVersion field is set.
     */
    boolean hasPriceSheetVersion();
    /**
     * optional fixed32 price_sheet_version = 1;
     * @return The priceSheetVersion.
     */
    int getPriceSheetVersion();
  }
  /**
   * Protobuf type {@code CMsgStoreGetUserData}
   */
  public static final class CMsgStoreGetUserData extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgStoreGetUserData)
      CMsgStoreGetUserDataOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgStoreGetUserData.class.getName());
    }
    // Use CMsgStoreGetUserData.newBuilder() to construct.
    private CMsgStoreGetUserData(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgStoreGetUserData() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgStoreGetUserData_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgStoreGetUserData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData.Builder.class);
    }

    private int bitField0_;
    public static final int PRICE_SHEET_VERSION_FIELD_NUMBER = 1;
    private int priceSheetVersion_ = 0;
    /**
     * optional fixed32 price_sheet_version = 1;
     * @return Whether the priceSheetVersion field is set.
     */
    @java.lang.Override
    public boolean hasPriceSheetVersion() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional fixed32 price_sheet_version = 1;
     * @return The priceSheetVersion.
     */
    @java.lang.Override
    public int getPriceSheetVersion() {
      return priceSheetVersion_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeFixed32(1, priceSheetVersion_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(1, priceSheetVersion_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData) obj;

      if (hasPriceSheetVersion() != other.hasPriceSheetVersion()) return false;
      if (hasPriceSheetVersion()) {
        if (getPriceSheetVersion()
            != other.getPriceSheetVersion()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

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

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgStoreGetUserData}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgStoreGetUserData)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgStoreGetUserData_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgStoreGetUserData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        priceSheetVersion_ = 0;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgStoreGetUserData_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.priceSheetVersion_ = priceSheetVersion_;
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData.getDefaultInstance()) return this;
        if (other.hasPriceSheetVersion()) {
          setPriceSheetVersion(other.getPriceSheetVersion());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 13: {
                priceSheetVersion_ = input.readFixed32();
                bitField0_ |= 0x00000001;
                break;
              } // case 13
              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 int priceSheetVersion_ ;
      /**
       * optional fixed32 price_sheet_version = 1;
       * @return Whether the priceSheetVersion field is set.
       */
      @java.lang.Override
      public boolean hasPriceSheetVersion() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional fixed32 price_sheet_version = 1;
       * @return The priceSheetVersion.
       */
      @java.lang.Override
      public int getPriceSheetVersion() {
        return priceSheetVersion_;
      }
      /**
       * optional fixed32 price_sheet_version = 1;
       * @param value The priceSheetVersion to set.
       * @return This builder for chaining.
       */
      public Builder setPriceSheetVersion(int value) {

        priceSheetVersion_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional fixed32 price_sheet_version = 1;
       * @return This builder for chaining.
       */
      public Builder clearPriceSheetVersion() {
        bitField0_ = (bitField0_ & ~0x00000001);
        priceSheetVersion_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgStoreGetUserData)
    }

    // @@protoc_insertion_point(class_scope:CMsgStoreGetUserData)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgStoreGetUserData 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserData getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional int32 result = 1;
     * @return Whether the result field is set.
     */
    boolean hasResult();
    /**
     * optional int32 result = 1;
     * @return The result.
     */
    int getResult();

    /**
     * optional int32 currency = 2;
     * @return Whether the currency field is set.
     */
    boolean hasCurrency();
    /**
     * optional int32 currency = 2;
     * @return The currency.
     */
    int getCurrency();

    /**
     * optional string country = 3;
     * @return Whether the country field is set.
     */
    boolean hasCountry();
    /**
     * optional string country = 3;
     * @return The country.
     */
    java.lang.String getCountry();
    /**
     * optional string country = 3;
     * @return The bytes for country.
     */
    com.google.protobuf.ByteString
        getCountryBytes();

    /**
     * optional fixed32 price_sheet_version = 4;
     * @return Whether the priceSheetVersion field is set.
     */
    boolean hasPriceSheetVersion();
    /**
     * optional fixed32 price_sheet_version = 4;
     * @return The priceSheetVersion.
     */
    int getPriceSheetVersion();

    /**
     * optional uint64 experiment_data = 5 [default = 0];
     * @return Whether the experimentData field is set.
     */
    boolean hasExperimentData();
    /**
     * optional uint64 experiment_data = 5 [default = 0];
     * @return The experimentData.
     */
    long getExperimentData();

    /**
     * optional int32 featured_item_idx = 6;
     * @return Whether the featuredItemIdx field is set.
     */
    boolean hasFeaturedItemIdx();
    /**
     * optional int32 featured_item_idx = 6;
     * @return The featuredItemIdx.
     */
    int getFeaturedItemIdx();

    /**
     * optional bool show_hat_descriptions = 7 [default = true];
     * @return Whether the showHatDescriptions field is set.
     */
    boolean hasShowHatDescriptions();
    /**
     * optional bool show_hat_descriptions = 7 [default = true];
     * @return The showHatDescriptions.
     */
    boolean getShowHatDescriptions();

    /**
     * optional bytes price_sheet = 8;
     * @return Whether the priceSheet field is set.
     */
    boolean hasPriceSheet();
    /**
     * optional bytes price_sheet = 8;
     * @return The priceSheet.
     */
    com.google.protobuf.ByteString getPriceSheet();

    /**
     * optional int32 default_item_sort = 9 [default = 0];
     * @return Whether the defaultItemSort field is set.
     */
    boolean hasDefaultItemSort();
    /**
     * optional int32 default_item_sort = 9 [default = 0];
     * @return The defaultItemSort.
     */
    int getDefaultItemSort();

    /**
     * repeated uint32 popular_items = 10;
     * @return A list containing the popularItems.
     */
    java.util.List getPopularItemsList();
    /**
     * repeated uint32 popular_items = 10;
     * @return The count of popularItems.
     */
    int getPopularItemsCount();
    /**
     * repeated uint32 popular_items = 10;
     * @param index The index of the element to return.
     * @return The popularItems at the given index.
     */
    int getPopularItems(int index);
  }
  /**
   * Protobuf type {@code CMsgStoreGetUserDataResponse}
   */
  public static final class CMsgStoreGetUserDataResponse extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgStoreGetUserDataResponse)
      CMsgStoreGetUserDataResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgStoreGetUserDataResponse.class.getName());
    }
    // Use CMsgStoreGetUserDataResponse.newBuilder() to construct.
    private CMsgStoreGetUserDataResponse(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgStoreGetUserDataResponse() {
      country_ = "";
      showHatDescriptions_ = true;
      priceSheet_ = com.google.protobuf.ByteString.EMPTY;
      popularItems_ = emptyIntList();
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgStoreGetUserDataResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgStoreGetUserDataResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse.Builder.class);
    }

    private int bitField0_;
    public static final int RESULT_FIELD_NUMBER = 1;
    private int result_ = 0;
    /**
     * optional int32 result = 1;
     * @return Whether the result field is set.
     */
    @java.lang.Override
    public boolean hasResult() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional int32 result = 1;
     * @return The result.
     */
    @java.lang.Override
    public int getResult() {
      return result_;
    }

    public static final int CURRENCY_FIELD_NUMBER = 2;
    private int currency_ = 0;
    /**
     * optional int32 currency = 2;
     * @return Whether the currency field is set.
     */
    @java.lang.Override
    public boolean hasCurrency() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional int32 currency = 2;
     * @return The currency.
     */
    @java.lang.Override
    public int getCurrency() {
      return currency_;
    }

    public static final int COUNTRY_FIELD_NUMBER = 3;
    @SuppressWarnings("serial")
    private volatile java.lang.Object country_ = "";
    /**
     * optional string country = 3;
     * @return Whether the country field is set.
     */
    @java.lang.Override
    public boolean hasCountry() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional string country = 3;
     * @return The country.
     */
    @java.lang.Override
    public java.lang.String getCountry() {
      java.lang.Object ref = country_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          country_ = s;
        }
        return s;
      }
    }
    /**
     * optional string country = 3;
     * @return The bytes for country.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCountryBytes() {
      java.lang.Object ref = country_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        country_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PRICE_SHEET_VERSION_FIELD_NUMBER = 4;
    private int priceSheetVersion_ = 0;
    /**
     * optional fixed32 price_sheet_version = 4;
     * @return Whether the priceSheetVersion field is set.
     */
    @java.lang.Override
    public boolean hasPriceSheetVersion() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional fixed32 price_sheet_version = 4;
     * @return The priceSheetVersion.
     */
    @java.lang.Override
    public int getPriceSheetVersion() {
      return priceSheetVersion_;
    }

    public static final int EXPERIMENT_DATA_FIELD_NUMBER = 5;
    private long experimentData_ = 0L;
    /**
     * optional uint64 experiment_data = 5 [default = 0];
     * @return Whether the experimentData field is set.
     */
    @java.lang.Override
    public boolean hasExperimentData() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * optional uint64 experiment_data = 5 [default = 0];
     * @return The experimentData.
     */
    @java.lang.Override
    public long getExperimentData() {
      return experimentData_;
    }

    public static final int FEATURED_ITEM_IDX_FIELD_NUMBER = 6;
    private int featuredItemIdx_ = 0;
    /**
     * optional int32 featured_item_idx = 6;
     * @return Whether the featuredItemIdx field is set.
     */
    @java.lang.Override
    public boolean hasFeaturedItemIdx() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * optional int32 featured_item_idx = 6;
     * @return The featuredItemIdx.
     */
    @java.lang.Override
    public int getFeaturedItemIdx() {
      return featuredItemIdx_;
    }

    public static final int SHOW_HAT_DESCRIPTIONS_FIELD_NUMBER = 7;
    private boolean showHatDescriptions_ = true;
    /**
     * optional bool show_hat_descriptions = 7 [default = true];
     * @return Whether the showHatDescriptions field is set.
     */
    @java.lang.Override
    public boolean hasShowHatDescriptions() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     * optional bool show_hat_descriptions = 7 [default = true];
     * @return The showHatDescriptions.
     */
    @java.lang.Override
    public boolean getShowHatDescriptions() {
      return showHatDescriptions_;
    }

    public static final int PRICE_SHEET_FIELD_NUMBER = 8;
    private com.google.protobuf.ByteString priceSheet_ = com.google.protobuf.ByteString.EMPTY;
    /**
     * optional bytes price_sheet = 8;
     * @return Whether the priceSheet field is set.
     */
    @java.lang.Override
    public boolean hasPriceSheet() {
      return ((bitField0_ & 0x00000080) != 0);
    }
    /**
     * optional bytes price_sheet = 8;
     * @return The priceSheet.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getPriceSheet() {
      return priceSheet_;
    }

    public static final int DEFAULT_ITEM_SORT_FIELD_NUMBER = 9;
    private int defaultItemSort_ = 0;
    /**
     * optional int32 default_item_sort = 9 [default = 0];
     * @return Whether the defaultItemSort field is set.
     */
    @java.lang.Override
    public boolean hasDefaultItemSort() {
      return ((bitField0_ & 0x00000100) != 0);
    }
    /**
     * optional int32 default_item_sort = 9 [default = 0];
     * @return The defaultItemSort.
     */
    @java.lang.Override
    public int getDefaultItemSort() {
      return defaultItemSort_;
    }

    public static final int POPULAR_ITEMS_FIELD_NUMBER = 10;
    @SuppressWarnings("serial")
    private com.google.protobuf.Internal.IntList popularItems_ =
        emptyIntList();
    /**
     * repeated uint32 popular_items = 10;
     * @return A list containing the popularItems.
     */
    @java.lang.Override
    public java.util.List
        getPopularItemsList() {
      return popularItems_;
    }
    /**
     * repeated uint32 popular_items = 10;
     * @return The count of popularItems.
     */
    public int getPopularItemsCount() {
      return popularItems_.size();
    }
    /**
     * repeated uint32 popular_items = 10;
     * @param index The index of the element to return.
     * @return The popularItems at the given index.
     */
    public int getPopularItems(int index) {
      return popularItems_.getInt(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeInt32(1, result_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeInt32(2, currency_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 3, country_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeFixed32(4, priceSheetVersion_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        output.writeUInt64(5, experimentData_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        output.writeInt32(6, featuredItemIdx_);
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        output.writeBool(7, showHatDescriptions_);
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        output.writeBytes(8, priceSheet_);
      }
      if (((bitField0_ & 0x00000100) != 0)) {
        output.writeInt32(9, defaultItemSort_);
      }
      for (int i = 0; i < popularItems_.size(); i++) {
        output.writeUInt32(10, popularItems_.getInt(i));
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, result_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, currency_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(3, country_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(4, priceSheetVersion_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(5, experimentData_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(6, featuredItemIdx_);
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(7, showHatDescriptions_);
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(8, priceSheet_);
      }
      if (((bitField0_ & 0x00000100) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(9, defaultItemSort_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < popularItems_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(popularItems_.getInt(i));
        }
        size += dataSize;
        size += 1 * getPopularItemsList().size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse) obj;

      if (hasResult() != other.hasResult()) return false;
      if (hasResult()) {
        if (getResult()
            != other.getResult()) return false;
      }
      if (hasCurrency() != other.hasCurrency()) return false;
      if (hasCurrency()) {
        if (getCurrency()
            != other.getCurrency()) return false;
      }
      if (hasCountry() != other.hasCountry()) return false;
      if (hasCountry()) {
        if (!getCountry()
            .equals(other.getCountry())) return false;
      }
      if (hasPriceSheetVersion() != other.hasPriceSheetVersion()) return false;
      if (hasPriceSheetVersion()) {
        if (getPriceSheetVersion()
            != other.getPriceSheetVersion()) return false;
      }
      if (hasExperimentData() != other.hasExperimentData()) return false;
      if (hasExperimentData()) {
        if (getExperimentData()
            != other.getExperimentData()) return false;
      }
      if (hasFeaturedItemIdx() != other.hasFeaturedItemIdx()) return false;
      if (hasFeaturedItemIdx()) {
        if (getFeaturedItemIdx()
            != other.getFeaturedItemIdx()) return false;
      }
      if (hasShowHatDescriptions() != other.hasShowHatDescriptions()) return false;
      if (hasShowHatDescriptions()) {
        if (getShowHatDescriptions()
            != other.getShowHatDescriptions()) return false;
      }
      if (hasPriceSheet() != other.hasPriceSheet()) return false;
      if (hasPriceSheet()) {
        if (!getPriceSheet()
            .equals(other.getPriceSheet())) return false;
      }
      if (hasDefaultItemSort() != other.hasDefaultItemSort()) return false;
      if (hasDefaultItemSort()) {
        if (getDefaultItemSort()
            != other.getDefaultItemSort()) return false;
      }
      if (!getPopularItemsList()
          .equals(other.getPopularItemsList())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasResult()) {
        hash = (37 * hash) + RESULT_FIELD_NUMBER;
        hash = (53 * hash) + getResult();
      }
      if (hasCurrency()) {
        hash = (37 * hash) + CURRENCY_FIELD_NUMBER;
        hash = (53 * hash) + getCurrency();
      }
      if (hasCountry()) {
        hash = (37 * hash) + COUNTRY_FIELD_NUMBER;
        hash = (53 * hash) + getCountry().hashCode();
      }
      if (hasPriceSheetVersion()) {
        hash = (37 * hash) + PRICE_SHEET_VERSION_FIELD_NUMBER;
        hash = (53 * hash) + getPriceSheetVersion();
      }
      if (hasExperimentData()) {
        hash = (37 * hash) + EXPERIMENT_DATA_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getExperimentData());
      }
      if (hasFeaturedItemIdx()) {
        hash = (37 * hash) + FEATURED_ITEM_IDX_FIELD_NUMBER;
        hash = (53 * hash) + getFeaturedItemIdx();
      }
      if (hasShowHatDescriptions()) {
        hash = (37 * hash) + SHOW_HAT_DESCRIPTIONS_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getShowHatDescriptions());
      }
      if (hasPriceSheet()) {
        hash = (37 * hash) + PRICE_SHEET_FIELD_NUMBER;
        hash = (53 * hash) + getPriceSheet().hashCode();
      }
      if (hasDefaultItemSort()) {
        hash = (37 * hash) + DEFAULT_ITEM_SORT_FIELD_NUMBER;
        hash = (53 * hash) + getDefaultItemSort();
      }
      if (getPopularItemsCount() > 0) {
        hash = (37 * hash) + POPULAR_ITEMS_FIELD_NUMBER;
        hash = (53 * hash) + getPopularItemsList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgStoreGetUserDataResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgStoreGetUserDataResponse)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgStoreGetUserDataResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgStoreGetUserDataResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        result_ = 0;
        currency_ = 0;
        country_ = "";
        priceSheetVersion_ = 0;
        experimentData_ = 0L;
        featuredItemIdx_ = 0;
        showHatDescriptions_ = true;
        priceSheet_ = com.google.protobuf.ByteString.EMPTY;
        defaultItemSort_ = 0;
        popularItems_ = emptyIntList();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgStoreGetUserDataResponse_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.result_ = result_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.currency_ = currency_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.country_ = country_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.priceSheetVersion_ = priceSheetVersion_;
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.experimentData_ = experimentData_;
          to_bitField0_ |= 0x00000010;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          result.featuredItemIdx_ = featuredItemIdx_;
          to_bitField0_ |= 0x00000020;
        }
        if (((from_bitField0_ & 0x00000040) != 0)) {
          result.showHatDescriptions_ = showHatDescriptions_;
          to_bitField0_ |= 0x00000040;
        }
        if (((from_bitField0_ & 0x00000080) != 0)) {
          result.priceSheet_ = priceSheet_;
          to_bitField0_ |= 0x00000080;
        }
        if (((from_bitField0_ & 0x00000100) != 0)) {
          result.defaultItemSort_ = defaultItemSort_;
          to_bitField0_ |= 0x00000100;
        }
        if (((from_bitField0_ & 0x00000200) != 0)) {
          popularItems_.makeImmutable();
          result.popularItems_ = popularItems_;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse.getDefaultInstance()) return this;
        if (other.hasResult()) {
          setResult(other.getResult());
        }
        if (other.hasCurrency()) {
          setCurrency(other.getCurrency());
        }
        if (other.hasCountry()) {
          country_ = other.country_;
          bitField0_ |= 0x00000004;
          onChanged();
        }
        if (other.hasPriceSheetVersion()) {
          setPriceSheetVersion(other.getPriceSheetVersion());
        }
        if (other.hasExperimentData()) {
          setExperimentData(other.getExperimentData());
        }
        if (other.hasFeaturedItemIdx()) {
          setFeaturedItemIdx(other.getFeaturedItemIdx());
        }
        if (other.hasShowHatDescriptions()) {
          setShowHatDescriptions(other.getShowHatDescriptions());
        }
        if (other.hasPriceSheet()) {
          setPriceSheet(other.getPriceSheet());
        }
        if (other.hasDefaultItemSort()) {
          setDefaultItemSort(other.getDefaultItemSort());
        }
        if (!other.popularItems_.isEmpty()) {
          if (popularItems_.isEmpty()) {
            popularItems_ = other.popularItems_;
            popularItems_.makeImmutable();
            bitField0_ |= 0x00000200;
          } else {
            ensurePopularItemsIsMutable();
            popularItems_.addAll(other.popularItems_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                result_ = input.readInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                currency_ = input.readInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 26: {
                country_ = input.readBytes();
                bitField0_ |= 0x00000004;
                break;
              } // case 26
              case 37: {
                priceSheetVersion_ = input.readFixed32();
                bitField0_ |= 0x00000008;
                break;
              } // case 37
              case 40: {
                experimentData_ = input.readUInt64();
                bitField0_ |= 0x00000010;
                break;
              } // case 40
              case 48: {
                featuredItemIdx_ = input.readInt32();
                bitField0_ |= 0x00000020;
                break;
              } // case 48
              case 56: {
                showHatDescriptions_ = input.readBool();
                bitField0_ |= 0x00000040;
                break;
              } // case 56
              case 66: {
                priceSheet_ = input.readBytes();
                bitField0_ |= 0x00000080;
                break;
              } // case 66
              case 72: {
                defaultItemSort_ = input.readInt32();
                bitField0_ |= 0x00000100;
                break;
              } // case 72
              case 80: {
                int v = input.readUInt32();
                ensurePopularItemsIsMutable();
                popularItems_.addInt(v);
                break;
              } // case 80
              case 82: {
                int length = input.readRawVarint32();
                int limit = input.pushLimit(length);
                ensurePopularItemsIsMutable();
                while (input.getBytesUntilLimit() > 0) {
                  popularItems_.addInt(input.readUInt32());
                }
                input.popLimit(limit);
                break;
              } // case 82
              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 int result_ ;
      /**
       * optional int32 result = 1;
       * @return Whether the result field is set.
       */
      @java.lang.Override
      public boolean hasResult() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional int32 result = 1;
       * @return The result.
       */
      @java.lang.Override
      public int getResult() {
        return result_;
      }
      /**
       * optional int32 result = 1;
       * @param value The result to set.
       * @return This builder for chaining.
       */
      public Builder setResult(int value) {

        result_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional int32 result = 1;
       * @return This builder for chaining.
       */
      public Builder clearResult() {
        bitField0_ = (bitField0_ & ~0x00000001);
        result_ = 0;
        onChanged();
        return this;
      }

      private int currency_ ;
      /**
       * optional int32 currency = 2;
       * @return Whether the currency field is set.
       */
      @java.lang.Override
      public boolean hasCurrency() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional int32 currency = 2;
       * @return The currency.
       */
      @java.lang.Override
      public int getCurrency() {
        return currency_;
      }
      /**
       * optional int32 currency = 2;
       * @param value The currency to set.
       * @return This builder for chaining.
       */
      public Builder setCurrency(int value) {

        currency_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional int32 currency = 2;
       * @return This builder for chaining.
       */
      public Builder clearCurrency() {
        bitField0_ = (bitField0_ & ~0x00000002);
        currency_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object country_ = "";
      /**
       * optional string country = 3;
       * @return Whether the country field is set.
       */
      public boolean hasCountry() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional string country = 3;
       * @return The country.
       */
      public java.lang.String getCountry() {
        java.lang.Object ref = country_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            country_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string country = 3;
       * @return The bytes for country.
       */
      public com.google.protobuf.ByteString
          getCountryBytes() {
        java.lang.Object ref = country_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          country_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string country = 3;
       * @param value The country to set.
       * @return This builder for chaining.
       */
      public Builder setCountry(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        country_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional string country = 3;
       * @return This builder for chaining.
       */
      public Builder clearCountry() {
        country_ = getDefaultInstance().getCountry();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }
      /**
       * optional string country = 3;
       * @param value The bytes for country to set.
       * @return This builder for chaining.
       */
      public Builder setCountryBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        country_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }

      private int priceSheetVersion_ ;
      /**
       * optional fixed32 price_sheet_version = 4;
       * @return Whether the priceSheetVersion field is set.
       */
      @java.lang.Override
      public boolean hasPriceSheetVersion() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional fixed32 price_sheet_version = 4;
       * @return The priceSheetVersion.
       */
      @java.lang.Override
      public int getPriceSheetVersion() {
        return priceSheetVersion_;
      }
      /**
       * optional fixed32 price_sheet_version = 4;
       * @param value The priceSheetVersion to set.
       * @return This builder for chaining.
       */
      public Builder setPriceSheetVersion(int value) {

        priceSheetVersion_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional fixed32 price_sheet_version = 4;
       * @return This builder for chaining.
       */
      public Builder clearPriceSheetVersion() {
        bitField0_ = (bitField0_ & ~0x00000008);
        priceSheetVersion_ = 0;
        onChanged();
        return this;
      }

      private long experimentData_ ;
      /**
       * optional uint64 experiment_data = 5 [default = 0];
       * @return Whether the experimentData field is set.
       */
      @java.lang.Override
      public boolean hasExperimentData() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * optional uint64 experiment_data = 5 [default = 0];
       * @return The experimentData.
       */
      @java.lang.Override
      public long getExperimentData() {
        return experimentData_;
      }
      /**
       * optional uint64 experiment_data = 5 [default = 0];
       * @param value The experimentData to set.
       * @return This builder for chaining.
       */
      public Builder setExperimentData(long value) {

        experimentData_ = value;
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * optional uint64 experiment_data = 5 [default = 0];
       * @return This builder for chaining.
       */
      public Builder clearExperimentData() {
        bitField0_ = (bitField0_ & ~0x00000010);
        experimentData_ = 0L;
        onChanged();
        return this;
      }

      private int featuredItemIdx_ ;
      /**
       * optional int32 featured_item_idx = 6;
       * @return Whether the featuredItemIdx field is set.
       */
      @java.lang.Override
      public boolean hasFeaturedItemIdx() {
        return ((bitField0_ & 0x00000020) != 0);
      }
      /**
       * optional int32 featured_item_idx = 6;
       * @return The featuredItemIdx.
       */
      @java.lang.Override
      public int getFeaturedItemIdx() {
        return featuredItemIdx_;
      }
      /**
       * optional int32 featured_item_idx = 6;
       * @param value The featuredItemIdx to set.
       * @return This builder for chaining.
       */
      public Builder setFeaturedItemIdx(int value) {

        featuredItemIdx_ = value;
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * optional int32 featured_item_idx = 6;
       * @return This builder for chaining.
       */
      public Builder clearFeaturedItemIdx() {
        bitField0_ = (bitField0_ & ~0x00000020);
        featuredItemIdx_ = 0;
        onChanged();
        return this;
      }

      private boolean showHatDescriptions_ = true;
      /**
       * optional bool show_hat_descriptions = 7 [default = true];
       * @return Whether the showHatDescriptions field is set.
       */
      @java.lang.Override
      public boolean hasShowHatDescriptions() {
        return ((bitField0_ & 0x00000040) != 0);
      }
      /**
       * optional bool show_hat_descriptions = 7 [default = true];
       * @return The showHatDescriptions.
       */
      @java.lang.Override
      public boolean getShowHatDescriptions() {
        return showHatDescriptions_;
      }
      /**
       * optional bool show_hat_descriptions = 7 [default = true];
       * @param value The showHatDescriptions to set.
       * @return This builder for chaining.
       */
      public Builder setShowHatDescriptions(boolean value) {

        showHatDescriptions_ = value;
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }
      /**
       * optional bool show_hat_descriptions = 7 [default = true];
       * @return This builder for chaining.
       */
      public Builder clearShowHatDescriptions() {
        bitField0_ = (bitField0_ & ~0x00000040);
        showHatDescriptions_ = true;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString priceSheet_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * optional bytes price_sheet = 8;
       * @return Whether the priceSheet field is set.
       */
      @java.lang.Override
      public boolean hasPriceSheet() {
        return ((bitField0_ & 0x00000080) != 0);
      }
      /**
       * optional bytes price_sheet = 8;
       * @return The priceSheet.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getPriceSheet() {
        return priceSheet_;
      }
      /**
       * optional bytes price_sheet = 8;
       * @param value The priceSheet to set.
       * @return This builder for chaining.
       */
      public Builder setPriceSheet(com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        priceSheet_ = value;
        bitField0_ |= 0x00000080;
        onChanged();
        return this;
      }
      /**
       * optional bytes price_sheet = 8;
       * @return This builder for chaining.
       */
      public Builder clearPriceSheet() {
        bitField0_ = (bitField0_ & ~0x00000080);
        priceSheet_ = getDefaultInstance().getPriceSheet();
        onChanged();
        return this;
      }

      private int defaultItemSort_ ;
      /**
       * optional int32 default_item_sort = 9 [default = 0];
       * @return Whether the defaultItemSort field is set.
       */
      @java.lang.Override
      public boolean hasDefaultItemSort() {
        return ((bitField0_ & 0x00000100) != 0);
      }
      /**
       * optional int32 default_item_sort = 9 [default = 0];
       * @return The defaultItemSort.
       */
      @java.lang.Override
      public int getDefaultItemSort() {
        return defaultItemSort_;
      }
      /**
       * optional int32 default_item_sort = 9 [default = 0];
       * @param value The defaultItemSort to set.
       * @return This builder for chaining.
       */
      public Builder setDefaultItemSort(int value) {

        defaultItemSort_ = value;
        bitField0_ |= 0x00000100;
        onChanged();
        return this;
      }
      /**
       * optional int32 default_item_sort = 9 [default = 0];
       * @return This builder for chaining.
       */
      public Builder clearDefaultItemSort() {
        bitField0_ = (bitField0_ & ~0x00000100);
        defaultItemSort_ = 0;
        onChanged();
        return this;
      }

      private com.google.protobuf.Internal.IntList popularItems_ = emptyIntList();
      private void ensurePopularItemsIsMutable() {
        if (!popularItems_.isModifiable()) {
          popularItems_ = makeMutableCopy(popularItems_);
        }
        bitField0_ |= 0x00000200;
      }
      /**
       * repeated uint32 popular_items = 10;
       * @return A list containing the popularItems.
       */
      public java.util.List
          getPopularItemsList() {
        popularItems_.makeImmutable();
        return popularItems_;
      }
      /**
       * repeated uint32 popular_items = 10;
       * @return The count of popularItems.
       */
      public int getPopularItemsCount() {
        return popularItems_.size();
      }
      /**
       * repeated uint32 popular_items = 10;
       * @param index The index of the element to return.
       * @return The popularItems at the given index.
       */
      public int getPopularItems(int index) {
        return popularItems_.getInt(index);
      }
      /**
       * repeated uint32 popular_items = 10;
       * @param index The index to set the value at.
       * @param value The popularItems to set.
       * @return This builder for chaining.
       */
      public Builder setPopularItems(
          int index, int value) {

        ensurePopularItemsIsMutable();
        popularItems_.setInt(index, value);
        bitField0_ |= 0x00000200;
        onChanged();
        return this;
      }
      /**
       * repeated uint32 popular_items = 10;
       * @param value The popularItems to add.
       * @return This builder for chaining.
       */
      public Builder addPopularItems(int value) {

        ensurePopularItemsIsMutable();
        popularItems_.addInt(value);
        bitField0_ |= 0x00000200;
        onChanged();
        return this;
      }
      /**
       * repeated uint32 popular_items = 10;
       * @param values The popularItems to add.
       * @return This builder for chaining.
       */
      public Builder addAllPopularItems(
          java.lang.Iterable values) {
        ensurePopularItemsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, popularItems_);
        bitField0_ |= 0x00000200;
        onChanged();
        return this;
      }
      /**
       * repeated uint32 popular_items = 10;
       * @return This builder for chaining.
       */
      public Builder clearPopularItems() {
        popularItems_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000200);
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgStoreGetUserDataResponse)
    }

    // @@protoc_insertion_point(class_scope:CMsgStoreGetUserDataResponse)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgStoreGetUserDataResponse 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgStoreGetUserDataResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional bytes items_game = 1;
     * @return Whether the itemsGame field is set.
     */
    boolean hasItemsGame();
    /**
     * optional bytes items_game = 1;
     * @return The itemsGame.
     */
    com.google.protobuf.ByteString getItemsGame();

    /**
     * optional fixed32 item_schema_version = 2;
     * @return Whether the itemSchemaVersion field is set.
     */
    boolean hasItemSchemaVersion();
    /**
     * optional fixed32 item_schema_version = 2;
     * @return The itemSchemaVersion.
     */
    int getItemSchemaVersion();

    /**
     * optional string items_game_url = 3;
     * @return Whether the itemsGameUrl field is set.
     */
    boolean hasItemsGameUrl();
    /**
     * optional string items_game_url = 3;
     * @return The itemsGameUrl.
     */
    java.lang.String getItemsGameUrl();
    /**
     * optional string items_game_url = 3;
     * @return The bytes for itemsGameUrl.
     */
    com.google.protobuf.ByteString
        getItemsGameUrlBytes();

    /**
     * optional bytes signature = 4;
     * @return Whether the signature field is set.
     */
    boolean hasSignature();
    /**
     * optional bytes signature = 4;
     * @return The signature.
     */
    com.google.protobuf.ByteString getSignature();
  }
  /**
   * Protobuf type {@code CMsgUpdateItemSchema}
   */
  public static final class CMsgUpdateItemSchema extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgUpdateItemSchema)
      CMsgUpdateItemSchemaOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgUpdateItemSchema.class.getName());
    }
    // Use CMsgUpdateItemSchema.newBuilder() to construct.
    private CMsgUpdateItemSchema(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgUpdateItemSchema() {
      itemsGame_ = com.google.protobuf.ByteString.EMPTY;
      itemsGameUrl_ = "";
      signature_ = com.google.protobuf.ByteString.EMPTY;
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgUpdateItemSchema_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgUpdateItemSchema_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema.Builder.class);
    }

    private int bitField0_;
    public static final int ITEMS_GAME_FIELD_NUMBER = 1;
    private com.google.protobuf.ByteString itemsGame_ = com.google.protobuf.ByteString.EMPTY;
    /**
     * optional bytes items_game = 1;
     * @return Whether the itemsGame field is set.
     */
    @java.lang.Override
    public boolean hasItemsGame() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional bytes items_game = 1;
     * @return The itemsGame.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getItemsGame() {
      return itemsGame_;
    }

    public static final int ITEM_SCHEMA_VERSION_FIELD_NUMBER = 2;
    private int itemSchemaVersion_ = 0;
    /**
     * optional fixed32 item_schema_version = 2;
     * @return Whether the itemSchemaVersion field is set.
     */
    @java.lang.Override
    public boolean hasItemSchemaVersion() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional fixed32 item_schema_version = 2;
     * @return The itemSchemaVersion.
     */
    @java.lang.Override
    public int getItemSchemaVersion() {
      return itemSchemaVersion_;
    }

    public static final int ITEMS_GAME_URL_FIELD_NUMBER = 3;
    @SuppressWarnings("serial")
    private volatile java.lang.Object itemsGameUrl_ = "";
    /**
     * optional string items_game_url = 3;
     * @return Whether the itemsGameUrl field is set.
     */
    @java.lang.Override
    public boolean hasItemsGameUrl() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional string items_game_url = 3;
     * @return The itemsGameUrl.
     */
    @java.lang.Override
    public java.lang.String getItemsGameUrl() {
      java.lang.Object ref = itemsGameUrl_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          itemsGameUrl_ = s;
        }
        return s;
      }
    }
    /**
     * optional string items_game_url = 3;
     * @return The bytes for itemsGameUrl.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getItemsGameUrlBytes() {
      java.lang.Object ref = itemsGameUrl_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        itemsGameUrl_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SIGNATURE_FIELD_NUMBER = 4;
    private com.google.protobuf.ByteString signature_ = com.google.protobuf.ByteString.EMPTY;
    /**
     * optional bytes signature = 4;
     * @return Whether the signature field is set.
     */
    @java.lang.Override
    public boolean hasSignature() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional bytes signature = 4;
     * @return The signature.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString getSignature() {
      return signature_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeBytes(1, itemsGame_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeFixed32(2, itemSchemaVersion_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 3, itemsGameUrl_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeBytes(4, signature_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, itemsGame_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(2, itemSchemaVersion_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(3, itemsGameUrl_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(4, signature_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema) obj;

      if (hasItemsGame() != other.hasItemsGame()) return false;
      if (hasItemsGame()) {
        if (!getItemsGame()
            .equals(other.getItemsGame())) return false;
      }
      if (hasItemSchemaVersion() != other.hasItemSchemaVersion()) return false;
      if (hasItemSchemaVersion()) {
        if (getItemSchemaVersion()
            != other.getItemSchemaVersion()) return false;
      }
      if (hasItemsGameUrl() != other.hasItemsGameUrl()) return false;
      if (hasItemsGameUrl()) {
        if (!getItemsGameUrl()
            .equals(other.getItemsGameUrl())) return false;
      }
      if (hasSignature() != other.hasSignature()) return false;
      if (hasSignature()) {
        if (!getSignature()
            .equals(other.getSignature())) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasItemsGame()) {
        hash = (37 * hash) + ITEMS_GAME_FIELD_NUMBER;
        hash = (53 * hash) + getItemsGame().hashCode();
      }
      if (hasItemSchemaVersion()) {
        hash = (37 * hash) + ITEM_SCHEMA_VERSION_FIELD_NUMBER;
        hash = (53 * hash) + getItemSchemaVersion();
      }
      if (hasItemsGameUrl()) {
        hash = (37 * hash) + ITEMS_GAME_URL_FIELD_NUMBER;
        hash = (53 * hash) + getItemsGameUrl().hashCode();
      }
      if (hasSignature()) {
        hash = (37 * hash) + SIGNATURE_FIELD_NUMBER;
        hash = (53 * hash) + getSignature().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgUpdateItemSchema}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgUpdateItemSchema)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchemaOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgUpdateItemSchema_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgUpdateItemSchema_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        itemsGame_ = com.google.protobuf.ByteString.EMPTY;
        itemSchemaVersion_ = 0;
        itemsGameUrl_ = "";
        signature_ = com.google.protobuf.ByteString.EMPTY;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgUpdateItemSchema_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.itemsGame_ = itemsGame_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.itemSchemaVersion_ = itemSchemaVersion_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.itemsGameUrl_ = itemsGameUrl_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.signature_ = signature_;
          to_bitField0_ |= 0x00000008;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema.getDefaultInstance()) return this;
        if (other.hasItemsGame()) {
          setItemsGame(other.getItemsGame());
        }
        if (other.hasItemSchemaVersion()) {
          setItemSchemaVersion(other.getItemSchemaVersion());
        }
        if (other.hasItemsGameUrl()) {
          itemsGameUrl_ = other.itemsGameUrl_;
          bitField0_ |= 0x00000004;
          onChanged();
        }
        if (other.hasSignature()) {
          setSignature(other.getSignature());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                itemsGame_ = input.readBytes();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 21: {
                itemSchemaVersion_ = input.readFixed32();
                bitField0_ |= 0x00000002;
                break;
              } // case 21
              case 26: {
                itemsGameUrl_ = input.readBytes();
                bitField0_ |= 0x00000004;
                break;
              } // case 26
              case 34: {
                signature_ = input.readBytes();
                bitField0_ |= 0x00000008;
                break;
              } // case 34
              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 com.google.protobuf.ByteString itemsGame_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * optional bytes items_game = 1;
       * @return Whether the itemsGame field is set.
       */
      @java.lang.Override
      public boolean hasItemsGame() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional bytes items_game = 1;
       * @return The itemsGame.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getItemsGame() {
        return itemsGame_;
      }
      /**
       * optional bytes items_game = 1;
       * @param value The itemsGame to set.
       * @return This builder for chaining.
       */
      public Builder setItemsGame(com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        itemsGame_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional bytes items_game = 1;
       * @return This builder for chaining.
       */
      public Builder clearItemsGame() {
        bitField0_ = (bitField0_ & ~0x00000001);
        itemsGame_ = getDefaultInstance().getItemsGame();
        onChanged();
        return this;
      }

      private int itemSchemaVersion_ ;
      /**
       * optional fixed32 item_schema_version = 2;
       * @return Whether the itemSchemaVersion field is set.
       */
      @java.lang.Override
      public boolean hasItemSchemaVersion() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional fixed32 item_schema_version = 2;
       * @return The itemSchemaVersion.
       */
      @java.lang.Override
      public int getItemSchemaVersion() {
        return itemSchemaVersion_;
      }
      /**
       * optional fixed32 item_schema_version = 2;
       * @param value The itemSchemaVersion to set.
       * @return This builder for chaining.
       */
      public Builder setItemSchemaVersion(int value) {

        itemSchemaVersion_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional fixed32 item_schema_version = 2;
       * @return This builder for chaining.
       */
      public Builder clearItemSchemaVersion() {
        bitField0_ = (bitField0_ & ~0x00000002);
        itemSchemaVersion_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object itemsGameUrl_ = "";
      /**
       * optional string items_game_url = 3;
       * @return Whether the itemsGameUrl field is set.
       */
      public boolean hasItemsGameUrl() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional string items_game_url = 3;
       * @return The itemsGameUrl.
       */
      public java.lang.String getItemsGameUrl() {
        java.lang.Object ref = itemsGameUrl_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            itemsGameUrl_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string items_game_url = 3;
       * @return The bytes for itemsGameUrl.
       */
      public com.google.protobuf.ByteString
          getItemsGameUrlBytes() {
        java.lang.Object ref = itemsGameUrl_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          itemsGameUrl_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string items_game_url = 3;
       * @param value The itemsGameUrl to set.
       * @return This builder for chaining.
       */
      public Builder setItemsGameUrl(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        itemsGameUrl_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional string items_game_url = 3;
       * @return This builder for chaining.
       */
      public Builder clearItemsGameUrl() {
        itemsGameUrl_ = getDefaultInstance().getItemsGameUrl();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }
      /**
       * optional string items_game_url = 3;
       * @param value The bytes for itemsGameUrl to set.
       * @return This builder for chaining.
       */
      public Builder setItemsGameUrlBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        itemsGameUrl_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString signature_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * optional bytes signature = 4;
       * @return Whether the signature field is set.
       */
      @java.lang.Override
      public boolean hasSignature() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional bytes signature = 4;
       * @return The signature.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString getSignature() {
        return signature_;
      }
      /**
       * optional bytes signature = 4;
       * @param value The signature to set.
       * @return This builder for chaining.
       */
      public Builder setSignature(com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        signature_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional bytes signature = 4;
       * @return This builder for chaining.
       */
      public Builder clearSignature() {
        bitField0_ = (bitField0_ & ~0x00000008);
        signature_ = getDefaultInstance().getSignature();
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgUpdateItemSchema)
    }

    // @@protoc_insertion_point(class_scope:CMsgUpdateItemSchema)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgUpdateItemSchema 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdateItemSchema getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional string error_text = 1;
     * @return Whether the errorText field is set.
     */
    boolean hasErrorText();
    /**
     * optional string error_text = 1;
     * @return The errorText.
     */
    java.lang.String getErrorText();
    /**
     * optional string error_text = 1;
     * @return The bytes for errorText.
     */
    com.google.protobuf.ByteString
        getErrorTextBytes();
  }
  /**
   * Protobuf type {@code CMsgGCError}
   */
  public static final class CMsgGCError extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgGCError)
      CMsgGCErrorOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgGCError.class.getName());
    }
    // Use CMsgGCError.newBuilder() to construct.
    private CMsgGCError(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgGCError() {
      errorText_ = "";
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCError_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCError_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError.Builder.class);
    }

    private int bitField0_;
    public static final int ERROR_TEXT_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object errorText_ = "";
    /**
     * optional string error_text = 1;
     * @return Whether the errorText field is set.
     */
    @java.lang.Override
    public boolean hasErrorText() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional string error_text = 1;
     * @return The errorText.
     */
    @java.lang.Override
    public java.lang.String getErrorText() {
      java.lang.Object ref = errorText_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          errorText_ = s;
        }
        return s;
      }
    }
    /**
     * optional string error_text = 1;
     * @return The bytes for errorText.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getErrorTextBytes() {
      java.lang.Object ref = errorText_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        errorText_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 1, errorText_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(1, errorText_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError) obj;

      if (hasErrorText() != other.hasErrorText()) return false;
      if (hasErrorText()) {
        if (!getErrorText()
            .equals(other.getErrorText())) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

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

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgGCError}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgGCError)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCErrorOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCError_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCError_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        errorText_ = "";
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCError_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.errorText_ = errorText_;
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError.getDefaultInstance()) return this;
        if (other.hasErrorText()) {
          errorText_ = other.errorText_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                errorText_ = input.readBytes();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              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 java.lang.Object errorText_ = "";
      /**
       * optional string error_text = 1;
       * @return Whether the errorText field is set.
       */
      public boolean hasErrorText() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional string error_text = 1;
       * @return The errorText.
       */
      public java.lang.String getErrorText() {
        java.lang.Object ref = errorText_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            errorText_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string error_text = 1;
       * @return The bytes for errorText.
       */
      public com.google.protobuf.ByteString
          getErrorTextBytes() {
        java.lang.Object ref = errorText_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          errorText_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string error_text = 1;
       * @param value The errorText to set.
       * @return This builder for chaining.
       */
      public Builder setErrorText(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        errorText_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional string error_text = 1;
       * @return This builder for chaining.
       */
      public Builder clearErrorText() {
        errorText_ = getDefaultInstance().getErrorText();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * optional string error_text = 1;
       * @param value The bytes for errorText to set.
       * @return This builder for chaining.
       */
      public Builder setErrorTextBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        errorText_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgGCError)
    }

    // @@protoc_insertion_point(class_scope:CMsgGCError)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgGCError 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCError getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CMsgRequestInventoryRefreshOrBuilder extends
      // @@protoc_insertion_point(interface_extends:CMsgRequestInventoryRefresh)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * Protobuf type {@code CMsgRequestInventoryRefresh}
   */
  public static final class CMsgRequestInventoryRefresh extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgRequestInventoryRefresh)
      CMsgRequestInventoryRefreshOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgRequestInventoryRefresh.class.getName());
    }
    // Use CMsgRequestInventoryRefresh.newBuilder() to construct.
    private CMsgRequestInventoryRefresh(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgRequestInventoryRefresh() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgRequestInventoryRefresh_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgRequestInventoryRefresh_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh.Builder.class);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh) obj;

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

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

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgRequestInventoryRefresh}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgRequestInventoryRefresh)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefreshOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgRequestInventoryRefresh_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgRequestInventoryRefresh_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgRequestInventoryRefresh_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              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;
      }

      // @@protoc_insertion_point(builder_scope:CMsgRequestInventoryRefresh)
    }

    // @@protoc_insertion_point(class_scope:CMsgRequestInventoryRefresh)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgRequestInventoryRefresh 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRequestInventoryRefresh getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional string name = 1;
     * @return Whether the name field is set.
     */
    boolean hasName();
    /**
     * optional string name = 1;
     * @return The name.
     */
    java.lang.String getName();
    /**
     * optional string name = 1;
     * @return The bytes for name.
     */
    com.google.protobuf.ByteString
        getNameBytes();

    /**
     * optional string value = 2;
     * @return Whether the value field is set.
     */
    boolean hasValue();
    /**
     * optional string value = 2;
     * @return The value.
     */
    java.lang.String getValue();
    /**
     * optional string value = 2;
     * @return The bytes for value.
     */
    com.google.protobuf.ByteString
        getValueBytes();
  }
  /**
   * Protobuf type {@code CMsgConVarValue}
   */
  public static final class CMsgConVarValue extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgConVarValue)
      CMsgConVarValueOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgConVarValue.class.getName());
    }
    // Use CMsgConVarValue.newBuilder() to construct.
    private CMsgConVarValue(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgConVarValue() {
      name_ = "";
      value_ = "";
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgConVarValue_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgConVarValue_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue.Builder.class);
    }

    private int bitField0_;
    public static final int NAME_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object name_ = "";
    /**
     * optional string name = 1;
     * @return Whether the name field is set.
     */
    @java.lang.Override
    public boolean hasName() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional string name = 1;
     * @return The name.
     */
    @java.lang.Override
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          name_ = s;
        }
        return s;
      }
    }
    /**
     * optional string name = 1;
     * @return The bytes for name.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

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

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue) obj;

      if (hasName() != other.hasName()) return false;
      if (hasName()) {
        if (!getName()
            .equals(other.getName())) return false;
      }
      if (hasValue() != other.hasValue()) return false;
      if (hasValue()) {
        if (!getValue()
            .equals(other.getValue())) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasName()) {
        hash = (37 * hash) + NAME_FIELD_NUMBER;
        hash = (53 * hash) + getName().hashCode();
      }
      if (hasValue()) {
        hash = (37 * hash) + VALUE_FIELD_NUMBER;
        hash = (53 * hash) + getValue().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgConVarValue}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgConVarValue)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValueOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgConVarValue_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgConVarValue_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        name_ = "";
        value_ = "";
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgConVarValue_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.name_ = name_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.value_ = value_;
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue.getDefaultInstance()) return this;
        if (other.hasName()) {
          name_ = other.name_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        if (other.hasValue()) {
          value_ = other.value_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                name_ = input.readBytes();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 18: {
                value_ = input.readBytes();
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              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 java.lang.Object name_ = "";
      /**
       * optional string name = 1;
       * @return Whether the name field is set.
       */
      public boolean hasName() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional string name = 1;
       * @return The name.
       */
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            name_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string name = 1;
       * @return The bytes for name.
       */
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string name = 1;
       * @param value The name to set.
       * @return This builder for chaining.
       */
      public Builder setName(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        name_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional string name = 1;
       * @return This builder for chaining.
       */
      public Builder clearName() {
        name_ = getDefaultInstance().getName();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * optional string name = 1;
       * @param value The bytes for name to set.
       * @return This builder for chaining.
       */
      public Builder setNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        name_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

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

      // @@protoc_insertion_point(builder_scope:CMsgConVarValue)
    }

    // @@protoc_insertion_point(class_scope:CMsgConVarValue)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgConVarValue 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * repeated .CMsgConVarValue convars = 1;
     */
    java.util.List 
        getConvarsList();
    /**
     * repeated .CMsgConVarValue convars = 1;
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue getConvars(int index);
    /**
     * repeated .CMsgConVarValue convars = 1;
     */
    int getConvarsCount();
    /**
     * repeated .CMsgConVarValue convars = 1;
     */
    java.util.List 
        getConvarsOrBuilderList();
    /**
     * repeated .CMsgConVarValue convars = 1;
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValueOrBuilder getConvarsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code CMsgReplicateConVars}
   */
  public static final class CMsgReplicateConVars extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgReplicateConVars)
      CMsgReplicateConVarsOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgReplicateConVars.class.getName());
    }
    // Use CMsgReplicateConVars.newBuilder() to construct.
    private CMsgReplicateConVars(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgReplicateConVars() {
      convars_ = java.util.Collections.emptyList();
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgReplicateConVars_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgReplicateConVars_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars.Builder.class);
    }

    public static final int CONVARS_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private java.util.List convars_;
    /**
     * repeated .CMsgConVarValue convars = 1;
     */
    @java.lang.Override
    public java.util.List getConvarsList() {
      return convars_;
    }
    /**
     * repeated .CMsgConVarValue convars = 1;
     */
    @java.lang.Override
    public java.util.List 
        getConvarsOrBuilderList() {
      return convars_;
    }
    /**
     * repeated .CMsgConVarValue convars = 1;
     */
    @java.lang.Override
    public int getConvarsCount() {
      return convars_.size();
    }
    /**
     * repeated .CMsgConVarValue convars = 1;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue getConvars(int index) {
      return convars_.get(index);
    }
    /**
     * repeated .CMsgConVarValue convars = 1;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValueOrBuilder getConvarsOrBuilder(
        int index) {
      return convars_.get(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

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

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars) obj;

      if (!getConvarsList()
          .equals(other.getConvarsList())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getConvarsCount() > 0) {
        hash = (37 * hash) + CONVARS_FIELD_NUMBER;
        hash = (53 * hash) + getConvarsList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgReplicateConVars}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgReplicateConVars)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVarsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgReplicateConVars_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgReplicateConVars_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        if (convarsBuilder_ == null) {
          convars_ = java.util.Collections.emptyList();
        } else {
          convars_ = null;
          convarsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgReplicateConVars_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars(this);
        buildPartialRepeatedFields(result);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartialRepeatedFields(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars result) {
        if (convarsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            convars_ = java.util.Collections.unmodifiableList(convars_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.convars_ = convars_;
        } else {
          result.convars_ = convarsBuilder_.build();
        }
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars result) {
        int from_bitField0_ = bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars.getDefaultInstance()) return this;
        if (convarsBuilder_ == null) {
          if (!other.convars_.isEmpty()) {
            if (convars_.isEmpty()) {
              convars_ = other.convars_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureConvarsIsMutable();
              convars_.addAll(other.convars_);
            }
            onChanged();
          }
        } else {
          if (!other.convars_.isEmpty()) {
            if (convarsBuilder_.isEmpty()) {
              convarsBuilder_.dispose();
              convarsBuilder_ = null;
              convars_ = other.convars_;
              bitField0_ = (bitField0_ & ~0x00000001);
              convarsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getConvarsFieldBuilder() : null;
            } else {
              convarsBuilder_.addAllMessages(other.convars_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue.parser(),
                        extensionRegistry);
                if (convarsBuilder_ == null) {
                  ensureConvarsIsMutable();
                  convars_.add(m);
                } else {
                  convarsBuilder_.addMessage(m);
                }
                break;
              } // case 10
              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 java.util.List convars_ =
        java.util.Collections.emptyList();
      private void ensureConvarsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          convars_ = new java.util.ArrayList(convars_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValueOrBuilder> convarsBuilder_;

      /**
       * repeated .CMsgConVarValue convars = 1;
       */
      public java.util.List getConvarsList() {
        if (convarsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(convars_);
        } else {
          return convarsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CMsgConVarValue convars = 1;
       */
      public int getConvarsCount() {
        if (convarsBuilder_ == null) {
          return convars_.size();
        } else {
          return convarsBuilder_.getCount();
        }
      }
      /**
       * repeated .CMsgConVarValue convars = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue getConvars(int index) {
        if (convarsBuilder_ == null) {
          return convars_.get(index);
        } else {
          return convarsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CMsgConVarValue convars = 1;
       */
      public Builder setConvars(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue value) {
        if (convarsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureConvarsIsMutable();
          convars_.set(index, value);
          onChanged();
        } else {
          convarsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgConVarValue convars = 1;
       */
      public Builder setConvars(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue.Builder builderForValue) {
        if (convarsBuilder_ == null) {
          ensureConvarsIsMutable();
          convars_.set(index, builderForValue.build());
          onChanged();
        } else {
          convarsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgConVarValue convars = 1;
       */
      public Builder addConvars(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue value) {
        if (convarsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureConvarsIsMutable();
          convars_.add(value);
          onChanged();
        } else {
          convarsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CMsgConVarValue convars = 1;
       */
      public Builder addConvars(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue value) {
        if (convarsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureConvarsIsMutable();
          convars_.add(index, value);
          onChanged();
        } else {
          convarsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgConVarValue convars = 1;
       */
      public Builder addConvars(
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue.Builder builderForValue) {
        if (convarsBuilder_ == null) {
          ensureConvarsIsMutable();
          convars_.add(builderForValue.build());
          onChanged();
        } else {
          convarsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgConVarValue convars = 1;
       */
      public Builder addConvars(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue.Builder builderForValue) {
        if (convarsBuilder_ == null) {
          ensureConvarsIsMutable();
          convars_.add(index, builderForValue.build());
          onChanged();
        } else {
          convarsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgConVarValue convars = 1;
       */
      public Builder addAllConvars(
          java.lang.Iterable values) {
        if (convarsBuilder_ == null) {
          ensureConvarsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, convars_);
          onChanged();
        } else {
          convarsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CMsgConVarValue convars = 1;
       */
      public Builder clearConvars() {
        if (convarsBuilder_ == null) {
          convars_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          convarsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CMsgConVarValue convars = 1;
       */
      public Builder removeConvars(int index) {
        if (convarsBuilder_ == null) {
          ensureConvarsIsMutable();
          convars_.remove(index);
          onChanged();
        } else {
          convarsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CMsgConVarValue convars = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue.Builder getConvarsBuilder(
          int index) {
        return getConvarsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CMsgConVarValue convars = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValueOrBuilder getConvarsOrBuilder(
          int index) {
        if (convarsBuilder_ == null) {
          return convars_.get(index);  } else {
          return convarsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CMsgConVarValue convars = 1;
       */
      public java.util.List 
           getConvarsOrBuilderList() {
        if (convarsBuilder_ != null) {
          return convarsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(convars_);
        }
      }
      /**
       * repeated .CMsgConVarValue convars = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue.Builder addConvarsBuilder() {
        return getConvarsFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue.getDefaultInstance());
      }
      /**
       * repeated .CMsgConVarValue convars = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue.Builder addConvarsBuilder(
          int index) {
        return getConvarsFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue.getDefaultInstance());
      }
      /**
       * repeated .CMsgConVarValue convars = 1;
       */
      public java.util.List 
           getConvarsBuilderList() {
        return getConvarsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValueOrBuilder> 
          getConvarsFieldBuilder() {
        if (convarsBuilder_ == null) {
          convarsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValue.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConVarValueOrBuilder>(
                  convars_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          convars_ = null;
        }
        return convarsBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgReplicateConVars)
    }

    // @@protoc_insertion_point(class_scope:CMsgReplicateConVars)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgReplicateConVars 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplicateConVars getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint64 item_id = 1;
     * @return Whether the itemId field is set.
     */
    boolean hasItemId();
    /**
     * optional uint64 item_id = 1;
     * @return The itemId.
     */
    long getItemId();

    /**
     * optional fixed64 target_steam_id = 2;
     * @return Whether the targetSteamId field is set.
     */
    boolean hasTargetSteamId();
    /**
     * optional fixed64 target_steam_id = 2;
     * @return The targetSteamId.
     */
    long getTargetSteamId();

    /**
     * repeated uint32 gift__potential_targets = 3;
     * @return A list containing the giftPotentialTargets.
     */
    java.util.List getGiftPotentialTargetsList();
    /**
     * repeated uint32 gift__potential_targets = 3;
     * @return The count of giftPotentialTargets.
     */
    int getGiftPotentialTargetsCount();
    /**
     * repeated uint32 gift__potential_targets = 3;
     * @param index The index of the element to return.
     * @return The giftPotentialTargets at the given index.
     */
    int getGiftPotentialTargets(int index);

    /**
     * optional uint32 duel__class_lock = 4;
     * @return Whether the duelClassLock field is set.
     */
    boolean hasDuelClassLock();
    /**
     * optional uint32 duel__class_lock = 4;
     * @return The duelClassLock.
     */
    int getDuelClassLock();

    /**
     * optional fixed64 initiator_steam_id = 5;
     * @return Whether the initiatorSteamId field is set.
     */
    boolean hasInitiatorSteamId();
    /**
     * optional fixed64 initiator_steam_id = 5;
     * @return The initiatorSteamId.
     */
    long getInitiatorSteamId();

    /**
     * optional bool itempack__ack_immediately = 6;
     * @return Whether the itempackAckImmediately field is set.
     */
    boolean hasItempackAckImmediately();
    /**
     * optional bool itempack__ack_immediately = 6;
     * @return The itempackAckImmediately.
     */
    boolean getItempackAckImmediately();
  }
  /**
   * Protobuf type {@code CMsgUseItem}
   */
  public static final class CMsgUseItem extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgUseItem)
      CMsgUseItemOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgUseItem.class.getName());
    }
    // Use CMsgUseItem.newBuilder() to construct.
    private CMsgUseItem(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgUseItem() {
      giftPotentialTargets_ = emptyIntList();
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgUseItem_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgUseItem_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem.Builder.class);
    }

    private int bitField0_;
    public static final int ITEM_ID_FIELD_NUMBER = 1;
    private long itemId_ = 0L;
    /**
     * optional uint64 item_id = 1;
     * @return Whether the itemId field is set.
     */
    @java.lang.Override
    public boolean hasItemId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint64 item_id = 1;
     * @return The itemId.
     */
    @java.lang.Override
    public long getItemId() {
      return itemId_;
    }

    public static final int TARGET_STEAM_ID_FIELD_NUMBER = 2;
    private long targetSteamId_ = 0L;
    /**
     * optional fixed64 target_steam_id = 2;
     * @return Whether the targetSteamId field is set.
     */
    @java.lang.Override
    public boolean hasTargetSteamId() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional fixed64 target_steam_id = 2;
     * @return The targetSteamId.
     */
    @java.lang.Override
    public long getTargetSteamId() {
      return targetSteamId_;
    }

    public static final int GIFT__POTENTIAL_TARGETS_FIELD_NUMBER = 3;
    @SuppressWarnings("serial")
    private com.google.protobuf.Internal.IntList giftPotentialTargets_ =
        emptyIntList();
    /**
     * repeated uint32 gift__potential_targets = 3;
     * @return A list containing the giftPotentialTargets.
     */
    @java.lang.Override
    public java.util.List
        getGiftPotentialTargetsList() {
      return giftPotentialTargets_;
    }
    /**
     * repeated uint32 gift__potential_targets = 3;
     * @return The count of giftPotentialTargets.
     */
    public int getGiftPotentialTargetsCount() {
      return giftPotentialTargets_.size();
    }
    /**
     * repeated uint32 gift__potential_targets = 3;
     * @param index The index of the element to return.
     * @return The giftPotentialTargets at the given index.
     */
    public int getGiftPotentialTargets(int index) {
      return giftPotentialTargets_.getInt(index);
    }

    public static final int DUEL__CLASS_LOCK_FIELD_NUMBER = 4;
    private int duelClassLock_ = 0;
    /**
     * optional uint32 duel__class_lock = 4;
     * @return Whether the duelClassLock field is set.
     */
    @java.lang.Override
    public boolean hasDuelClassLock() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional uint32 duel__class_lock = 4;
     * @return The duelClassLock.
     */
    @java.lang.Override
    public int getDuelClassLock() {
      return duelClassLock_;
    }

    public static final int INITIATOR_STEAM_ID_FIELD_NUMBER = 5;
    private long initiatorSteamId_ = 0L;
    /**
     * optional fixed64 initiator_steam_id = 5;
     * @return Whether the initiatorSteamId field is set.
     */
    @java.lang.Override
    public boolean hasInitiatorSteamId() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional fixed64 initiator_steam_id = 5;
     * @return The initiatorSteamId.
     */
    @java.lang.Override
    public long getInitiatorSteamId() {
      return initiatorSteamId_;
    }

    public static final int ITEMPACK__ACK_IMMEDIATELY_FIELD_NUMBER = 6;
    private boolean itempackAckImmediately_ = false;
    /**
     * optional bool itempack__ack_immediately = 6;
     * @return Whether the itempackAckImmediately field is set.
     */
    @java.lang.Override
    public boolean hasItempackAckImmediately() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * optional bool itempack__ack_immediately = 6;
     * @return The itempackAckImmediately.
     */
    @java.lang.Override
    public boolean getItempackAckImmediately() {
      return itempackAckImmediately_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt64(1, itemId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeFixed64(2, targetSteamId_);
      }
      for (int i = 0; i < giftPotentialTargets_.size(); i++) {
        output.writeUInt32(3, giftPotentialTargets_.getInt(i));
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeUInt32(4, duelClassLock_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeFixed64(5, initiatorSteamId_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        output.writeBool(6, itempackAckImmediately_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, itemId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed64Size(2, targetSteamId_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < giftPotentialTargets_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(giftPotentialTargets_.getInt(i));
        }
        size += dataSize;
        size += 1 * getGiftPotentialTargetsList().size();
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, duelClassLock_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed64Size(5, initiatorSteamId_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(6, itempackAckImmediately_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem) obj;

      if (hasItemId() != other.hasItemId()) return false;
      if (hasItemId()) {
        if (getItemId()
            != other.getItemId()) return false;
      }
      if (hasTargetSteamId() != other.hasTargetSteamId()) return false;
      if (hasTargetSteamId()) {
        if (getTargetSteamId()
            != other.getTargetSteamId()) return false;
      }
      if (!getGiftPotentialTargetsList()
          .equals(other.getGiftPotentialTargetsList())) return false;
      if (hasDuelClassLock() != other.hasDuelClassLock()) return false;
      if (hasDuelClassLock()) {
        if (getDuelClassLock()
            != other.getDuelClassLock()) return false;
      }
      if (hasInitiatorSteamId() != other.hasInitiatorSteamId()) return false;
      if (hasInitiatorSteamId()) {
        if (getInitiatorSteamId()
            != other.getInitiatorSteamId()) return false;
      }
      if (hasItempackAckImmediately() != other.hasItempackAckImmediately()) return false;
      if (hasItempackAckImmediately()) {
        if (getItempackAckImmediately()
            != other.getItempackAckImmediately()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasItemId()) {
        hash = (37 * hash) + ITEM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getItemId());
      }
      if (hasTargetSteamId()) {
        hash = (37 * hash) + TARGET_STEAM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getTargetSteamId());
      }
      if (getGiftPotentialTargetsCount() > 0) {
        hash = (37 * hash) + GIFT__POTENTIAL_TARGETS_FIELD_NUMBER;
        hash = (53 * hash) + getGiftPotentialTargetsList().hashCode();
      }
      if (hasDuelClassLock()) {
        hash = (37 * hash) + DUEL__CLASS_LOCK_FIELD_NUMBER;
        hash = (53 * hash) + getDuelClassLock();
      }
      if (hasInitiatorSteamId()) {
        hash = (37 * hash) + INITIATOR_STEAM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getInitiatorSteamId());
      }
      if (hasItempackAckImmediately()) {
        hash = (37 * hash) + ITEMPACK__ACK_IMMEDIATELY_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getItempackAckImmediately());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgUseItem}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgUseItem)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItemOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgUseItem_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgUseItem_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        itemId_ = 0L;
        targetSteamId_ = 0L;
        giftPotentialTargets_ = emptyIntList();
        duelClassLock_ = 0;
        initiatorSteamId_ = 0L;
        itempackAckImmediately_ = false;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgUseItem_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.itemId_ = itemId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.targetSteamId_ = targetSteamId_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          giftPotentialTargets_.makeImmutable();
          result.giftPotentialTargets_ = giftPotentialTargets_;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.duelClassLock_ = duelClassLock_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.initiatorSteamId_ = initiatorSteamId_;
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          result.itempackAckImmediately_ = itempackAckImmediately_;
          to_bitField0_ |= 0x00000010;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem.getDefaultInstance()) return this;
        if (other.hasItemId()) {
          setItemId(other.getItemId());
        }
        if (other.hasTargetSteamId()) {
          setTargetSteamId(other.getTargetSteamId());
        }
        if (!other.giftPotentialTargets_.isEmpty()) {
          if (giftPotentialTargets_.isEmpty()) {
            giftPotentialTargets_ = other.giftPotentialTargets_;
            giftPotentialTargets_.makeImmutable();
            bitField0_ |= 0x00000004;
          } else {
            ensureGiftPotentialTargetsIsMutable();
            giftPotentialTargets_.addAll(other.giftPotentialTargets_);
          }
          onChanged();
        }
        if (other.hasDuelClassLock()) {
          setDuelClassLock(other.getDuelClassLock());
        }
        if (other.hasInitiatorSteamId()) {
          setInitiatorSteamId(other.getInitiatorSteamId());
        }
        if (other.hasItempackAckImmediately()) {
          setItempackAckImmediately(other.getItempackAckImmediately());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                itemId_ = input.readUInt64();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 17: {
                targetSteamId_ = input.readFixed64();
                bitField0_ |= 0x00000002;
                break;
              } // case 17
              case 24: {
                int v = input.readUInt32();
                ensureGiftPotentialTargetsIsMutable();
                giftPotentialTargets_.addInt(v);
                break;
              } // case 24
              case 26: {
                int length = input.readRawVarint32();
                int limit = input.pushLimit(length);
                ensureGiftPotentialTargetsIsMutable();
                while (input.getBytesUntilLimit() > 0) {
                  giftPotentialTargets_.addInt(input.readUInt32());
                }
                input.popLimit(limit);
                break;
              } // case 26
              case 32: {
                duelClassLock_ = input.readUInt32();
                bitField0_ |= 0x00000008;
                break;
              } // case 32
              case 41: {
                initiatorSteamId_ = input.readFixed64();
                bitField0_ |= 0x00000010;
                break;
              } // case 41
              case 48: {
                itempackAckImmediately_ = input.readBool();
                bitField0_ |= 0x00000020;
                break;
              } // case 48
              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 long itemId_ ;
      /**
       * optional uint64 item_id = 1;
       * @return Whether the itemId field is set.
       */
      @java.lang.Override
      public boolean hasItemId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint64 item_id = 1;
       * @return The itemId.
       */
      @java.lang.Override
      public long getItemId() {
        return itemId_;
      }
      /**
       * optional uint64 item_id = 1;
       * @param value The itemId to set.
       * @return This builder for chaining.
       */
      public Builder setItemId(long value) {

        itemId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint64 item_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearItemId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        itemId_ = 0L;
        onChanged();
        return this;
      }

      private long targetSteamId_ ;
      /**
       * optional fixed64 target_steam_id = 2;
       * @return Whether the targetSteamId field is set.
       */
      @java.lang.Override
      public boolean hasTargetSteamId() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional fixed64 target_steam_id = 2;
       * @return The targetSteamId.
       */
      @java.lang.Override
      public long getTargetSteamId() {
        return targetSteamId_;
      }
      /**
       * optional fixed64 target_steam_id = 2;
       * @param value The targetSteamId to set.
       * @return This builder for chaining.
       */
      public Builder setTargetSteamId(long value) {

        targetSteamId_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional fixed64 target_steam_id = 2;
       * @return This builder for chaining.
       */
      public Builder clearTargetSteamId() {
        bitField0_ = (bitField0_ & ~0x00000002);
        targetSteamId_ = 0L;
        onChanged();
        return this;
      }

      private com.google.protobuf.Internal.IntList giftPotentialTargets_ = emptyIntList();
      private void ensureGiftPotentialTargetsIsMutable() {
        if (!giftPotentialTargets_.isModifiable()) {
          giftPotentialTargets_ = makeMutableCopy(giftPotentialTargets_);
        }
        bitField0_ |= 0x00000004;
      }
      /**
       * repeated uint32 gift__potential_targets = 3;
       * @return A list containing the giftPotentialTargets.
       */
      public java.util.List
          getGiftPotentialTargetsList() {
        giftPotentialTargets_.makeImmutable();
        return giftPotentialTargets_;
      }
      /**
       * repeated uint32 gift__potential_targets = 3;
       * @return The count of giftPotentialTargets.
       */
      public int getGiftPotentialTargetsCount() {
        return giftPotentialTargets_.size();
      }
      /**
       * repeated uint32 gift__potential_targets = 3;
       * @param index The index of the element to return.
       * @return The giftPotentialTargets at the given index.
       */
      public int getGiftPotentialTargets(int index) {
        return giftPotentialTargets_.getInt(index);
      }
      /**
       * repeated uint32 gift__potential_targets = 3;
       * @param index The index to set the value at.
       * @param value The giftPotentialTargets to set.
       * @return This builder for chaining.
       */
      public Builder setGiftPotentialTargets(
          int index, int value) {

        ensureGiftPotentialTargetsIsMutable();
        giftPotentialTargets_.setInt(index, value);
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * repeated uint32 gift__potential_targets = 3;
       * @param value The giftPotentialTargets to add.
       * @return This builder for chaining.
       */
      public Builder addGiftPotentialTargets(int value) {

        ensureGiftPotentialTargetsIsMutable();
        giftPotentialTargets_.addInt(value);
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * repeated uint32 gift__potential_targets = 3;
       * @param values The giftPotentialTargets to add.
       * @return This builder for chaining.
       */
      public Builder addAllGiftPotentialTargets(
          java.lang.Iterable values) {
        ensureGiftPotentialTargetsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, giftPotentialTargets_);
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * repeated uint32 gift__potential_targets = 3;
       * @return This builder for chaining.
       */
      public Builder clearGiftPotentialTargets() {
        giftPotentialTargets_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }

      private int duelClassLock_ ;
      /**
       * optional uint32 duel__class_lock = 4;
       * @return Whether the duelClassLock field is set.
       */
      @java.lang.Override
      public boolean hasDuelClassLock() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional uint32 duel__class_lock = 4;
       * @return The duelClassLock.
       */
      @java.lang.Override
      public int getDuelClassLock() {
        return duelClassLock_;
      }
      /**
       * optional uint32 duel__class_lock = 4;
       * @param value The duelClassLock to set.
       * @return This builder for chaining.
       */
      public Builder setDuelClassLock(int value) {

        duelClassLock_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional uint32 duel__class_lock = 4;
       * @return This builder for chaining.
       */
      public Builder clearDuelClassLock() {
        bitField0_ = (bitField0_ & ~0x00000008);
        duelClassLock_ = 0;
        onChanged();
        return this;
      }

      private long initiatorSteamId_ ;
      /**
       * optional fixed64 initiator_steam_id = 5;
       * @return Whether the initiatorSteamId field is set.
       */
      @java.lang.Override
      public boolean hasInitiatorSteamId() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * optional fixed64 initiator_steam_id = 5;
       * @return The initiatorSteamId.
       */
      @java.lang.Override
      public long getInitiatorSteamId() {
        return initiatorSteamId_;
      }
      /**
       * optional fixed64 initiator_steam_id = 5;
       * @param value The initiatorSteamId to set.
       * @return This builder for chaining.
       */
      public Builder setInitiatorSteamId(long value) {

        initiatorSteamId_ = value;
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * optional fixed64 initiator_steam_id = 5;
       * @return This builder for chaining.
       */
      public Builder clearInitiatorSteamId() {
        bitField0_ = (bitField0_ & ~0x00000010);
        initiatorSteamId_ = 0L;
        onChanged();
        return this;
      }

      private boolean itempackAckImmediately_ ;
      /**
       * optional bool itempack__ack_immediately = 6;
       * @return Whether the itempackAckImmediately field is set.
       */
      @java.lang.Override
      public boolean hasItempackAckImmediately() {
        return ((bitField0_ & 0x00000020) != 0);
      }
      /**
       * optional bool itempack__ack_immediately = 6;
       * @return The itempackAckImmediately.
       */
      @java.lang.Override
      public boolean getItempackAckImmediately() {
        return itempackAckImmediately_;
      }
      /**
       * optional bool itempack__ack_immediately = 6;
       * @param value The itempackAckImmediately to set.
       * @return This builder for chaining.
       */
      public Builder setItempackAckImmediately(boolean value) {

        itempackAckImmediately_ = value;
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * optional bool itempack__ack_immediately = 6;
       * @return This builder for chaining.
       */
      public Builder clearItempackAckImmediately() {
        bitField0_ = (bitField0_ & ~0x00000020);
        itempackAckImmediately_ = false;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgUseItem)
    }

    // @@protoc_insertion_point(class_scope:CMsgUseItem)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgUseItem 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUseItem getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional string youtube_url = 1;
     * @return Whether the youtubeUrl field is set.
     */
    boolean hasYoutubeUrl();
    /**
     * optional string youtube_url = 1;
     * @return The youtubeUrl.
     */
    java.lang.String getYoutubeUrl();
    /**
     * optional string youtube_url = 1;
     * @return The bytes for youtubeUrl.
     */
    com.google.protobuf.ByteString
        getYoutubeUrlBytes();

    /**
     * optional string youtube_account_name = 2;
     * @return Whether the youtubeAccountName field is set.
     */
    boolean hasYoutubeAccountName();
    /**
     * optional string youtube_account_name = 2;
     * @return The youtubeAccountName.
     */
    java.lang.String getYoutubeAccountName();
    /**
     * optional string youtube_account_name = 2;
     * @return The bytes for youtubeAccountName.
     */
    com.google.protobuf.ByteString
        getYoutubeAccountNameBytes();

    /**
     * optional uint64 session_id = 3;
     * @return Whether the sessionId field is set.
     */
    boolean hasSessionId();
    /**
     * optional uint64 session_id = 3;
     * @return The sessionId.
     */
    long getSessionId();
  }
  /**
   * Protobuf type {@code CMsgReplayUploadedToYouTube}
   */
  public static final class CMsgReplayUploadedToYouTube extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgReplayUploadedToYouTube)
      CMsgReplayUploadedToYouTubeOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgReplayUploadedToYouTube.class.getName());
    }
    // Use CMsgReplayUploadedToYouTube.newBuilder() to construct.
    private CMsgReplayUploadedToYouTube(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgReplayUploadedToYouTube() {
      youtubeUrl_ = "";
      youtubeAccountName_ = "";
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgReplayUploadedToYouTube_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgReplayUploadedToYouTube_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube.Builder.class);
    }

    private int bitField0_;
    public static final int YOUTUBE_URL_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object youtubeUrl_ = "";
    /**
     * optional string youtube_url = 1;
     * @return Whether the youtubeUrl field is set.
     */
    @java.lang.Override
    public boolean hasYoutubeUrl() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional string youtube_url = 1;
     * @return The youtubeUrl.
     */
    @java.lang.Override
    public java.lang.String getYoutubeUrl() {
      java.lang.Object ref = youtubeUrl_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          youtubeUrl_ = s;
        }
        return s;
      }
    }
    /**
     * optional string youtube_url = 1;
     * @return The bytes for youtubeUrl.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getYoutubeUrlBytes() {
      java.lang.Object ref = youtubeUrl_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        youtubeUrl_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int YOUTUBE_ACCOUNT_NAME_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private volatile java.lang.Object youtubeAccountName_ = "";
    /**
     * optional string youtube_account_name = 2;
     * @return Whether the youtubeAccountName field is set.
     */
    @java.lang.Override
    public boolean hasYoutubeAccountName() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional string youtube_account_name = 2;
     * @return The youtubeAccountName.
     */
    @java.lang.Override
    public java.lang.String getYoutubeAccountName() {
      java.lang.Object ref = youtubeAccountName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          youtubeAccountName_ = s;
        }
        return s;
      }
    }
    /**
     * optional string youtube_account_name = 2;
     * @return The bytes for youtubeAccountName.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getYoutubeAccountNameBytes() {
      java.lang.Object ref = youtubeAccountName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        youtubeAccountName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SESSION_ID_FIELD_NUMBER = 3;
    private long sessionId_ = 0L;
    /**
     * optional uint64 session_id = 3;
     * @return Whether the sessionId field is set.
     */
    @java.lang.Override
    public boolean hasSessionId() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional uint64 session_id = 3;
     * @return The sessionId.
     */
    @java.lang.Override
    public long getSessionId() {
      return sessionId_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 1, youtubeUrl_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 2, youtubeAccountName_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeUInt64(3, sessionId_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(1, youtubeUrl_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(2, youtubeAccountName_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(3, sessionId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube) obj;

      if (hasYoutubeUrl() != other.hasYoutubeUrl()) return false;
      if (hasYoutubeUrl()) {
        if (!getYoutubeUrl()
            .equals(other.getYoutubeUrl())) return false;
      }
      if (hasYoutubeAccountName() != other.hasYoutubeAccountName()) return false;
      if (hasYoutubeAccountName()) {
        if (!getYoutubeAccountName()
            .equals(other.getYoutubeAccountName())) return false;
      }
      if (hasSessionId() != other.hasSessionId()) return false;
      if (hasSessionId()) {
        if (getSessionId()
            != other.getSessionId()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasYoutubeUrl()) {
        hash = (37 * hash) + YOUTUBE_URL_FIELD_NUMBER;
        hash = (53 * hash) + getYoutubeUrl().hashCode();
      }
      if (hasYoutubeAccountName()) {
        hash = (37 * hash) + YOUTUBE_ACCOUNT_NAME_FIELD_NUMBER;
        hash = (53 * hash) + getYoutubeAccountName().hashCode();
      }
      if (hasSessionId()) {
        hash = (37 * hash) + SESSION_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getSessionId());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgReplayUploadedToYouTube}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgReplayUploadedToYouTube)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTubeOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgReplayUploadedToYouTube_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgReplayUploadedToYouTube_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        youtubeUrl_ = "";
        youtubeAccountName_ = "";
        sessionId_ = 0L;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgReplayUploadedToYouTube_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.youtubeUrl_ = youtubeUrl_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.youtubeAccountName_ = youtubeAccountName_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.sessionId_ = sessionId_;
          to_bitField0_ |= 0x00000004;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube.getDefaultInstance()) return this;
        if (other.hasYoutubeUrl()) {
          youtubeUrl_ = other.youtubeUrl_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        if (other.hasYoutubeAccountName()) {
          youtubeAccountName_ = other.youtubeAccountName_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        if (other.hasSessionId()) {
          setSessionId(other.getSessionId());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                youtubeUrl_ = input.readBytes();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 18: {
                youtubeAccountName_ = input.readBytes();
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              case 24: {
                sessionId_ = input.readUInt64();
                bitField0_ |= 0x00000004;
                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 bitField0_;

      private java.lang.Object youtubeUrl_ = "";
      /**
       * optional string youtube_url = 1;
       * @return Whether the youtubeUrl field is set.
       */
      public boolean hasYoutubeUrl() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional string youtube_url = 1;
       * @return The youtubeUrl.
       */
      public java.lang.String getYoutubeUrl() {
        java.lang.Object ref = youtubeUrl_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            youtubeUrl_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string youtube_url = 1;
       * @return The bytes for youtubeUrl.
       */
      public com.google.protobuf.ByteString
          getYoutubeUrlBytes() {
        java.lang.Object ref = youtubeUrl_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          youtubeUrl_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string youtube_url = 1;
       * @param value The youtubeUrl to set.
       * @return This builder for chaining.
       */
      public Builder setYoutubeUrl(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        youtubeUrl_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional string youtube_url = 1;
       * @return This builder for chaining.
       */
      public Builder clearYoutubeUrl() {
        youtubeUrl_ = getDefaultInstance().getYoutubeUrl();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * optional string youtube_url = 1;
       * @param value The bytes for youtubeUrl to set.
       * @return This builder for chaining.
       */
      public Builder setYoutubeUrlBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        youtubeUrl_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      private java.lang.Object youtubeAccountName_ = "";
      /**
       * optional string youtube_account_name = 2;
       * @return Whether the youtubeAccountName field is set.
       */
      public boolean hasYoutubeAccountName() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional string youtube_account_name = 2;
       * @return The youtubeAccountName.
       */
      public java.lang.String getYoutubeAccountName() {
        java.lang.Object ref = youtubeAccountName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            youtubeAccountName_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string youtube_account_name = 2;
       * @return The bytes for youtubeAccountName.
       */
      public com.google.protobuf.ByteString
          getYoutubeAccountNameBytes() {
        java.lang.Object ref = youtubeAccountName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          youtubeAccountName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string youtube_account_name = 2;
       * @param value The youtubeAccountName to set.
       * @return This builder for chaining.
       */
      public Builder setYoutubeAccountName(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        youtubeAccountName_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional string youtube_account_name = 2;
       * @return This builder for chaining.
       */
      public Builder clearYoutubeAccountName() {
        youtubeAccountName_ = getDefaultInstance().getYoutubeAccountName();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * optional string youtube_account_name = 2;
       * @param value The bytes for youtubeAccountName to set.
       * @return This builder for chaining.
       */
      public Builder setYoutubeAccountNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        youtubeAccountName_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      private long sessionId_ ;
      /**
       * optional uint64 session_id = 3;
       * @return Whether the sessionId field is set.
       */
      @java.lang.Override
      public boolean hasSessionId() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional uint64 session_id = 3;
       * @return The sessionId.
       */
      @java.lang.Override
      public long getSessionId() {
        return sessionId_;
      }
      /**
       * optional uint64 session_id = 3;
       * @param value The sessionId to set.
       * @return This builder for chaining.
       */
      public Builder setSessionId(long value) {

        sessionId_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional uint64 session_id = 3;
       * @return This builder for chaining.
       */
      public Builder clearSessionId() {
        bitField0_ = (bitField0_ & ~0x00000004);
        sessionId_ = 0L;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgReplayUploadedToYouTube)
    }

    // @@protoc_insertion_point(class_scope:CMsgReplayUploadedToYouTube)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgReplayUploadedToYouTube 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgReplayUploadedToYouTube getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional int32 item_def_id = 1;
     * @return Whether the itemDefId field is set.
     */
    boolean hasItemDefId();
    /**
     * optional int32 item_def_id = 1;
     * @return The itemDefId.
     */
    int getItemDefId();
  }
  /**
   * Protobuf type {@code CMsgConsumableExhausted}
   */
  public static final class CMsgConsumableExhausted extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgConsumableExhausted)
      CMsgConsumableExhaustedOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgConsumableExhausted.class.getName());
    }
    // Use CMsgConsumableExhausted.newBuilder() to construct.
    private CMsgConsumableExhausted(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgConsumableExhausted() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgConsumableExhausted_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgConsumableExhausted_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted.Builder.class);
    }

    private int bitField0_;
    public static final int ITEM_DEF_ID_FIELD_NUMBER = 1;
    private int itemDefId_ = 0;
    /**
     * optional int32 item_def_id = 1;
     * @return Whether the itemDefId field is set.
     */
    @java.lang.Override
    public boolean hasItemDefId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional int32 item_def_id = 1;
     * @return The itemDefId.
     */
    @java.lang.Override
    public int getItemDefId() {
      return itemDefId_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeInt32(1, itemDefId_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, itemDefId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted) obj;

      if (hasItemDefId() != other.hasItemDefId()) return false;
      if (hasItemDefId()) {
        if (getItemDefId()
            != other.getItemDefId()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

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

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgConsumableExhausted}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgConsumableExhausted)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhaustedOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgConsumableExhausted_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgConsumableExhausted_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        itemDefId_ = 0;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgConsumableExhausted_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.itemDefId_ = itemDefId_;
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted.getDefaultInstance()) return this;
        if (other.hasItemDefId()) {
          setItemDefId(other.getItemDefId());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                itemDefId_ = input.readInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              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 int itemDefId_ ;
      /**
       * optional int32 item_def_id = 1;
       * @return Whether the itemDefId field is set.
       */
      @java.lang.Override
      public boolean hasItemDefId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional int32 item_def_id = 1;
       * @return The itemDefId.
       */
      @java.lang.Override
      public int getItemDefId() {
        return itemDefId_;
      }
      /**
       * optional int32 item_def_id = 1;
       * @param value The itemDefId to set.
       * @return This builder for chaining.
       */
      public Builder setItemDefId(int value) {

        itemDefId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional int32 item_def_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearItemDefId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        itemDefId_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgConsumableExhausted)
    }

    // @@protoc_insertion_point(class_scope:CMsgConsumableExhausted)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgConsumableExhausted 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgConsumableExhausted getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint32 account_id = 1;
     * @return Whether the accountId field is set.
     */
    boolean hasAccountId();
    /**
     * optional uint32 account_id = 1;
     * @return The accountId.
     */
    int getAccountId();

    /**
     * optional uint32 inventory = 2;
     * @return Whether the inventory field is set.
     */
    boolean hasInventory();
    /**
     * optional uint32 inventory = 2;
     * @return The inventory.
     */
    int getInventory();

    /**
     * optional uint32 def_index = 3;
     * @return Whether the defIndex field is set.
     */
    boolean hasDefIndex();
    /**
     * optional uint32 def_index = 3;
     * @return The defIndex.
     */
    int getDefIndex();

    /**
     * optional uint32 quality = 4;
     * @return Whether the quality field is set.
     */
    boolean hasQuality();
    /**
     * optional uint32 quality = 4;
     * @return The quality.
     */
    int getQuality();

    /**
     * optional uint32 rarity = 5;
     * @return Whether the rarity field is set.
     */
    boolean hasRarity();
    /**
     * optional uint32 rarity = 5;
     * @return The rarity.
     */
    int getRarity();

    /**
     * optional uint32 origin = 6;
     * @return Whether the origin field is set.
     */
    boolean hasOrigin();
    /**
     * optional uint32 origin = 6;
     * @return The origin.
     */
    int getOrigin();

    /**
     * optional uint32 is_strange = 7;
     * @return Whether the isStrange field is set.
     */
    boolean hasIsStrange();
    /**
     * optional uint32 is_strange = 7;
     * @return The isStrange.
     */
    int getIsStrange();

    /**
     * optional uint32 is_unusual = 8;
     * @return Whether the isUnusual field is set.
     */
    boolean hasIsUnusual();
    /**
     * optional uint32 is_unusual = 8;
     * @return The isUnusual.
     */
    int getIsUnusual();

    /**
     * optional float wear = 9;
     * @return Whether the wear field is set.
     */
    boolean hasWear();
    /**
     * optional float wear = 9;
     * @return The wear.
     */
    float getWear();
  }
  /**
   * Protobuf type {@code CMsgItemAcknowledged}
   */
  public static final class CMsgItemAcknowledged extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgItemAcknowledged)
      CMsgItemAcknowledgedOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgItemAcknowledged.class.getName());
    }
    // Use CMsgItemAcknowledged.newBuilder() to construct.
    private CMsgItemAcknowledged(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgItemAcknowledged() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgItemAcknowledged_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgItemAcknowledged_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged.Builder.class);
    }

    private int bitField0_;
    public static final int ACCOUNT_ID_FIELD_NUMBER = 1;
    private int accountId_ = 0;
    /**
     * optional uint32 account_id = 1;
     * @return Whether the accountId field is set.
     */
    @java.lang.Override
    public boolean hasAccountId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 account_id = 1;
     * @return The accountId.
     */
    @java.lang.Override
    public int getAccountId() {
      return accountId_;
    }

    public static final int INVENTORY_FIELD_NUMBER = 2;
    private int inventory_ = 0;
    /**
     * optional uint32 inventory = 2;
     * @return Whether the inventory field is set.
     */
    @java.lang.Override
    public boolean hasInventory() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint32 inventory = 2;
     * @return The inventory.
     */
    @java.lang.Override
    public int getInventory() {
      return inventory_;
    }

    public static final int DEF_INDEX_FIELD_NUMBER = 3;
    private int defIndex_ = 0;
    /**
     * optional uint32 def_index = 3;
     * @return Whether the defIndex field is set.
     */
    @java.lang.Override
    public boolean hasDefIndex() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional uint32 def_index = 3;
     * @return The defIndex.
     */
    @java.lang.Override
    public int getDefIndex() {
      return defIndex_;
    }

    public static final int QUALITY_FIELD_NUMBER = 4;
    private int quality_ = 0;
    /**
     * optional uint32 quality = 4;
     * @return Whether the quality field is set.
     */
    @java.lang.Override
    public boolean hasQuality() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional uint32 quality = 4;
     * @return The quality.
     */
    @java.lang.Override
    public int getQuality() {
      return quality_;
    }

    public static final int RARITY_FIELD_NUMBER = 5;
    private int rarity_ = 0;
    /**
     * optional uint32 rarity = 5;
     * @return Whether the rarity field is set.
     */
    @java.lang.Override
    public boolean hasRarity() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * optional uint32 rarity = 5;
     * @return The rarity.
     */
    @java.lang.Override
    public int getRarity() {
      return rarity_;
    }

    public static final int ORIGIN_FIELD_NUMBER = 6;
    private int origin_ = 0;
    /**
     * optional uint32 origin = 6;
     * @return Whether the origin field is set.
     */
    @java.lang.Override
    public boolean hasOrigin() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * optional uint32 origin = 6;
     * @return The origin.
     */
    @java.lang.Override
    public int getOrigin() {
      return origin_;
    }

    public static final int IS_STRANGE_FIELD_NUMBER = 7;
    private int isStrange_ = 0;
    /**
     * optional uint32 is_strange = 7;
     * @return Whether the isStrange field is set.
     */
    @java.lang.Override
    public boolean hasIsStrange() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     * optional uint32 is_strange = 7;
     * @return The isStrange.
     */
    @java.lang.Override
    public int getIsStrange() {
      return isStrange_;
    }

    public static final int IS_UNUSUAL_FIELD_NUMBER = 8;
    private int isUnusual_ = 0;
    /**
     * optional uint32 is_unusual = 8;
     * @return Whether the isUnusual field is set.
     */
    @java.lang.Override
    public boolean hasIsUnusual() {
      return ((bitField0_ & 0x00000080) != 0);
    }
    /**
     * optional uint32 is_unusual = 8;
     * @return The isUnusual.
     */
    @java.lang.Override
    public int getIsUnusual() {
      return isUnusual_;
    }

    public static final int WEAR_FIELD_NUMBER = 9;
    private float wear_ = 0F;
    /**
     * optional float wear = 9;
     * @return Whether the wear field is set.
     */
    @java.lang.Override
    public boolean hasWear() {
      return ((bitField0_ & 0x00000100) != 0);
    }
    /**
     * optional float wear = 9;
     * @return The wear.
     */
    @java.lang.Override
    public float getWear() {
      return wear_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt32(1, accountId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeUInt32(2, inventory_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeUInt32(3, defIndex_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeUInt32(4, quality_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        output.writeUInt32(5, rarity_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        output.writeUInt32(6, origin_);
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        output.writeUInt32(7, isStrange_);
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        output.writeUInt32(8, isUnusual_);
      }
      if (((bitField0_ & 0x00000100) != 0)) {
        output.writeFloat(9, wear_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, accountId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, inventory_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, defIndex_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, quality_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(5, rarity_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(6, origin_);
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(7, isStrange_);
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(8, isUnusual_);
      }
      if (((bitField0_ & 0x00000100) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(9, wear_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged) obj;

      if (hasAccountId() != other.hasAccountId()) return false;
      if (hasAccountId()) {
        if (getAccountId()
            != other.getAccountId()) return false;
      }
      if (hasInventory() != other.hasInventory()) return false;
      if (hasInventory()) {
        if (getInventory()
            != other.getInventory()) return false;
      }
      if (hasDefIndex() != other.hasDefIndex()) return false;
      if (hasDefIndex()) {
        if (getDefIndex()
            != other.getDefIndex()) return false;
      }
      if (hasQuality() != other.hasQuality()) return false;
      if (hasQuality()) {
        if (getQuality()
            != other.getQuality()) return false;
      }
      if (hasRarity() != other.hasRarity()) return false;
      if (hasRarity()) {
        if (getRarity()
            != other.getRarity()) return false;
      }
      if (hasOrigin() != other.hasOrigin()) return false;
      if (hasOrigin()) {
        if (getOrigin()
            != other.getOrigin()) return false;
      }
      if (hasIsStrange() != other.hasIsStrange()) return false;
      if (hasIsStrange()) {
        if (getIsStrange()
            != other.getIsStrange()) return false;
      }
      if (hasIsUnusual() != other.hasIsUnusual()) return false;
      if (hasIsUnusual()) {
        if (getIsUnusual()
            != other.getIsUnusual()) return false;
      }
      if (hasWear() != other.hasWear()) return false;
      if (hasWear()) {
        if (java.lang.Float.floatToIntBits(getWear())
            != java.lang.Float.floatToIntBits(
                other.getWear())) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasAccountId()) {
        hash = (37 * hash) + ACCOUNT_ID_FIELD_NUMBER;
        hash = (53 * hash) + getAccountId();
      }
      if (hasInventory()) {
        hash = (37 * hash) + INVENTORY_FIELD_NUMBER;
        hash = (53 * hash) + getInventory();
      }
      if (hasDefIndex()) {
        hash = (37 * hash) + DEF_INDEX_FIELD_NUMBER;
        hash = (53 * hash) + getDefIndex();
      }
      if (hasQuality()) {
        hash = (37 * hash) + QUALITY_FIELD_NUMBER;
        hash = (53 * hash) + getQuality();
      }
      if (hasRarity()) {
        hash = (37 * hash) + RARITY_FIELD_NUMBER;
        hash = (53 * hash) + getRarity();
      }
      if (hasOrigin()) {
        hash = (37 * hash) + ORIGIN_FIELD_NUMBER;
        hash = (53 * hash) + getOrigin();
      }
      if (hasIsStrange()) {
        hash = (37 * hash) + IS_STRANGE_FIELD_NUMBER;
        hash = (53 * hash) + getIsStrange();
      }
      if (hasIsUnusual()) {
        hash = (37 * hash) + IS_UNUSUAL_FIELD_NUMBER;
        hash = (53 * hash) + getIsUnusual();
      }
      if (hasWear()) {
        hash = (37 * hash) + WEAR_FIELD_NUMBER;
        hash = (53 * hash) + java.lang.Float.floatToIntBits(
            getWear());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgItemAcknowledged}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgItemAcknowledged)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledgedOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgItemAcknowledged_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgItemAcknowledged_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        accountId_ = 0;
        inventory_ = 0;
        defIndex_ = 0;
        quality_ = 0;
        rarity_ = 0;
        origin_ = 0;
        isStrange_ = 0;
        isUnusual_ = 0;
        wear_ = 0F;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgItemAcknowledged_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.accountId_ = accountId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.inventory_ = inventory_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.defIndex_ = defIndex_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.quality_ = quality_;
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.rarity_ = rarity_;
          to_bitField0_ |= 0x00000010;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          result.origin_ = origin_;
          to_bitField0_ |= 0x00000020;
        }
        if (((from_bitField0_ & 0x00000040) != 0)) {
          result.isStrange_ = isStrange_;
          to_bitField0_ |= 0x00000040;
        }
        if (((from_bitField0_ & 0x00000080) != 0)) {
          result.isUnusual_ = isUnusual_;
          to_bitField0_ |= 0x00000080;
        }
        if (((from_bitField0_ & 0x00000100) != 0)) {
          result.wear_ = wear_;
          to_bitField0_ |= 0x00000100;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged.getDefaultInstance()) return this;
        if (other.hasAccountId()) {
          setAccountId(other.getAccountId());
        }
        if (other.hasInventory()) {
          setInventory(other.getInventory());
        }
        if (other.hasDefIndex()) {
          setDefIndex(other.getDefIndex());
        }
        if (other.hasQuality()) {
          setQuality(other.getQuality());
        }
        if (other.hasRarity()) {
          setRarity(other.getRarity());
        }
        if (other.hasOrigin()) {
          setOrigin(other.getOrigin());
        }
        if (other.hasIsStrange()) {
          setIsStrange(other.getIsStrange());
        }
        if (other.hasIsUnusual()) {
          setIsUnusual(other.getIsUnusual());
        }
        if (other.hasWear()) {
          setWear(other.getWear());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                accountId_ = input.readUInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                inventory_ = input.readUInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 24: {
                defIndex_ = input.readUInt32();
                bitField0_ |= 0x00000004;
                break;
              } // case 24
              case 32: {
                quality_ = input.readUInt32();
                bitField0_ |= 0x00000008;
                break;
              } // case 32
              case 40: {
                rarity_ = input.readUInt32();
                bitField0_ |= 0x00000010;
                break;
              } // case 40
              case 48: {
                origin_ = input.readUInt32();
                bitField0_ |= 0x00000020;
                break;
              } // case 48
              case 56: {
                isStrange_ = input.readUInt32();
                bitField0_ |= 0x00000040;
                break;
              } // case 56
              case 64: {
                isUnusual_ = input.readUInt32();
                bitField0_ |= 0x00000080;
                break;
              } // case 64
              case 77: {
                wear_ = input.readFloat();
                bitField0_ |= 0x00000100;
                break;
              } // case 77
              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 int accountId_ ;
      /**
       * optional uint32 account_id = 1;
       * @return Whether the accountId field is set.
       */
      @java.lang.Override
      public boolean hasAccountId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 account_id = 1;
       * @return The accountId.
       */
      @java.lang.Override
      public int getAccountId() {
        return accountId_;
      }
      /**
       * optional uint32 account_id = 1;
       * @param value The accountId to set.
       * @return This builder for chaining.
       */
      public Builder setAccountId(int value) {

        accountId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint32 account_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearAccountId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        accountId_ = 0;
        onChanged();
        return this;
      }

      private int inventory_ ;
      /**
       * optional uint32 inventory = 2;
       * @return Whether the inventory field is set.
       */
      @java.lang.Override
      public boolean hasInventory() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint32 inventory = 2;
       * @return The inventory.
       */
      @java.lang.Override
      public int getInventory() {
        return inventory_;
      }
      /**
       * optional uint32 inventory = 2;
       * @param value The inventory to set.
       * @return This builder for chaining.
       */
      public Builder setInventory(int value) {

        inventory_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint32 inventory = 2;
       * @return This builder for chaining.
       */
      public Builder clearInventory() {
        bitField0_ = (bitField0_ & ~0x00000002);
        inventory_ = 0;
        onChanged();
        return this;
      }

      private int defIndex_ ;
      /**
       * optional uint32 def_index = 3;
       * @return Whether the defIndex field is set.
       */
      @java.lang.Override
      public boolean hasDefIndex() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional uint32 def_index = 3;
       * @return The defIndex.
       */
      @java.lang.Override
      public int getDefIndex() {
        return defIndex_;
      }
      /**
       * optional uint32 def_index = 3;
       * @param value The defIndex to set.
       * @return This builder for chaining.
       */
      public Builder setDefIndex(int value) {

        defIndex_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional uint32 def_index = 3;
       * @return This builder for chaining.
       */
      public Builder clearDefIndex() {
        bitField0_ = (bitField0_ & ~0x00000004);
        defIndex_ = 0;
        onChanged();
        return this;
      }

      private int quality_ ;
      /**
       * optional uint32 quality = 4;
       * @return Whether the quality field is set.
       */
      @java.lang.Override
      public boolean hasQuality() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional uint32 quality = 4;
       * @return The quality.
       */
      @java.lang.Override
      public int getQuality() {
        return quality_;
      }
      /**
       * optional uint32 quality = 4;
       * @param value The quality to set.
       * @return This builder for chaining.
       */
      public Builder setQuality(int value) {

        quality_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional uint32 quality = 4;
       * @return This builder for chaining.
       */
      public Builder clearQuality() {
        bitField0_ = (bitField0_ & ~0x00000008);
        quality_ = 0;
        onChanged();
        return this;
      }

      private int rarity_ ;
      /**
       * optional uint32 rarity = 5;
       * @return Whether the rarity field is set.
       */
      @java.lang.Override
      public boolean hasRarity() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * optional uint32 rarity = 5;
       * @return The rarity.
       */
      @java.lang.Override
      public int getRarity() {
        return rarity_;
      }
      /**
       * optional uint32 rarity = 5;
       * @param value The rarity to set.
       * @return This builder for chaining.
       */
      public Builder setRarity(int value) {

        rarity_ = value;
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * optional uint32 rarity = 5;
       * @return This builder for chaining.
       */
      public Builder clearRarity() {
        bitField0_ = (bitField0_ & ~0x00000010);
        rarity_ = 0;
        onChanged();
        return this;
      }

      private int origin_ ;
      /**
       * optional uint32 origin = 6;
       * @return Whether the origin field is set.
       */
      @java.lang.Override
      public boolean hasOrigin() {
        return ((bitField0_ & 0x00000020) != 0);
      }
      /**
       * optional uint32 origin = 6;
       * @return The origin.
       */
      @java.lang.Override
      public int getOrigin() {
        return origin_;
      }
      /**
       * optional uint32 origin = 6;
       * @param value The origin to set.
       * @return This builder for chaining.
       */
      public Builder setOrigin(int value) {

        origin_ = value;
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * optional uint32 origin = 6;
       * @return This builder for chaining.
       */
      public Builder clearOrigin() {
        bitField0_ = (bitField0_ & ~0x00000020);
        origin_ = 0;
        onChanged();
        return this;
      }

      private int isStrange_ ;
      /**
       * optional uint32 is_strange = 7;
       * @return Whether the isStrange field is set.
       */
      @java.lang.Override
      public boolean hasIsStrange() {
        return ((bitField0_ & 0x00000040) != 0);
      }
      /**
       * optional uint32 is_strange = 7;
       * @return The isStrange.
       */
      @java.lang.Override
      public int getIsStrange() {
        return isStrange_;
      }
      /**
       * optional uint32 is_strange = 7;
       * @param value The isStrange to set.
       * @return This builder for chaining.
       */
      public Builder setIsStrange(int value) {

        isStrange_ = value;
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }
      /**
       * optional uint32 is_strange = 7;
       * @return This builder for chaining.
       */
      public Builder clearIsStrange() {
        bitField0_ = (bitField0_ & ~0x00000040);
        isStrange_ = 0;
        onChanged();
        return this;
      }

      private int isUnusual_ ;
      /**
       * optional uint32 is_unusual = 8;
       * @return Whether the isUnusual field is set.
       */
      @java.lang.Override
      public boolean hasIsUnusual() {
        return ((bitField0_ & 0x00000080) != 0);
      }
      /**
       * optional uint32 is_unusual = 8;
       * @return The isUnusual.
       */
      @java.lang.Override
      public int getIsUnusual() {
        return isUnusual_;
      }
      /**
       * optional uint32 is_unusual = 8;
       * @param value The isUnusual to set.
       * @return This builder for chaining.
       */
      public Builder setIsUnusual(int value) {

        isUnusual_ = value;
        bitField0_ |= 0x00000080;
        onChanged();
        return this;
      }
      /**
       * optional uint32 is_unusual = 8;
       * @return This builder for chaining.
       */
      public Builder clearIsUnusual() {
        bitField0_ = (bitField0_ & ~0x00000080);
        isUnusual_ = 0;
        onChanged();
        return this;
      }

      private float wear_ ;
      /**
       * optional float wear = 9;
       * @return Whether the wear field is set.
       */
      @java.lang.Override
      public boolean hasWear() {
        return ((bitField0_ & 0x00000100) != 0);
      }
      /**
       * optional float wear = 9;
       * @return The wear.
       */
      @java.lang.Override
      public float getWear() {
        return wear_;
      }
      /**
       * optional float wear = 9;
       * @param value The wear to set.
       * @return This builder for chaining.
       */
      public Builder setWear(float value) {

        wear_ = value;
        bitField0_ |= 0x00000100;
        onChanged();
        return this;
      }
      /**
       * optional float wear = 9;
       * @return This builder for chaining.
       */
      public Builder clearWear() {
        bitField0_ = (bitField0_ & ~0x00000100);
        wear_ = 0F;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgItemAcknowledged)
    }

    // @@protoc_insertion_point(class_scope:CMsgItemAcknowledged)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgItemAcknowledged 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgItemAcknowledged getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint32 class_id = 1;
     * @return Whether the classId field is set.
     */
    boolean hasClassId();
    /**
     * optional uint32 class_id = 1;
     * @return The classId.
     */
    int getClassId();

    /**
     * optional uint32 preset_id = 2;
     * @return Whether the presetId field is set.
     */
    boolean hasPresetId();
    /**
     * optional uint32 preset_id = 2;
     * @return The presetId.
     */
    int getPresetId();

    /**
     * optional uint32 slot_id = 3;
     * @return Whether the slotId field is set.
     */
    boolean hasSlotId();
    /**
     * optional uint32 slot_id = 3;
     * @return The slotId.
     */
    int getSlotId();

    /**
     * optional uint64 item_id = 4;
     * @return Whether the itemId field is set.
     */
    boolean hasItemId();
    /**
     * optional uint64 item_id = 4;
     * @return The itemId.
     */
    long getItemId();
  }
  /**
   * Protobuf type {@code CMsgSetPresetItemPosition}
   */
  public static final class CMsgSetPresetItemPosition extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgSetPresetItemPosition)
      CMsgSetPresetItemPositionOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgSetPresetItemPosition.class.getName());
    }
    // Use CMsgSetPresetItemPosition.newBuilder() to construct.
    private CMsgSetPresetItemPosition(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgSetPresetItemPosition() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSetPresetItemPosition_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSetPresetItemPosition_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition.Builder.class);
    }

    private int bitField0_;
    public static final int CLASS_ID_FIELD_NUMBER = 1;
    private int classId_ = 0;
    /**
     * optional uint32 class_id = 1;
     * @return Whether the classId field is set.
     */
    @java.lang.Override
    public boolean hasClassId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 class_id = 1;
     * @return The classId.
     */
    @java.lang.Override
    public int getClassId() {
      return classId_;
    }

    public static final int PRESET_ID_FIELD_NUMBER = 2;
    private int presetId_ = 0;
    /**
     * optional uint32 preset_id = 2;
     * @return Whether the presetId field is set.
     */
    @java.lang.Override
    public boolean hasPresetId() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint32 preset_id = 2;
     * @return The presetId.
     */
    @java.lang.Override
    public int getPresetId() {
      return presetId_;
    }

    public static final int SLOT_ID_FIELD_NUMBER = 3;
    private int slotId_ = 0;
    /**
     * optional uint32 slot_id = 3;
     * @return Whether the slotId field is set.
     */
    @java.lang.Override
    public boolean hasSlotId() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional uint32 slot_id = 3;
     * @return The slotId.
     */
    @java.lang.Override
    public int getSlotId() {
      return slotId_;
    }

    public static final int ITEM_ID_FIELD_NUMBER = 4;
    private long itemId_ = 0L;
    /**
     * optional uint64 item_id = 4;
     * @return Whether the itemId field is set.
     */
    @java.lang.Override
    public boolean hasItemId() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional uint64 item_id = 4;
     * @return The itemId.
     */
    @java.lang.Override
    public long getItemId() {
      return itemId_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt32(1, classId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeUInt32(2, presetId_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeUInt32(3, slotId_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeUInt64(4, itemId_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, classId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, presetId_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, slotId_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(4, itemId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition) obj;

      if (hasClassId() != other.hasClassId()) return false;
      if (hasClassId()) {
        if (getClassId()
            != other.getClassId()) return false;
      }
      if (hasPresetId() != other.hasPresetId()) return false;
      if (hasPresetId()) {
        if (getPresetId()
            != other.getPresetId()) return false;
      }
      if (hasSlotId() != other.hasSlotId()) return false;
      if (hasSlotId()) {
        if (getSlotId()
            != other.getSlotId()) return false;
      }
      if (hasItemId() != other.hasItemId()) return false;
      if (hasItemId()) {
        if (getItemId()
            != other.getItemId()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasClassId()) {
        hash = (37 * hash) + CLASS_ID_FIELD_NUMBER;
        hash = (53 * hash) + getClassId();
      }
      if (hasPresetId()) {
        hash = (37 * hash) + PRESET_ID_FIELD_NUMBER;
        hash = (53 * hash) + getPresetId();
      }
      if (hasSlotId()) {
        hash = (37 * hash) + SLOT_ID_FIELD_NUMBER;
        hash = (53 * hash) + getSlotId();
      }
      if (hasItemId()) {
        hash = (37 * hash) + ITEM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getItemId());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgSetPresetItemPosition}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgSetPresetItemPosition)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPositionOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSetPresetItemPosition_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSetPresetItemPosition_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        classId_ = 0;
        presetId_ = 0;
        slotId_ = 0;
        itemId_ = 0L;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSetPresetItemPosition_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.classId_ = classId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.presetId_ = presetId_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.slotId_ = slotId_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.itemId_ = itemId_;
          to_bitField0_ |= 0x00000008;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition.getDefaultInstance()) return this;
        if (other.hasClassId()) {
          setClassId(other.getClassId());
        }
        if (other.hasPresetId()) {
          setPresetId(other.getPresetId());
        }
        if (other.hasSlotId()) {
          setSlotId(other.getSlotId());
        }
        if (other.hasItemId()) {
          setItemId(other.getItemId());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                classId_ = input.readUInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                presetId_ = input.readUInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 24: {
                slotId_ = input.readUInt32();
                bitField0_ |= 0x00000004;
                break;
              } // case 24
              case 32: {
                itemId_ = input.readUInt64();
                bitField0_ |= 0x00000008;
                break;
              } // case 32
              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 int classId_ ;
      /**
       * optional uint32 class_id = 1;
       * @return Whether the classId field is set.
       */
      @java.lang.Override
      public boolean hasClassId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 class_id = 1;
       * @return The classId.
       */
      @java.lang.Override
      public int getClassId() {
        return classId_;
      }
      /**
       * optional uint32 class_id = 1;
       * @param value The classId to set.
       * @return This builder for chaining.
       */
      public Builder setClassId(int value) {

        classId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint32 class_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearClassId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        classId_ = 0;
        onChanged();
        return this;
      }

      private int presetId_ ;
      /**
       * optional uint32 preset_id = 2;
       * @return Whether the presetId field is set.
       */
      @java.lang.Override
      public boolean hasPresetId() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint32 preset_id = 2;
       * @return The presetId.
       */
      @java.lang.Override
      public int getPresetId() {
        return presetId_;
      }
      /**
       * optional uint32 preset_id = 2;
       * @param value The presetId to set.
       * @return This builder for chaining.
       */
      public Builder setPresetId(int value) {

        presetId_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint32 preset_id = 2;
       * @return This builder for chaining.
       */
      public Builder clearPresetId() {
        bitField0_ = (bitField0_ & ~0x00000002);
        presetId_ = 0;
        onChanged();
        return this;
      }

      private int slotId_ ;
      /**
       * optional uint32 slot_id = 3;
       * @return Whether the slotId field is set.
       */
      @java.lang.Override
      public boolean hasSlotId() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional uint32 slot_id = 3;
       * @return The slotId.
       */
      @java.lang.Override
      public int getSlotId() {
        return slotId_;
      }
      /**
       * optional uint32 slot_id = 3;
       * @param value The slotId to set.
       * @return This builder for chaining.
       */
      public Builder setSlotId(int value) {

        slotId_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional uint32 slot_id = 3;
       * @return This builder for chaining.
       */
      public Builder clearSlotId() {
        bitField0_ = (bitField0_ & ~0x00000004);
        slotId_ = 0;
        onChanged();
        return this;
      }

      private long itemId_ ;
      /**
       * optional uint64 item_id = 4;
       * @return Whether the itemId field is set.
       */
      @java.lang.Override
      public boolean hasItemId() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional uint64 item_id = 4;
       * @return The itemId.
       */
      @java.lang.Override
      public long getItemId() {
        return itemId_;
      }
      /**
       * optional uint64 item_id = 4;
       * @param value The itemId to set.
       * @return This builder for chaining.
       */
      public Builder setItemId(long value) {

        itemId_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional uint64 item_id = 4;
       * @return This builder for chaining.
       */
      public Builder clearItemId() {
        bitField0_ = (bitField0_ & ~0x00000008);
        itemId_ = 0L;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgSetPresetItemPosition)
    }

    // @@protoc_insertion_point(class_scope:CMsgSetPresetItemPosition)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgSetPresetItemPosition 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetPresetItemPosition getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
     */
    java.util.List 
        getItemPositionsList();
    /**
     * repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition getItemPositions(int index);
    /**
     * repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
     */
    int getItemPositionsCount();
    /**
     * repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
     */
    java.util.List 
        getItemPositionsOrBuilderList();
    /**
     * repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPositionOrBuilder getItemPositionsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code CMsgSetItemPositions}
   */
  public static final class CMsgSetItemPositions extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgSetItemPositions)
      CMsgSetItemPositionsOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgSetItemPositions.class.getName());
    }
    // Use CMsgSetItemPositions.newBuilder() to construct.
    private CMsgSetItemPositions(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgSetItemPositions() {
      itemPositions_ = java.util.Collections.emptyList();
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSetItemPositions_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSetItemPositions_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.Builder.class);
    }

    public interface ItemPositionOrBuilder extends
        // @@protoc_insertion_point(interface_extends:CMsgSetItemPositions.ItemPosition)
        com.google.protobuf.MessageOrBuilder {

      /**
       * optional uint64 item_id = 1;
       * @return Whether the itemId field is set.
       */
      boolean hasItemId();
      /**
       * optional uint64 item_id = 1;
       * @return The itemId.
       */
      long getItemId();

      /**
       * optional uint32 position = 2;
       * @return Whether the position field is set.
       */
      boolean hasPosition();
      /**
       * optional uint32 position = 2;
       * @return The position.
       */
      int getPosition();
    }
    /**
     * Protobuf type {@code CMsgSetItemPositions.ItemPosition}
     */
    public static final class ItemPosition extends
        com.google.protobuf.GeneratedMessage implements
        // @@protoc_insertion_point(message_implements:CMsgSetItemPositions.ItemPosition)
        ItemPositionOrBuilder {
    private static final long serialVersionUID = 0L;
      static {
        com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
          com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
          /* major= */ 4,
          /* minor= */ 28,
          /* patch= */ 0,
          /* suffix= */ "",
          ItemPosition.class.getName());
      }
      // Use ItemPosition.newBuilder() to construct.
      private ItemPosition(com.google.protobuf.GeneratedMessage.Builder builder) {
        super(builder);
      }
      private ItemPosition() {
      }

      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSetItemPositions_ItemPosition_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSetItemPositions_ItemPosition_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition.Builder.class);
      }

      private int bitField0_;
      public static final int ITEM_ID_FIELD_NUMBER = 1;
      private long itemId_ = 0L;
      /**
       * optional uint64 item_id = 1;
       * @return Whether the itemId field is set.
       */
      @java.lang.Override
      public boolean hasItemId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint64 item_id = 1;
       * @return The itemId.
       */
      @java.lang.Override
      public long getItemId() {
        return itemId_;
      }

      public static final int POSITION_FIELD_NUMBER = 2;
      private int position_ = 0;
      /**
       * optional uint32 position = 2;
       * @return Whether the position field is set.
       */
      @java.lang.Override
      public boolean hasPosition() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint32 position = 2;
       * @return The position.
       */
      @java.lang.Override
      public int getPosition() {
        return position_;
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeUInt64(1, itemId_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeUInt32(2, position_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt64Size(1, itemId_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(2, position_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition)) {
          return super.equals(obj);
        }
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition) obj;

        if (hasItemId() != other.hasItemId()) return false;
        if (hasItemId()) {
          if (getItemId()
              != other.getItemId()) return false;
        }
        if (hasPosition() != other.hasPosition()) return false;
        if (hasPosition()) {
          if (getPosition()
              != other.getPosition()) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasItemId()) {
          hash = (37 * hash) + ITEM_ID_FIELD_NUMBER;
          hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
              getItemId());
        }
        if (hasPosition()) {
          hash = (37 * hash) + POSITION_FIELD_NUMBER;
          hash = (53 * hash) + getPosition();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseWithIOException(PARSER, input);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseWithIOException(PARSER, input);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code CMsgSetItemPositions.ItemPosition}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder implements
          // @@protoc_insertion_point(builder_implements:CMsgSetItemPositions.ItemPosition)
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPositionOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSetItemPositions_ItemPosition_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSetItemPositions_ItemPosition_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition.Builder.class);
        }

        // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition.newBuilder()
        private Builder() {

        }

        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          itemId_ = 0L;
          position_ = 0;
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSetItemPositions_ItemPosition_descriptor;
        }

        @java.lang.Override
        public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition getDefaultInstanceForType() {
          return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition.getDefaultInstance();
        }

        @java.lang.Override
        public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition build() {
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition buildPartial() {
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }

        private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.itemId_ = itemId_;
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.position_ = position_;
            to_bitField0_ |= 0x00000002;
          }
          result.bitField0_ |= to_bitField0_;
        }

        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition) {
            return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition other) {
          if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition.getDefaultInstance()) return this;
          if (other.hasItemId()) {
            setItemId(other.getItemId());
          }
          if (other.hasPosition()) {
            setPosition(other.getPosition());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

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

        @java.lang.Override
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 8: {
                  itemId_ = input.readUInt64();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 8
                case 16: {
                  position_ = input.readUInt32();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 16
                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 long itemId_ ;
        /**
         * optional uint64 item_id = 1;
         * @return Whether the itemId field is set.
         */
        @java.lang.Override
        public boolean hasItemId() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * optional uint64 item_id = 1;
         * @return The itemId.
         */
        @java.lang.Override
        public long getItemId() {
          return itemId_;
        }
        /**
         * optional uint64 item_id = 1;
         * @param value The itemId to set.
         * @return This builder for chaining.
         */
        public Builder setItemId(long value) {

          itemId_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * optional uint64 item_id = 1;
         * @return This builder for chaining.
         */
        public Builder clearItemId() {
          bitField0_ = (bitField0_ & ~0x00000001);
          itemId_ = 0L;
          onChanged();
          return this;
        }

        private int position_ ;
        /**
         * optional uint32 position = 2;
         * @return Whether the position field is set.
         */
        @java.lang.Override
        public boolean hasPosition() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * optional uint32 position = 2;
         * @return The position.
         */
        @java.lang.Override
        public int getPosition() {
          return position_;
        }
        /**
         * optional uint32 position = 2;
         * @param value The position to set.
         * @return This builder for chaining.
         */
        public Builder setPosition(int value) {

          position_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * optional uint32 position = 2;
         * @return This builder for chaining.
         */
        public Builder clearPosition() {
          bitField0_ = (bitField0_ & ~0x00000002);
          position_ = 0;
          onChanged();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:CMsgSetItemPositions.ItemPosition)
      }

      // @@protoc_insertion_point(class_scope:CMsgSetItemPositions.ItemPosition)
      private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition();
      }

      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser
          PARSER = new com.google.protobuf.AbstractParser() {
        @java.lang.Override
        public ItemPosition 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 parser() {
        return PARSER;
      }

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

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public static final int ITEM_POSITIONS_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private java.util.List itemPositions_;
    /**
     * repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
     */
    @java.lang.Override
    public java.util.List getItemPositionsList() {
      return itemPositions_;
    }
    /**
     * repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
     */
    @java.lang.Override
    public java.util.List 
        getItemPositionsOrBuilderList() {
      return itemPositions_;
    }
    /**
     * repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
     */
    @java.lang.Override
    public int getItemPositionsCount() {
      return itemPositions_.size();
    }
    /**
     * repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition getItemPositions(int index) {
      return itemPositions_.get(index);
    }
    /**
     * repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPositionOrBuilder getItemPositionsOrBuilder(
        int index) {
      return itemPositions_.get(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

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

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions) obj;

      if (!getItemPositionsList()
          .equals(other.getItemPositionsList())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getItemPositionsCount() > 0) {
        hash = (37 * hash) + ITEM_POSITIONS_FIELD_NUMBER;
        hash = (53 * hash) + getItemPositionsList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgSetItemPositions}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgSetItemPositions)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositionsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSetItemPositions_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSetItemPositions_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        if (itemPositionsBuilder_ == null) {
          itemPositions_ = java.util.Collections.emptyList();
        } else {
          itemPositions_ = null;
          itemPositionsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSetItemPositions_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions(this);
        buildPartialRepeatedFields(result);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartialRepeatedFields(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions result) {
        if (itemPositionsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            itemPositions_ = java.util.Collections.unmodifiableList(itemPositions_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.itemPositions_ = itemPositions_;
        } else {
          result.itemPositions_ = itemPositionsBuilder_.build();
        }
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions result) {
        int from_bitField0_ = bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.getDefaultInstance()) return this;
        if (itemPositionsBuilder_ == null) {
          if (!other.itemPositions_.isEmpty()) {
            if (itemPositions_.isEmpty()) {
              itemPositions_ = other.itemPositions_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureItemPositionsIsMutable();
              itemPositions_.addAll(other.itemPositions_);
            }
            onChanged();
          }
        } else {
          if (!other.itemPositions_.isEmpty()) {
            if (itemPositionsBuilder_.isEmpty()) {
              itemPositionsBuilder_.dispose();
              itemPositionsBuilder_ = null;
              itemPositions_ = other.itemPositions_;
              bitField0_ = (bitField0_ & ~0x00000001);
              itemPositionsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getItemPositionsFieldBuilder() : null;
            } else {
              itemPositionsBuilder_.addAllMessages(other.itemPositions_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition.parser(),
                        extensionRegistry);
                if (itemPositionsBuilder_ == null) {
                  ensureItemPositionsIsMutable();
                  itemPositions_.add(m);
                } else {
                  itemPositionsBuilder_.addMessage(m);
                }
                break;
              } // case 10
              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 java.util.List itemPositions_ =
        java.util.Collections.emptyList();
      private void ensureItemPositionsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          itemPositions_ = new java.util.ArrayList(itemPositions_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPositionOrBuilder> itemPositionsBuilder_;

      /**
       * repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
       */
      public java.util.List getItemPositionsList() {
        if (itemPositionsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(itemPositions_);
        } else {
          return itemPositionsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
       */
      public int getItemPositionsCount() {
        if (itemPositionsBuilder_ == null) {
          return itemPositions_.size();
        } else {
          return itemPositionsBuilder_.getCount();
        }
      }
      /**
       * repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition getItemPositions(int index) {
        if (itemPositionsBuilder_ == null) {
          return itemPositions_.get(index);
        } else {
          return itemPositionsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
       */
      public Builder setItemPositions(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition value) {
        if (itemPositionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureItemPositionsIsMutable();
          itemPositions_.set(index, value);
          onChanged();
        } else {
          itemPositionsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
       */
      public Builder setItemPositions(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition.Builder builderForValue) {
        if (itemPositionsBuilder_ == null) {
          ensureItemPositionsIsMutable();
          itemPositions_.set(index, builderForValue.build());
          onChanged();
        } else {
          itemPositionsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
       */
      public Builder addItemPositions(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition value) {
        if (itemPositionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureItemPositionsIsMutable();
          itemPositions_.add(value);
          onChanged();
        } else {
          itemPositionsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
       */
      public Builder addItemPositions(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition value) {
        if (itemPositionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureItemPositionsIsMutable();
          itemPositions_.add(index, value);
          onChanged();
        } else {
          itemPositionsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
       */
      public Builder addItemPositions(
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition.Builder builderForValue) {
        if (itemPositionsBuilder_ == null) {
          ensureItemPositionsIsMutable();
          itemPositions_.add(builderForValue.build());
          onChanged();
        } else {
          itemPositionsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
       */
      public Builder addItemPositions(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition.Builder builderForValue) {
        if (itemPositionsBuilder_ == null) {
          ensureItemPositionsIsMutable();
          itemPositions_.add(index, builderForValue.build());
          onChanged();
        } else {
          itemPositionsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
       */
      public Builder addAllItemPositions(
          java.lang.Iterable values) {
        if (itemPositionsBuilder_ == null) {
          ensureItemPositionsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, itemPositions_);
          onChanged();
        } else {
          itemPositionsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
       */
      public Builder clearItemPositions() {
        if (itemPositionsBuilder_ == null) {
          itemPositions_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          itemPositionsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
       */
      public Builder removeItemPositions(int index) {
        if (itemPositionsBuilder_ == null) {
          ensureItemPositionsIsMutable();
          itemPositions_.remove(index);
          onChanged();
        } else {
          itemPositionsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition.Builder getItemPositionsBuilder(
          int index) {
        return getItemPositionsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPositionOrBuilder getItemPositionsOrBuilder(
          int index) {
        if (itemPositionsBuilder_ == null) {
          return itemPositions_.get(index);  } else {
          return itemPositionsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
       */
      public java.util.List 
           getItemPositionsOrBuilderList() {
        if (itemPositionsBuilder_ != null) {
          return itemPositionsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(itemPositions_);
        }
      }
      /**
       * repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition.Builder addItemPositionsBuilder() {
        return getItemPositionsFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition.getDefaultInstance());
      }
      /**
       * repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition.Builder addItemPositionsBuilder(
          int index) {
        return getItemPositionsFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition.getDefaultInstance());
      }
      /**
       * repeated .CMsgSetItemPositions.ItemPosition item_positions = 1;
       */
      public java.util.List 
           getItemPositionsBuilderList() {
        return getItemPositionsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPositionOrBuilder> 
          getItemPositionsFieldBuilder() {
        if (itemPositionsBuilder_ == null) {
          itemPositionsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPosition.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions.ItemPositionOrBuilder>(
                  itemPositions_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          itemPositions_ = null;
        }
        return itemPositionsBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgSetItemPositions)
    }

    // @@protoc_insertion_point(class_scope:CMsgSetItemPositions)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgSetItemPositions 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemPositions getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint32 class_id = 2 [(.key_field) = true];
     * @return Whether the classId field is set.
     */
    boolean hasClassId();
    /**
     * optional uint32 class_id = 2 [(.key_field) = true];
     * @return The classId.
     */
    int getClassId();

    /**
     * optional uint32 preset_id = 3 [(.key_field) = true];
     * @return Whether the presetId field is set.
     */
    boolean hasPresetId();
    /**
     * optional uint32 preset_id = 3 [(.key_field) = true];
     * @return The presetId.
     */
    int getPresetId();

    /**
     * optional uint32 slot_id = 4 [(.key_field) = true];
     * @return Whether the slotId field is set.
     */
    boolean hasSlotId();
    /**
     * optional uint32 slot_id = 4 [(.key_field) = true];
     * @return The slotId.
     */
    int getSlotId();

    /**
     * optional uint64 item_id = 5;
     * @return Whether the itemId field is set.
     */
    boolean hasItemId();
    /**
     * optional uint64 item_id = 5;
     * @return The itemId.
     */
    long getItemId();
  }
  /**
   * Protobuf type {@code CSOEconItemPresetInstance}
   */
  public static final class CSOEconItemPresetInstance extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CSOEconItemPresetInstance)
      CSOEconItemPresetInstanceOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CSOEconItemPresetInstance.class.getName());
    }
    // Use CSOEconItemPresetInstance.newBuilder() to construct.
    private CSOEconItemPresetInstance(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CSOEconItemPresetInstance() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconItemPresetInstance_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconItemPresetInstance_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance.Builder.class);
    }

    private int bitField0_;
    public static final int CLASS_ID_FIELD_NUMBER = 2;
    private int classId_ = 0;
    /**
     * optional uint32 class_id = 2 [(.key_field) = true];
     * @return Whether the classId field is set.
     */
    @java.lang.Override
    public boolean hasClassId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 class_id = 2 [(.key_field) = true];
     * @return The classId.
     */
    @java.lang.Override
    public int getClassId() {
      return classId_;
    }

    public static final int PRESET_ID_FIELD_NUMBER = 3;
    private int presetId_ = 0;
    /**
     * optional uint32 preset_id = 3 [(.key_field) = true];
     * @return Whether the presetId field is set.
     */
    @java.lang.Override
    public boolean hasPresetId() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint32 preset_id = 3 [(.key_field) = true];
     * @return The presetId.
     */
    @java.lang.Override
    public int getPresetId() {
      return presetId_;
    }

    public static final int SLOT_ID_FIELD_NUMBER = 4;
    private int slotId_ = 0;
    /**
     * optional uint32 slot_id = 4 [(.key_field) = true];
     * @return Whether the slotId field is set.
     */
    @java.lang.Override
    public boolean hasSlotId() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional uint32 slot_id = 4 [(.key_field) = true];
     * @return The slotId.
     */
    @java.lang.Override
    public int getSlotId() {
      return slotId_;
    }

    public static final int ITEM_ID_FIELD_NUMBER = 5;
    private long itemId_ = 0L;
    /**
     * optional uint64 item_id = 5;
     * @return Whether the itemId field is set.
     */
    @java.lang.Override
    public boolean hasItemId() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional uint64 item_id = 5;
     * @return The itemId.
     */
    @java.lang.Override
    public long getItemId() {
      return itemId_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt32(2, classId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeUInt32(3, presetId_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeUInt32(4, slotId_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeUInt64(5, itemId_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, classId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, presetId_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, slotId_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(5, itemId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance) obj;

      if (hasClassId() != other.hasClassId()) return false;
      if (hasClassId()) {
        if (getClassId()
            != other.getClassId()) return false;
      }
      if (hasPresetId() != other.hasPresetId()) return false;
      if (hasPresetId()) {
        if (getPresetId()
            != other.getPresetId()) return false;
      }
      if (hasSlotId() != other.hasSlotId()) return false;
      if (hasSlotId()) {
        if (getSlotId()
            != other.getSlotId()) return false;
      }
      if (hasItemId() != other.hasItemId()) return false;
      if (hasItemId()) {
        if (getItemId()
            != other.getItemId()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasClassId()) {
        hash = (37 * hash) + CLASS_ID_FIELD_NUMBER;
        hash = (53 * hash) + getClassId();
      }
      if (hasPresetId()) {
        hash = (37 * hash) + PRESET_ID_FIELD_NUMBER;
        hash = (53 * hash) + getPresetId();
      }
      if (hasSlotId()) {
        hash = (37 * hash) + SLOT_ID_FIELD_NUMBER;
        hash = (53 * hash) + getSlotId();
      }
      if (hasItemId()) {
        hash = (37 * hash) + ITEM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getItemId());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSOEconItemPresetInstance}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CSOEconItemPresetInstance)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstanceOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconItemPresetInstance_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconItemPresetInstance_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        classId_ = 0;
        presetId_ = 0;
        slotId_ = 0;
        itemId_ = 0L;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconItemPresetInstance_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.classId_ = classId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.presetId_ = presetId_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.slotId_ = slotId_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.itemId_ = itemId_;
          to_bitField0_ |= 0x00000008;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance.getDefaultInstance()) return this;
        if (other.hasClassId()) {
          setClassId(other.getClassId());
        }
        if (other.hasPresetId()) {
          setPresetId(other.getPresetId());
        }
        if (other.hasSlotId()) {
          setSlotId(other.getSlotId());
        }
        if (other.hasItemId()) {
          setItemId(other.getItemId());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 16: {
                classId_ = input.readUInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 16
              case 24: {
                presetId_ = input.readUInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 24
              case 32: {
                slotId_ = input.readUInt32();
                bitField0_ |= 0x00000004;
                break;
              } // case 32
              case 40: {
                itemId_ = input.readUInt64();
                bitField0_ |= 0x00000008;
                break;
              } // case 40
              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 int classId_ ;
      /**
       * optional uint32 class_id = 2 [(.key_field) = true];
       * @return Whether the classId field is set.
       */
      @java.lang.Override
      public boolean hasClassId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 class_id = 2 [(.key_field) = true];
       * @return The classId.
       */
      @java.lang.Override
      public int getClassId() {
        return classId_;
      }
      /**
       * optional uint32 class_id = 2 [(.key_field) = true];
       * @param value The classId to set.
       * @return This builder for chaining.
       */
      public Builder setClassId(int value) {

        classId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint32 class_id = 2 [(.key_field) = true];
       * @return This builder for chaining.
       */
      public Builder clearClassId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        classId_ = 0;
        onChanged();
        return this;
      }

      private int presetId_ ;
      /**
       * optional uint32 preset_id = 3 [(.key_field) = true];
       * @return Whether the presetId field is set.
       */
      @java.lang.Override
      public boolean hasPresetId() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint32 preset_id = 3 [(.key_field) = true];
       * @return The presetId.
       */
      @java.lang.Override
      public int getPresetId() {
        return presetId_;
      }
      /**
       * optional uint32 preset_id = 3 [(.key_field) = true];
       * @param value The presetId to set.
       * @return This builder for chaining.
       */
      public Builder setPresetId(int value) {

        presetId_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint32 preset_id = 3 [(.key_field) = true];
       * @return This builder for chaining.
       */
      public Builder clearPresetId() {
        bitField0_ = (bitField0_ & ~0x00000002);
        presetId_ = 0;
        onChanged();
        return this;
      }

      private int slotId_ ;
      /**
       * optional uint32 slot_id = 4 [(.key_field) = true];
       * @return Whether the slotId field is set.
       */
      @java.lang.Override
      public boolean hasSlotId() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional uint32 slot_id = 4 [(.key_field) = true];
       * @return The slotId.
       */
      @java.lang.Override
      public int getSlotId() {
        return slotId_;
      }
      /**
       * optional uint32 slot_id = 4 [(.key_field) = true];
       * @param value The slotId to set.
       * @return This builder for chaining.
       */
      public Builder setSlotId(int value) {

        slotId_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional uint32 slot_id = 4 [(.key_field) = true];
       * @return This builder for chaining.
       */
      public Builder clearSlotId() {
        bitField0_ = (bitField0_ & ~0x00000004);
        slotId_ = 0;
        onChanged();
        return this;
      }

      private long itemId_ ;
      /**
       * optional uint64 item_id = 5;
       * @return Whether the itemId field is set.
       */
      @java.lang.Override
      public boolean hasItemId() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional uint64 item_id = 5;
       * @return The itemId.
       */
      @java.lang.Override
      public long getItemId() {
        return itemId_;
      }
      /**
       * optional uint64 item_id = 5;
       * @param value The itemId to set.
       * @return This builder for chaining.
       */
      public Builder setItemId(long value) {

        itemId_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional uint64 item_id = 5;
       * @return This builder for chaining.
       */
      public Builder clearItemId() {
        bitField0_ = (bitField0_ & ~0x00000008);
        itemId_ = 0L;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CSOEconItemPresetInstance)
    }

    // @@protoc_insertion_point(class_scope:CSOEconItemPresetInstance)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CSOEconItemPresetInstance 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconItemPresetInstance getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint32 class_id = 1;
     * @return Whether the classId field is set.
     */
    boolean hasClassId();
    /**
     * optional uint32 class_id = 1;
     * @return The classId.
     */
    int getClassId();

    /**
     * optional uint32 preset_id = 2;
     * @return Whether the presetId field is set.
     */
    boolean hasPresetId();
    /**
     * optional uint32 preset_id = 2;
     * @return The presetId.
     */
    int getPresetId();
  }
  /**
   * Protobuf type {@code CMsgSelectPresetForClass}
   */
  public static final class CMsgSelectPresetForClass extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgSelectPresetForClass)
      CMsgSelectPresetForClassOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgSelectPresetForClass.class.getName());
    }
    // Use CMsgSelectPresetForClass.newBuilder() to construct.
    private CMsgSelectPresetForClass(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgSelectPresetForClass() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSelectPresetForClass_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSelectPresetForClass_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass.Builder.class);
    }

    private int bitField0_;
    public static final int CLASS_ID_FIELD_NUMBER = 1;
    private int classId_ = 0;
    /**
     * optional uint32 class_id = 1;
     * @return Whether the classId field is set.
     */
    @java.lang.Override
    public boolean hasClassId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 class_id = 1;
     * @return The classId.
     */
    @java.lang.Override
    public int getClassId() {
      return classId_;
    }

    public static final int PRESET_ID_FIELD_NUMBER = 2;
    private int presetId_ = 0;
    /**
     * optional uint32 preset_id = 2;
     * @return Whether the presetId field is set.
     */
    @java.lang.Override
    public boolean hasPresetId() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint32 preset_id = 2;
     * @return The presetId.
     */
    @java.lang.Override
    public int getPresetId() {
      return presetId_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, classId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, presetId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass) obj;

      if (hasClassId() != other.hasClassId()) return false;
      if (hasClassId()) {
        if (getClassId()
            != other.getClassId()) return false;
      }
      if (hasPresetId() != other.hasPresetId()) return false;
      if (hasPresetId()) {
        if (getPresetId()
            != other.getPresetId()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasClassId()) {
        hash = (37 * hash) + CLASS_ID_FIELD_NUMBER;
        hash = (53 * hash) + getClassId();
      }
      if (hasPresetId()) {
        hash = (37 * hash) + PRESET_ID_FIELD_NUMBER;
        hash = (53 * hash) + getPresetId();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgSelectPresetForClass}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgSelectPresetForClass)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClassOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSelectPresetForClass_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSelectPresetForClass_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        classId_ = 0;
        presetId_ = 0;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSelectPresetForClass_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.classId_ = classId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.presetId_ = presetId_;
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass.getDefaultInstance()) return this;
        if (other.hasClassId()) {
          setClassId(other.getClassId());
        }
        if (other.hasPresetId()) {
          setPresetId(other.getPresetId());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                classId_ = input.readUInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                presetId_ = input.readUInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              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 int classId_ ;
      /**
       * optional uint32 class_id = 1;
       * @return Whether the classId field is set.
       */
      @java.lang.Override
      public boolean hasClassId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 class_id = 1;
       * @return The classId.
       */
      @java.lang.Override
      public int getClassId() {
        return classId_;
      }
      /**
       * optional uint32 class_id = 1;
       * @param value The classId to set.
       * @return This builder for chaining.
       */
      public Builder setClassId(int value) {

        classId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint32 class_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearClassId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        classId_ = 0;
        onChanged();
        return this;
      }

      private int presetId_ ;
      /**
       * optional uint32 preset_id = 2;
       * @return Whether the presetId field is set.
       */
      @java.lang.Override
      public boolean hasPresetId() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint32 preset_id = 2;
       * @return The presetId.
       */
      @java.lang.Override
      public int getPresetId() {
        return presetId_;
      }
      /**
       * optional uint32 preset_id = 2;
       * @param value The presetId to set.
       * @return This builder for chaining.
       */
      public Builder setPresetId(int value) {

        presetId_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint32 preset_id = 2;
       * @return This builder for chaining.
       */
      public Builder clearPresetId() {
        bitField0_ = (bitField0_ & ~0x00000002);
        presetId_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgSelectPresetForClass)
    }

    // @@protoc_insertion_point(class_scope:CMsgSelectPresetForClass)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgSelectPresetForClass 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSelectPresetForClass getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint32 account_id = 1;
     * @return Whether the accountId field is set.
     */
    boolean hasAccountId();
    /**
     * optional uint32 account_id = 1;
     * @return The accountId.
     */
    int getAccountId();

    /**
     * optional uint32 class_id = 2;
     * @return Whether the classId field is set.
     */
    boolean hasClassId();
    /**
     * optional uint32 class_id = 2;
     * @return The classId.
     */
    int getClassId();

    /**
     * optional uint32 active_preset_id = 3;
     * @return Whether the activePresetId field is set.
     */
    boolean hasActivePresetId();
    /**
     * optional uint32 active_preset_id = 3;
     * @return The activePresetId.
     */
    int getActivePresetId();
  }
  /**
   * Protobuf type {@code CSOClassPresetClientData}
   */
  public static final class CSOClassPresetClientData extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CSOClassPresetClientData)
      CSOClassPresetClientDataOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CSOClassPresetClientData.class.getName());
    }
    // Use CSOClassPresetClientData.newBuilder() to construct.
    private CSOClassPresetClientData(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CSOClassPresetClientData() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOClassPresetClientData_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOClassPresetClientData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData.Builder.class);
    }

    private int bitField0_;
    public static final int ACCOUNT_ID_FIELD_NUMBER = 1;
    private int accountId_ = 0;
    /**
     * optional uint32 account_id = 1;
     * @return Whether the accountId field is set.
     */
    @java.lang.Override
    public boolean hasAccountId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 account_id = 1;
     * @return The accountId.
     */
    @java.lang.Override
    public int getAccountId() {
      return accountId_;
    }

    public static final int CLASS_ID_FIELD_NUMBER = 2;
    private int classId_ = 0;
    /**
     * optional uint32 class_id = 2;
     * @return Whether the classId field is set.
     */
    @java.lang.Override
    public boolean hasClassId() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint32 class_id = 2;
     * @return The classId.
     */
    @java.lang.Override
    public int getClassId() {
      return classId_;
    }

    public static final int ACTIVE_PRESET_ID_FIELD_NUMBER = 3;
    private int activePresetId_ = 0;
    /**
     * optional uint32 active_preset_id = 3;
     * @return Whether the activePresetId field is set.
     */
    @java.lang.Override
    public boolean hasActivePresetId() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional uint32 active_preset_id = 3;
     * @return The activePresetId.
     */
    @java.lang.Override
    public int getActivePresetId() {
      return activePresetId_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt32(1, accountId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeUInt32(2, classId_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeUInt32(3, activePresetId_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, accountId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, classId_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, activePresetId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData) obj;

      if (hasAccountId() != other.hasAccountId()) return false;
      if (hasAccountId()) {
        if (getAccountId()
            != other.getAccountId()) return false;
      }
      if (hasClassId() != other.hasClassId()) return false;
      if (hasClassId()) {
        if (getClassId()
            != other.getClassId()) return false;
      }
      if (hasActivePresetId() != other.hasActivePresetId()) return false;
      if (hasActivePresetId()) {
        if (getActivePresetId()
            != other.getActivePresetId()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasAccountId()) {
        hash = (37 * hash) + ACCOUNT_ID_FIELD_NUMBER;
        hash = (53 * hash) + getAccountId();
      }
      if (hasClassId()) {
        hash = (37 * hash) + CLASS_ID_FIELD_NUMBER;
        hash = (53 * hash) + getClassId();
      }
      if (hasActivePresetId()) {
        hash = (37 * hash) + ACTIVE_PRESET_ID_FIELD_NUMBER;
        hash = (53 * hash) + getActivePresetId();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSOClassPresetClientData}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CSOClassPresetClientData)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientDataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOClassPresetClientData_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOClassPresetClientData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        accountId_ = 0;
        classId_ = 0;
        activePresetId_ = 0;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOClassPresetClientData_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.accountId_ = accountId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.classId_ = classId_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.activePresetId_ = activePresetId_;
          to_bitField0_ |= 0x00000004;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData.getDefaultInstance()) return this;
        if (other.hasAccountId()) {
          setAccountId(other.getAccountId());
        }
        if (other.hasClassId()) {
          setClassId(other.getClassId());
        }
        if (other.hasActivePresetId()) {
          setActivePresetId(other.getActivePresetId());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                accountId_ = input.readUInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                classId_ = input.readUInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 24: {
                activePresetId_ = input.readUInt32();
                bitField0_ |= 0x00000004;
                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 bitField0_;

      private int accountId_ ;
      /**
       * optional uint32 account_id = 1;
       * @return Whether the accountId field is set.
       */
      @java.lang.Override
      public boolean hasAccountId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 account_id = 1;
       * @return The accountId.
       */
      @java.lang.Override
      public int getAccountId() {
        return accountId_;
      }
      /**
       * optional uint32 account_id = 1;
       * @param value The accountId to set.
       * @return This builder for chaining.
       */
      public Builder setAccountId(int value) {

        accountId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint32 account_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearAccountId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        accountId_ = 0;
        onChanged();
        return this;
      }

      private int classId_ ;
      /**
       * optional uint32 class_id = 2;
       * @return Whether the classId field is set.
       */
      @java.lang.Override
      public boolean hasClassId() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint32 class_id = 2;
       * @return The classId.
       */
      @java.lang.Override
      public int getClassId() {
        return classId_;
      }
      /**
       * optional uint32 class_id = 2;
       * @param value The classId to set.
       * @return This builder for chaining.
       */
      public Builder setClassId(int value) {

        classId_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint32 class_id = 2;
       * @return This builder for chaining.
       */
      public Builder clearClassId() {
        bitField0_ = (bitField0_ & ~0x00000002);
        classId_ = 0;
        onChanged();
        return this;
      }

      private int activePresetId_ ;
      /**
       * optional uint32 active_preset_id = 3;
       * @return Whether the activePresetId field is set.
       */
      @java.lang.Override
      public boolean hasActivePresetId() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional uint32 active_preset_id = 3;
       * @return The activePresetId.
       */
      @java.lang.Override
      public int getActivePresetId() {
        return activePresetId_;
      }
      /**
       * optional uint32 active_preset_id = 3;
       * @param value The activePresetId to set.
       * @return This builder for chaining.
       */
      public Builder setActivePresetId(int value) {

        activePresetId_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional uint32 active_preset_id = 3;
       * @return This builder for chaining.
       */
      public Builder clearActivePresetId() {
        bitField0_ = (bitField0_ & ~0x00000004);
        activePresetId_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CSOClassPresetClientData)
    }

    // @@protoc_insertion_point(class_scope:CSOClassPresetClientData)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CSOClassPresetClientData 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOClassPresetClientData getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional fixed64 target_steam_id = 1;
     * @return Whether the targetSteamId field is set.
     */
    boolean hasTargetSteamId();
    /**
     * optional fixed64 target_steam_id = 1;
     * @return The targetSteamId.
     */
    long getTargetSteamId();

    /**
     * optional string description = 4;
     * @return Whether the description field is set.
     */
    boolean hasDescription();
    /**
     * optional string description = 4;
     * @return The description.
     */
    java.lang.String getDescription();
    /**
     * optional string description = 4;
     * @return The bytes for description.
     */
    com.google.protobuf.ByteString
        getDescriptionBytes();

    /**
     * optional uint64 gid = 5;
     * @return Whether the gid field is set.
     */
    boolean hasGid();
    /**
     * optional uint64 gid = 5;
     * @return The gid.
     */
    long getGid();

    /**
     * optional uint32 abuse_type = 2;
     * @return Whether the abuseType field is set.
     */
    boolean hasAbuseType();
    /**
     * optional uint32 abuse_type = 2;
     * @return The abuseType.
     */
    int getAbuseType();

    /**
     * optional uint32 content_type = 3;
     * @return Whether the contentType field is set.
     */
    boolean hasContentType();
    /**
     * optional uint32 content_type = 3;
     * @return The contentType.
     */
    int getContentType();

    /**
     * optional fixed32 target_game_server_ip = 6;
     * @return Whether the targetGameServerIp field is set.
     */
    boolean hasTargetGameServerIp();
    /**
     * optional fixed32 target_game_server_ip = 6;
     * @return The targetGameServerIp.
     */
    int getTargetGameServerIp();

    /**
     * optional uint32 target_game_server_port = 7;
     * @return Whether the targetGameServerPort field is set.
     */
    boolean hasTargetGameServerPort();
    /**
     * optional uint32 target_game_server_port = 7;
     * @return The targetGameServerPort.
     */
    int getTargetGameServerPort();
  }
  /**
   * Protobuf type {@code CMsgGCReportAbuse}
   */
  public static final class CMsgGCReportAbuse extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgGCReportAbuse)
      CMsgGCReportAbuseOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgGCReportAbuse.class.getName());
    }
    // Use CMsgGCReportAbuse.newBuilder() to construct.
    private CMsgGCReportAbuse(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgGCReportAbuse() {
      description_ = "";
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCReportAbuse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCReportAbuse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse.Builder.class);
    }

    private int bitField0_;
    public static final int TARGET_STEAM_ID_FIELD_NUMBER = 1;
    private long targetSteamId_ = 0L;
    /**
     * optional fixed64 target_steam_id = 1;
     * @return Whether the targetSteamId field is set.
     */
    @java.lang.Override
    public boolean hasTargetSteamId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional fixed64 target_steam_id = 1;
     * @return The targetSteamId.
     */
    @java.lang.Override
    public long getTargetSteamId() {
      return targetSteamId_;
    }

    public static final int DESCRIPTION_FIELD_NUMBER = 4;
    @SuppressWarnings("serial")
    private volatile java.lang.Object description_ = "";
    /**
     * optional string description = 4;
     * @return Whether the description field is set.
     */
    @java.lang.Override
    public boolean hasDescription() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional string description = 4;
     * @return The description.
     */
    @java.lang.Override
    public java.lang.String getDescription() {
      java.lang.Object ref = description_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          description_ = s;
        }
        return s;
      }
    }
    /**
     * optional string description = 4;
     * @return The bytes for description.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getDescriptionBytes() {
      java.lang.Object ref = description_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        description_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int GID_FIELD_NUMBER = 5;
    private long gid_ = 0L;
    /**
     * optional uint64 gid = 5;
     * @return Whether the gid field is set.
     */
    @java.lang.Override
    public boolean hasGid() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional uint64 gid = 5;
     * @return The gid.
     */
    @java.lang.Override
    public long getGid() {
      return gid_;
    }

    public static final int ABUSE_TYPE_FIELD_NUMBER = 2;
    private int abuseType_ = 0;
    /**
     * optional uint32 abuse_type = 2;
     * @return Whether the abuseType field is set.
     */
    @java.lang.Override
    public boolean hasAbuseType() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional uint32 abuse_type = 2;
     * @return The abuseType.
     */
    @java.lang.Override
    public int getAbuseType() {
      return abuseType_;
    }

    public static final int CONTENT_TYPE_FIELD_NUMBER = 3;
    private int contentType_ = 0;
    /**
     * optional uint32 content_type = 3;
     * @return Whether the contentType field is set.
     */
    @java.lang.Override
    public boolean hasContentType() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * optional uint32 content_type = 3;
     * @return The contentType.
     */
    @java.lang.Override
    public int getContentType() {
      return contentType_;
    }

    public static final int TARGET_GAME_SERVER_IP_FIELD_NUMBER = 6;
    private int targetGameServerIp_ = 0;
    /**
     * optional fixed32 target_game_server_ip = 6;
     * @return Whether the targetGameServerIp field is set.
     */
    @java.lang.Override
    public boolean hasTargetGameServerIp() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * optional fixed32 target_game_server_ip = 6;
     * @return The targetGameServerIp.
     */
    @java.lang.Override
    public int getTargetGameServerIp() {
      return targetGameServerIp_;
    }

    public static final int TARGET_GAME_SERVER_PORT_FIELD_NUMBER = 7;
    private int targetGameServerPort_ = 0;
    /**
     * optional uint32 target_game_server_port = 7;
     * @return Whether the targetGameServerPort field is set.
     */
    @java.lang.Override
    public boolean hasTargetGameServerPort() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     * optional uint32 target_game_server_port = 7;
     * @return The targetGameServerPort.
     */
    @java.lang.Override
    public int getTargetGameServerPort() {
      return targetGameServerPort_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeFixed64(1, targetSteamId_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeUInt32(2, abuseType_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        output.writeUInt32(3, contentType_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 4, description_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeUInt64(5, gid_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        output.writeFixed32(6, targetGameServerIp_);
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        output.writeUInt32(7, targetGameServerPort_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed64Size(1, targetSteamId_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, abuseType_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, contentType_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(4, description_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(5, gid_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(6, targetGameServerIp_);
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(7, targetGameServerPort_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse) obj;

      if (hasTargetSteamId() != other.hasTargetSteamId()) return false;
      if (hasTargetSteamId()) {
        if (getTargetSteamId()
            != other.getTargetSteamId()) return false;
      }
      if (hasDescription() != other.hasDescription()) return false;
      if (hasDescription()) {
        if (!getDescription()
            .equals(other.getDescription())) return false;
      }
      if (hasGid() != other.hasGid()) return false;
      if (hasGid()) {
        if (getGid()
            != other.getGid()) return false;
      }
      if (hasAbuseType() != other.hasAbuseType()) return false;
      if (hasAbuseType()) {
        if (getAbuseType()
            != other.getAbuseType()) return false;
      }
      if (hasContentType() != other.hasContentType()) return false;
      if (hasContentType()) {
        if (getContentType()
            != other.getContentType()) return false;
      }
      if (hasTargetGameServerIp() != other.hasTargetGameServerIp()) return false;
      if (hasTargetGameServerIp()) {
        if (getTargetGameServerIp()
            != other.getTargetGameServerIp()) return false;
      }
      if (hasTargetGameServerPort() != other.hasTargetGameServerPort()) return false;
      if (hasTargetGameServerPort()) {
        if (getTargetGameServerPort()
            != other.getTargetGameServerPort()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasTargetSteamId()) {
        hash = (37 * hash) + TARGET_STEAM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getTargetSteamId());
      }
      if (hasDescription()) {
        hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER;
        hash = (53 * hash) + getDescription().hashCode();
      }
      if (hasGid()) {
        hash = (37 * hash) + GID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getGid());
      }
      if (hasAbuseType()) {
        hash = (37 * hash) + ABUSE_TYPE_FIELD_NUMBER;
        hash = (53 * hash) + getAbuseType();
      }
      if (hasContentType()) {
        hash = (37 * hash) + CONTENT_TYPE_FIELD_NUMBER;
        hash = (53 * hash) + getContentType();
      }
      if (hasTargetGameServerIp()) {
        hash = (37 * hash) + TARGET_GAME_SERVER_IP_FIELD_NUMBER;
        hash = (53 * hash) + getTargetGameServerIp();
      }
      if (hasTargetGameServerPort()) {
        hash = (37 * hash) + TARGET_GAME_SERVER_PORT_FIELD_NUMBER;
        hash = (53 * hash) + getTargetGameServerPort();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgGCReportAbuse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgGCReportAbuse)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCReportAbuse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCReportAbuse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        targetSteamId_ = 0L;
        description_ = "";
        gid_ = 0L;
        abuseType_ = 0;
        contentType_ = 0;
        targetGameServerIp_ = 0;
        targetGameServerPort_ = 0;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCReportAbuse_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.targetSteamId_ = targetSteamId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.description_ = description_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.gid_ = gid_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.abuseType_ = abuseType_;
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.contentType_ = contentType_;
          to_bitField0_ |= 0x00000010;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          result.targetGameServerIp_ = targetGameServerIp_;
          to_bitField0_ |= 0x00000020;
        }
        if (((from_bitField0_ & 0x00000040) != 0)) {
          result.targetGameServerPort_ = targetGameServerPort_;
          to_bitField0_ |= 0x00000040;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse.getDefaultInstance()) return this;
        if (other.hasTargetSteamId()) {
          setTargetSteamId(other.getTargetSteamId());
        }
        if (other.hasDescription()) {
          description_ = other.description_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        if (other.hasGid()) {
          setGid(other.getGid());
        }
        if (other.hasAbuseType()) {
          setAbuseType(other.getAbuseType());
        }
        if (other.hasContentType()) {
          setContentType(other.getContentType());
        }
        if (other.hasTargetGameServerIp()) {
          setTargetGameServerIp(other.getTargetGameServerIp());
        }
        if (other.hasTargetGameServerPort()) {
          setTargetGameServerPort(other.getTargetGameServerPort());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 9: {
                targetSteamId_ = input.readFixed64();
                bitField0_ |= 0x00000001;
                break;
              } // case 9
              case 16: {
                abuseType_ = input.readUInt32();
                bitField0_ |= 0x00000008;
                break;
              } // case 16
              case 24: {
                contentType_ = input.readUInt32();
                bitField0_ |= 0x00000010;
                break;
              } // case 24
              case 34: {
                description_ = input.readBytes();
                bitField0_ |= 0x00000002;
                break;
              } // case 34
              case 40: {
                gid_ = input.readUInt64();
                bitField0_ |= 0x00000004;
                break;
              } // case 40
              case 53: {
                targetGameServerIp_ = input.readFixed32();
                bitField0_ |= 0x00000020;
                break;
              } // case 53
              case 56: {
                targetGameServerPort_ = input.readUInt32();
                bitField0_ |= 0x00000040;
                break;
              } // case 56
              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 long targetSteamId_ ;
      /**
       * optional fixed64 target_steam_id = 1;
       * @return Whether the targetSteamId field is set.
       */
      @java.lang.Override
      public boolean hasTargetSteamId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional fixed64 target_steam_id = 1;
       * @return The targetSteamId.
       */
      @java.lang.Override
      public long getTargetSteamId() {
        return targetSteamId_;
      }
      /**
       * optional fixed64 target_steam_id = 1;
       * @param value The targetSteamId to set.
       * @return This builder for chaining.
       */
      public Builder setTargetSteamId(long value) {

        targetSteamId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional fixed64 target_steam_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearTargetSteamId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        targetSteamId_ = 0L;
        onChanged();
        return this;
      }

      private java.lang.Object description_ = "";
      /**
       * optional string description = 4;
       * @return Whether the description field is set.
       */
      public boolean hasDescription() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional string description = 4;
       * @return The description.
       */
      public java.lang.String getDescription() {
        java.lang.Object ref = description_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            description_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string description = 4;
       * @return The bytes for description.
       */
      public com.google.protobuf.ByteString
          getDescriptionBytes() {
        java.lang.Object ref = description_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          description_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string description = 4;
       * @param value The description to set.
       * @return This builder for chaining.
       */
      public Builder setDescription(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        description_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional string description = 4;
       * @return This builder for chaining.
       */
      public Builder clearDescription() {
        description_ = getDefaultInstance().getDescription();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * optional string description = 4;
       * @param value The bytes for description to set.
       * @return This builder for chaining.
       */
      public Builder setDescriptionBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        description_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      private long gid_ ;
      /**
       * optional uint64 gid = 5;
       * @return Whether the gid field is set.
       */
      @java.lang.Override
      public boolean hasGid() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional uint64 gid = 5;
       * @return The gid.
       */
      @java.lang.Override
      public long getGid() {
        return gid_;
      }
      /**
       * optional uint64 gid = 5;
       * @param value The gid to set.
       * @return This builder for chaining.
       */
      public Builder setGid(long value) {

        gid_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional uint64 gid = 5;
       * @return This builder for chaining.
       */
      public Builder clearGid() {
        bitField0_ = (bitField0_ & ~0x00000004);
        gid_ = 0L;
        onChanged();
        return this;
      }

      private int abuseType_ ;
      /**
       * optional uint32 abuse_type = 2;
       * @return Whether the abuseType field is set.
       */
      @java.lang.Override
      public boolean hasAbuseType() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional uint32 abuse_type = 2;
       * @return The abuseType.
       */
      @java.lang.Override
      public int getAbuseType() {
        return abuseType_;
      }
      /**
       * optional uint32 abuse_type = 2;
       * @param value The abuseType to set.
       * @return This builder for chaining.
       */
      public Builder setAbuseType(int value) {

        abuseType_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional uint32 abuse_type = 2;
       * @return This builder for chaining.
       */
      public Builder clearAbuseType() {
        bitField0_ = (bitField0_ & ~0x00000008);
        abuseType_ = 0;
        onChanged();
        return this;
      }

      private int contentType_ ;
      /**
       * optional uint32 content_type = 3;
       * @return Whether the contentType field is set.
       */
      @java.lang.Override
      public boolean hasContentType() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * optional uint32 content_type = 3;
       * @return The contentType.
       */
      @java.lang.Override
      public int getContentType() {
        return contentType_;
      }
      /**
       * optional uint32 content_type = 3;
       * @param value The contentType to set.
       * @return This builder for chaining.
       */
      public Builder setContentType(int value) {

        contentType_ = value;
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * optional uint32 content_type = 3;
       * @return This builder for chaining.
       */
      public Builder clearContentType() {
        bitField0_ = (bitField0_ & ~0x00000010);
        contentType_ = 0;
        onChanged();
        return this;
      }

      private int targetGameServerIp_ ;
      /**
       * optional fixed32 target_game_server_ip = 6;
       * @return Whether the targetGameServerIp field is set.
       */
      @java.lang.Override
      public boolean hasTargetGameServerIp() {
        return ((bitField0_ & 0x00000020) != 0);
      }
      /**
       * optional fixed32 target_game_server_ip = 6;
       * @return The targetGameServerIp.
       */
      @java.lang.Override
      public int getTargetGameServerIp() {
        return targetGameServerIp_;
      }
      /**
       * optional fixed32 target_game_server_ip = 6;
       * @param value The targetGameServerIp to set.
       * @return This builder for chaining.
       */
      public Builder setTargetGameServerIp(int value) {

        targetGameServerIp_ = value;
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * optional fixed32 target_game_server_ip = 6;
       * @return This builder for chaining.
       */
      public Builder clearTargetGameServerIp() {
        bitField0_ = (bitField0_ & ~0x00000020);
        targetGameServerIp_ = 0;
        onChanged();
        return this;
      }

      private int targetGameServerPort_ ;
      /**
       * optional uint32 target_game_server_port = 7;
       * @return Whether the targetGameServerPort field is set.
       */
      @java.lang.Override
      public boolean hasTargetGameServerPort() {
        return ((bitField0_ & 0x00000040) != 0);
      }
      /**
       * optional uint32 target_game_server_port = 7;
       * @return The targetGameServerPort.
       */
      @java.lang.Override
      public int getTargetGameServerPort() {
        return targetGameServerPort_;
      }
      /**
       * optional uint32 target_game_server_port = 7;
       * @param value The targetGameServerPort to set.
       * @return This builder for chaining.
       */
      public Builder setTargetGameServerPort(int value) {

        targetGameServerPort_ = value;
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }
      /**
       * optional uint32 target_game_server_port = 7;
       * @return This builder for chaining.
       */
      public Builder clearTargetGameServerPort() {
        bitField0_ = (bitField0_ & ~0x00000040);
        targetGameServerPort_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgGCReportAbuse)
    }

    // @@protoc_insertion_point(class_scope:CMsgGCReportAbuse)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgGCReportAbuse 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional fixed64 target_steam_id = 1;
     * @return Whether the targetSteamId field is set.
     */
    boolean hasTargetSteamId();
    /**
     * optional fixed64 target_steam_id = 1;
     * @return The targetSteamId.
     */
    long getTargetSteamId();

    /**
     * optional uint32 result = 2;
     * @return Whether the result field is set.
     */
    boolean hasResult();
    /**
     * optional uint32 result = 2;
     * @return The result.
     */
    int getResult();

    /**
     * optional string error_message = 3;
     * @return Whether the errorMessage field is set.
     */
    boolean hasErrorMessage();
    /**
     * optional string error_message = 3;
     * @return The errorMessage.
     */
    java.lang.String getErrorMessage();
    /**
     * optional string error_message = 3;
     * @return The bytes for errorMessage.
     */
    com.google.protobuf.ByteString
        getErrorMessageBytes();
  }
  /**
   * Protobuf type {@code CMsgGCReportAbuseResponse}
   */
  public static final class CMsgGCReportAbuseResponse extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgGCReportAbuseResponse)
      CMsgGCReportAbuseResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgGCReportAbuseResponse.class.getName());
    }
    // Use CMsgGCReportAbuseResponse.newBuilder() to construct.
    private CMsgGCReportAbuseResponse(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgGCReportAbuseResponse() {
      errorMessage_ = "";
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCReportAbuseResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCReportAbuseResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse.Builder.class);
    }

    private int bitField0_;
    public static final int TARGET_STEAM_ID_FIELD_NUMBER = 1;
    private long targetSteamId_ = 0L;
    /**
     * optional fixed64 target_steam_id = 1;
     * @return Whether the targetSteamId field is set.
     */
    @java.lang.Override
    public boolean hasTargetSteamId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional fixed64 target_steam_id = 1;
     * @return The targetSteamId.
     */
    @java.lang.Override
    public long getTargetSteamId() {
      return targetSteamId_;
    }

    public static final int RESULT_FIELD_NUMBER = 2;
    private int result_ = 0;
    /**
     * optional uint32 result = 2;
     * @return Whether the result field is set.
     */
    @java.lang.Override
    public boolean hasResult() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint32 result = 2;
     * @return The result.
     */
    @java.lang.Override
    public int getResult() {
      return result_;
    }

    public static final int ERROR_MESSAGE_FIELD_NUMBER = 3;
    @SuppressWarnings("serial")
    private volatile java.lang.Object errorMessage_ = "";
    /**
     * optional string error_message = 3;
     * @return Whether the errorMessage field is set.
     */
    @java.lang.Override
    public boolean hasErrorMessage() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional string error_message = 3;
     * @return The errorMessage.
     */
    @java.lang.Override
    public java.lang.String getErrorMessage() {
      java.lang.Object ref = errorMessage_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          errorMessage_ = s;
        }
        return s;
      }
    }
    /**
     * optional string error_message = 3;
     * @return The bytes for errorMessage.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getErrorMessageBytes() {
      java.lang.Object ref = errorMessage_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        errorMessage_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeFixed64(1, targetSteamId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeUInt32(2, result_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 3, errorMessage_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed64Size(1, targetSteamId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, result_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(3, errorMessage_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse) obj;

      if (hasTargetSteamId() != other.hasTargetSteamId()) return false;
      if (hasTargetSteamId()) {
        if (getTargetSteamId()
            != other.getTargetSteamId()) return false;
      }
      if (hasResult() != other.hasResult()) return false;
      if (hasResult()) {
        if (getResult()
            != other.getResult()) return false;
      }
      if (hasErrorMessage() != other.hasErrorMessage()) return false;
      if (hasErrorMessage()) {
        if (!getErrorMessage()
            .equals(other.getErrorMessage())) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasTargetSteamId()) {
        hash = (37 * hash) + TARGET_STEAM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getTargetSteamId());
      }
      if (hasResult()) {
        hash = (37 * hash) + RESULT_FIELD_NUMBER;
        hash = (53 * hash) + getResult();
      }
      if (hasErrorMessage()) {
        hash = (37 * hash) + ERROR_MESSAGE_FIELD_NUMBER;
        hash = (53 * hash) + getErrorMessage().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgGCReportAbuseResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgGCReportAbuseResponse)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCReportAbuseResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCReportAbuseResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        targetSteamId_ = 0L;
        result_ = 0;
        errorMessage_ = "";
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCReportAbuseResponse_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.targetSteamId_ = targetSteamId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.result_ = result_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.errorMessage_ = errorMessage_;
          to_bitField0_ |= 0x00000004;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse.getDefaultInstance()) return this;
        if (other.hasTargetSteamId()) {
          setTargetSteamId(other.getTargetSteamId());
        }
        if (other.hasResult()) {
          setResult(other.getResult());
        }
        if (other.hasErrorMessage()) {
          errorMessage_ = other.errorMessage_;
          bitField0_ |= 0x00000004;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 9: {
                targetSteamId_ = input.readFixed64();
                bitField0_ |= 0x00000001;
                break;
              } // case 9
              case 16: {
                result_ = input.readUInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 26: {
                errorMessage_ = input.readBytes();
                bitField0_ |= 0x00000004;
                break;
              } // case 26
              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 long targetSteamId_ ;
      /**
       * optional fixed64 target_steam_id = 1;
       * @return Whether the targetSteamId field is set.
       */
      @java.lang.Override
      public boolean hasTargetSteamId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional fixed64 target_steam_id = 1;
       * @return The targetSteamId.
       */
      @java.lang.Override
      public long getTargetSteamId() {
        return targetSteamId_;
      }
      /**
       * optional fixed64 target_steam_id = 1;
       * @param value The targetSteamId to set.
       * @return This builder for chaining.
       */
      public Builder setTargetSteamId(long value) {

        targetSteamId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional fixed64 target_steam_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearTargetSteamId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        targetSteamId_ = 0L;
        onChanged();
        return this;
      }

      private int result_ ;
      /**
       * optional uint32 result = 2;
       * @return Whether the result field is set.
       */
      @java.lang.Override
      public boolean hasResult() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint32 result = 2;
       * @return The result.
       */
      @java.lang.Override
      public int getResult() {
        return result_;
      }
      /**
       * optional uint32 result = 2;
       * @param value The result to set.
       * @return This builder for chaining.
       */
      public Builder setResult(int value) {

        result_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint32 result = 2;
       * @return This builder for chaining.
       */
      public Builder clearResult() {
        bitField0_ = (bitField0_ & ~0x00000002);
        result_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object errorMessage_ = "";
      /**
       * optional string error_message = 3;
       * @return Whether the errorMessage field is set.
       */
      public boolean hasErrorMessage() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional string error_message = 3;
       * @return The errorMessage.
       */
      public java.lang.String getErrorMessage() {
        java.lang.Object ref = errorMessage_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            errorMessage_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string error_message = 3;
       * @return The bytes for errorMessage.
       */
      public com.google.protobuf.ByteString
          getErrorMessageBytes() {
        java.lang.Object ref = errorMessage_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          errorMessage_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string error_message = 3;
       * @param value The errorMessage to set.
       * @return This builder for chaining.
       */
      public Builder setErrorMessage(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        errorMessage_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional string error_message = 3;
       * @return This builder for chaining.
       */
      public Builder clearErrorMessage() {
        errorMessage_ = getDefaultInstance().getErrorMessage();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }
      /**
       * optional string error_message = 3;
       * @param value The bytes for errorMessage to set.
       * @return This builder for chaining.
       */
      public Builder setErrorMessageBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        errorMessage_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgGCReportAbuseResponse)
    }

    // @@protoc_insertion_point(class_scope:CMsgGCReportAbuseResponse)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgGCReportAbuseResponse 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCReportAbuseResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional fixed64 player_steamid = 1;
     * @return Whether the playerSteamid field is set.
     */
    boolean hasPlayerSteamid();
    /**
     * optional fixed64 player_steamid = 1;
     * @return The playerSteamid.
     */
    long getPlayerSteamid();

    /**
     * optional uint32 item_def_index = 2;
     * @return Whether the itemDefIndex field is set.
     */
    boolean hasItemDefIndex();
    /**
     * optional uint32 item_def_index = 2;
     * @return The itemDefIndex.
     */
    int getItemDefIndex();

    /**
     * optional string item_name_custom = 3;
     * @return Whether the itemNameCustom field is set.
     */
    boolean hasItemNameCustom();
    /**
     * optional string item_name_custom = 3;
     * @return The itemNameCustom.
     */
    java.lang.String getItemNameCustom();
    /**
     * optional string item_name_custom = 3;
     * @return The bytes for itemNameCustom.
     */
    com.google.protobuf.ByteString
        getItemNameCustomBytes();
  }
  /**
   * Protobuf type {@code CMsgGCNameItemNotification}
   */
  public static final class CMsgGCNameItemNotification extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgGCNameItemNotification)
      CMsgGCNameItemNotificationOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgGCNameItemNotification.class.getName());
    }
    // Use CMsgGCNameItemNotification.newBuilder() to construct.
    private CMsgGCNameItemNotification(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgGCNameItemNotification() {
      itemNameCustom_ = "";
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCNameItemNotification_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCNameItemNotification_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification.Builder.class);
    }

    private int bitField0_;
    public static final int PLAYER_STEAMID_FIELD_NUMBER = 1;
    private long playerSteamid_ = 0L;
    /**
     * optional fixed64 player_steamid = 1;
     * @return Whether the playerSteamid field is set.
     */
    @java.lang.Override
    public boolean hasPlayerSteamid() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional fixed64 player_steamid = 1;
     * @return The playerSteamid.
     */
    @java.lang.Override
    public long getPlayerSteamid() {
      return playerSteamid_;
    }

    public static final int ITEM_DEF_INDEX_FIELD_NUMBER = 2;
    private int itemDefIndex_ = 0;
    /**
     * optional uint32 item_def_index = 2;
     * @return Whether the itemDefIndex field is set.
     */
    @java.lang.Override
    public boolean hasItemDefIndex() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint32 item_def_index = 2;
     * @return The itemDefIndex.
     */
    @java.lang.Override
    public int getItemDefIndex() {
      return itemDefIndex_;
    }

    public static final int ITEM_NAME_CUSTOM_FIELD_NUMBER = 3;
    @SuppressWarnings("serial")
    private volatile java.lang.Object itemNameCustom_ = "";
    /**
     * optional string item_name_custom = 3;
     * @return Whether the itemNameCustom field is set.
     */
    @java.lang.Override
    public boolean hasItemNameCustom() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional string item_name_custom = 3;
     * @return The itemNameCustom.
     */
    @java.lang.Override
    public java.lang.String getItemNameCustom() {
      java.lang.Object ref = itemNameCustom_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          itemNameCustom_ = s;
        }
        return s;
      }
    }
    /**
     * optional string item_name_custom = 3;
     * @return The bytes for itemNameCustom.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getItemNameCustomBytes() {
      java.lang.Object ref = itemNameCustom_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        itemNameCustom_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeFixed64(1, playerSteamid_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeUInt32(2, itemDefIndex_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 3, itemNameCustom_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed64Size(1, playerSteamid_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, itemDefIndex_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(3, itemNameCustom_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification) obj;

      if (hasPlayerSteamid() != other.hasPlayerSteamid()) return false;
      if (hasPlayerSteamid()) {
        if (getPlayerSteamid()
            != other.getPlayerSteamid()) return false;
      }
      if (hasItemDefIndex() != other.hasItemDefIndex()) return false;
      if (hasItemDefIndex()) {
        if (getItemDefIndex()
            != other.getItemDefIndex()) return false;
      }
      if (hasItemNameCustom() != other.hasItemNameCustom()) return false;
      if (hasItemNameCustom()) {
        if (!getItemNameCustom()
            .equals(other.getItemNameCustom())) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasPlayerSteamid()) {
        hash = (37 * hash) + PLAYER_STEAMID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getPlayerSteamid());
      }
      if (hasItemDefIndex()) {
        hash = (37 * hash) + ITEM_DEF_INDEX_FIELD_NUMBER;
        hash = (53 * hash) + getItemDefIndex();
      }
      if (hasItemNameCustom()) {
        hash = (37 * hash) + ITEM_NAME_CUSTOM_FIELD_NUMBER;
        hash = (53 * hash) + getItemNameCustom().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgGCNameItemNotification}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgGCNameItemNotification)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotificationOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCNameItemNotification_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCNameItemNotification_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        playerSteamid_ = 0L;
        itemDefIndex_ = 0;
        itemNameCustom_ = "";
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCNameItemNotification_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.playerSteamid_ = playerSteamid_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.itemDefIndex_ = itemDefIndex_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.itemNameCustom_ = itemNameCustom_;
          to_bitField0_ |= 0x00000004;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification.getDefaultInstance()) return this;
        if (other.hasPlayerSteamid()) {
          setPlayerSteamid(other.getPlayerSteamid());
        }
        if (other.hasItemDefIndex()) {
          setItemDefIndex(other.getItemDefIndex());
        }
        if (other.hasItemNameCustom()) {
          itemNameCustom_ = other.itemNameCustom_;
          bitField0_ |= 0x00000004;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 9: {
                playerSteamid_ = input.readFixed64();
                bitField0_ |= 0x00000001;
                break;
              } // case 9
              case 16: {
                itemDefIndex_ = input.readUInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 26: {
                itemNameCustom_ = input.readBytes();
                bitField0_ |= 0x00000004;
                break;
              } // case 26
              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 long playerSteamid_ ;
      /**
       * optional fixed64 player_steamid = 1;
       * @return Whether the playerSteamid field is set.
       */
      @java.lang.Override
      public boolean hasPlayerSteamid() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional fixed64 player_steamid = 1;
       * @return The playerSteamid.
       */
      @java.lang.Override
      public long getPlayerSteamid() {
        return playerSteamid_;
      }
      /**
       * optional fixed64 player_steamid = 1;
       * @param value The playerSteamid to set.
       * @return This builder for chaining.
       */
      public Builder setPlayerSteamid(long value) {

        playerSteamid_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional fixed64 player_steamid = 1;
       * @return This builder for chaining.
       */
      public Builder clearPlayerSteamid() {
        bitField0_ = (bitField0_ & ~0x00000001);
        playerSteamid_ = 0L;
        onChanged();
        return this;
      }

      private int itemDefIndex_ ;
      /**
       * optional uint32 item_def_index = 2;
       * @return Whether the itemDefIndex field is set.
       */
      @java.lang.Override
      public boolean hasItemDefIndex() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint32 item_def_index = 2;
       * @return The itemDefIndex.
       */
      @java.lang.Override
      public int getItemDefIndex() {
        return itemDefIndex_;
      }
      /**
       * optional uint32 item_def_index = 2;
       * @param value The itemDefIndex to set.
       * @return This builder for chaining.
       */
      public Builder setItemDefIndex(int value) {

        itemDefIndex_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint32 item_def_index = 2;
       * @return This builder for chaining.
       */
      public Builder clearItemDefIndex() {
        bitField0_ = (bitField0_ & ~0x00000002);
        itemDefIndex_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object itemNameCustom_ = "";
      /**
       * optional string item_name_custom = 3;
       * @return Whether the itemNameCustom field is set.
       */
      public boolean hasItemNameCustom() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional string item_name_custom = 3;
       * @return The itemNameCustom.
       */
      public java.lang.String getItemNameCustom() {
        java.lang.Object ref = itemNameCustom_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            itemNameCustom_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string item_name_custom = 3;
       * @return The bytes for itemNameCustom.
       */
      public com.google.protobuf.ByteString
          getItemNameCustomBytes() {
        java.lang.Object ref = itemNameCustom_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          itemNameCustom_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string item_name_custom = 3;
       * @param value The itemNameCustom to set.
       * @return This builder for chaining.
       */
      public Builder setItemNameCustom(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        itemNameCustom_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional string item_name_custom = 3;
       * @return This builder for chaining.
       */
      public Builder clearItemNameCustom() {
        itemNameCustom_ = getDefaultInstance().getItemNameCustom();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }
      /**
       * optional string item_name_custom = 3;
       * @param value The bytes for itemNameCustom to set.
       * @return This builder for chaining.
       */
      public Builder setItemNameCustomBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        itemNameCustom_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgGCNameItemNotification)
    }

    // @@protoc_insertion_point(class_scope:CMsgGCNameItemNotification)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgGCNameItemNotification 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCNameItemNotification getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional string notification_title_localization_key = 1;
     * @return Whether the notificationTitleLocalizationKey field is set.
     */
    boolean hasNotificationTitleLocalizationKey();
    /**
     * optional string notification_title_localization_key = 1;
     * @return The notificationTitleLocalizationKey.
     */
    java.lang.String getNotificationTitleLocalizationKey();
    /**
     * optional string notification_title_localization_key = 1;
     * @return The bytes for notificationTitleLocalizationKey.
     */
    com.google.protobuf.ByteString
        getNotificationTitleLocalizationKeyBytes();

    /**
     * optional string notification_body_localization_key = 2;
     * @return Whether the notificationBodyLocalizationKey field is set.
     */
    boolean hasNotificationBodyLocalizationKey();
    /**
     * optional string notification_body_localization_key = 2;
     * @return The notificationBodyLocalizationKey.
     */
    java.lang.String getNotificationBodyLocalizationKey();
    /**
     * optional string notification_body_localization_key = 2;
     * @return The bytes for notificationBodyLocalizationKey.
     */
    com.google.protobuf.ByteString
        getNotificationBodyLocalizationKeyBytes();

    /**
     * repeated string body_substring_keys = 3;
     * @return A list containing the bodySubstringKeys.
     */
    java.util.List
        getBodySubstringKeysList();
    /**
     * repeated string body_substring_keys = 3;
     * @return The count of bodySubstringKeys.
     */
    int getBodySubstringKeysCount();
    /**
     * repeated string body_substring_keys = 3;
     * @param index The index of the element to return.
     * @return The bodySubstringKeys at the given index.
     */
    java.lang.String getBodySubstringKeys(int index);
    /**
     * repeated string body_substring_keys = 3;
     * @param index The index of the value to return.
     * @return The bytes of the bodySubstringKeys at the given index.
     */
    com.google.protobuf.ByteString
        getBodySubstringKeysBytes(int index);

    /**
     * repeated string body_substring_values = 4;
     * @return A list containing the bodySubstringValues.
     */
    java.util.List
        getBodySubstringValuesList();
    /**
     * repeated string body_substring_values = 4;
     * @return The count of bodySubstringValues.
     */
    int getBodySubstringValuesCount();
    /**
     * repeated string body_substring_values = 4;
     * @param index The index of the element to return.
     * @return The bodySubstringValues at the given index.
     */
    java.lang.String getBodySubstringValues(int index);
    /**
     * repeated string body_substring_values = 4;
     * @param index The index of the value to return.
     * @return The bytes of the bodySubstringValues at the given index.
     */
    com.google.protobuf.ByteString
        getBodySubstringValuesBytes(int index);
  }
  /**
   * Protobuf type {@code CMsgGCClientDisplayNotification}
   */
  public static final class CMsgGCClientDisplayNotification extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgGCClientDisplayNotification)
      CMsgGCClientDisplayNotificationOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgGCClientDisplayNotification.class.getName());
    }
    // Use CMsgGCClientDisplayNotification.newBuilder() to construct.
    private CMsgGCClientDisplayNotification(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgGCClientDisplayNotification() {
      notificationTitleLocalizationKey_ = "";
      notificationBodyLocalizationKey_ = "";
      bodySubstringKeys_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
      bodySubstringValues_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCClientDisplayNotification_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCClientDisplayNotification_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification.Builder.class);
    }

    private int bitField0_;
    public static final int NOTIFICATION_TITLE_LOCALIZATION_KEY_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object notificationTitleLocalizationKey_ = "";
    /**
     * optional string notification_title_localization_key = 1;
     * @return Whether the notificationTitleLocalizationKey field is set.
     */
    @java.lang.Override
    public boolean hasNotificationTitleLocalizationKey() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional string notification_title_localization_key = 1;
     * @return The notificationTitleLocalizationKey.
     */
    @java.lang.Override
    public java.lang.String getNotificationTitleLocalizationKey() {
      java.lang.Object ref = notificationTitleLocalizationKey_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          notificationTitleLocalizationKey_ = s;
        }
        return s;
      }
    }
    /**
     * optional string notification_title_localization_key = 1;
     * @return The bytes for notificationTitleLocalizationKey.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNotificationTitleLocalizationKeyBytes() {
      java.lang.Object ref = notificationTitleLocalizationKey_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        notificationTitleLocalizationKey_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int NOTIFICATION_BODY_LOCALIZATION_KEY_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private volatile java.lang.Object notificationBodyLocalizationKey_ = "";
    /**
     * optional string notification_body_localization_key = 2;
     * @return Whether the notificationBodyLocalizationKey field is set.
     */
    @java.lang.Override
    public boolean hasNotificationBodyLocalizationKey() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional string notification_body_localization_key = 2;
     * @return The notificationBodyLocalizationKey.
     */
    @java.lang.Override
    public java.lang.String getNotificationBodyLocalizationKey() {
      java.lang.Object ref = notificationBodyLocalizationKey_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          notificationBodyLocalizationKey_ = s;
        }
        return s;
      }
    }
    /**
     * optional string notification_body_localization_key = 2;
     * @return The bytes for notificationBodyLocalizationKey.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNotificationBodyLocalizationKeyBytes() {
      java.lang.Object ref = notificationBodyLocalizationKey_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        notificationBodyLocalizationKey_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int BODY_SUBSTRING_KEYS_FIELD_NUMBER = 3;
    @SuppressWarnings("serial")
    private com.google.protobuf.LazyStringArrayList bodySubstringKeys_ =
        com.google.protobuf.LazyStringArrayList.emptyList();
    /**
     * repeated string body_substring_keys = 3;
     * @return A list containing the bodySubstringKeys.
     */
    public com.google.protobuf.ProtocolStringList
        getBodySubstringKeysList() {
      return bodySubstringKeys_;
    }
    /**
     * repeated string body_substring_keys = 3;
     * @return The count of bodySubstringKeys.
     */
    public int getBodySubstringKeysCount() {
      return bodySubstringKeys_.size();
    }
    /**
     * repeated string body_substring_keys = 3;
     * @param index The index of the element to return.
     * @return The bodySubstringKeys at the given index.
     */
    public java.lang.String getBodySubstringKeys(int index) {
      return bodySubstringKeys_.get(index);
    }
    /**
     * repeated string body_substring_keys = 3;
     * @param index The index of the value to return.
     * @return The bytes of the bodySubstringKeys at the given index.
     */
    public com.google.protobuf.ByteString
        getBodySubstringKeysBytes(int index) {
      return bodySubstringKeys_.getByteString(index);
    }

    public static final int BODY_SUBSTRING_VALUES_FIELD_NUMBER = 4;
    @SuppressWarnings("serial")
    private com.google.protobuf.LazyStringArrayList bodySubstringValues_ =
        com.google.protobuf.LazyStringArrayList.emptyList();
    /**
     * repeated string body_substring_values = 4;
     * @return A list containing the bodySubstringValues.
     */
    public com.google.protobuf.ProtocolStringList
        getBodySubstringValuesList() {
      return bodySubstringValues_;
    }
    /**
     * repeated string body_substring_values = 4;
     * @return The count of bodySubstringValues.
     */
    public int getBodySubstringValuesCount() {
      return bodySubstringValues_.size();
    }
    /**
     * repeated string body_substring_values = 4;
     * @param index The index of the element to return.
     * @return The bodySubstringValues at the given index.
     */
    public java.lang.String getBodySubstringValues(int index) {
      return bodySubstringValues_.get(index);
    }
    /**
     * repeated string body_substring_values = 4;
     * @param index The index of the value to return.
     * @return The bytes of the bodySubstringValues at the given index.
     */
    public com.google.protobuf.ByteString
        getBodySubstringValuesBytes(int index) {
      return bodySubstringValues_.getByteString(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 1, notificationTitleLocalizationKey_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 2, notificationBodyLocalizationKey_);
      }
      for (int i = 0; i < bodySubstringKeys_.size(); i++) {
        com.google.protobuf.GeneratedMessage.writeString(output, 3, bodySubstringKeys_.getRaw(i));
      }
      for (int i = 0; i < bodySubstringValues_.size(); i++) {
        com.google.protobuf.GeneratedMessage.writeString(output, 4, bodySubstringValues_.getRaw(i));
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(1, notificationTitleLocalizationKey_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(2, notificationBodyLocalizationKey_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < bodySubstringKeys_.size(); i++) {
          dataSize += computeStringSizeNoTag(bodySubstringKeys_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getBodySubstringKeysList().size();
      }
      {
        int dataSize = 0;
        for (int i = 0; i < bodySubstringValues_.size(); i++) {
          dataSize += computeStringSizeNoTag(bodySubstringValues_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getBodySubstringValuesList().size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification) obj;

      if (hasNotificationTitleLocalizationKey() != other.hasNotificationTitleLocalizationKey()) return false;
      if (hasNotificationTitleLocalizationKey()) {
        if (!getNotificationTitleLocalizationKey()
            .equals(other.getNotificationTitleLocalizationKey())) return false;
      }
      if (hasNotificationBodyLocalizationKey() != other.hasNotificationBodyLocalizationKey()) return false;
      if (hasNotificationBodyLocalizationKey()) {
        if (!getNotificationBodyLocalizationKey()
            .equals(other.getNotificationBodyLocalizationKey())) return false;
      }
      if (!getBodySubstringKeysList()
          .equals(other.getBodySubstringKeysList())) return false;
      if (!getBodySubstringValuesList()
          .equals(other.getBodySubstringValuesList())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasNotificationTitleLocalizationKey()) {
        hash = (37 * hash) + NOTIFICATION_TITLE_LOCALIZATION_KEY_FIELD_NUMBER;
        hash = (53 * hash) + getNotificationTitleLocalizationKey().hashCode();
      }
      if (hasNotificationBodyLocalizationKey()) {
        hash = (37 * hash) + NOTIFICATION_BODY_LOCALIZATION_KEY_FIELD_NUMBER;
        hash = (53 * hash) + getNotificationBodyLocalizationKey().hashCode();
      }
      if (getBodySubstringKeysCount() > 0) {
        hash = (37 * hash) + BODY_SUBSTRING_KEYS_FIELD_NUMBER;
        hash = (53 * hash) + getBodySubstringKeysList().hashCode();
      }
      if (getBodySubstringValuesCount() > 0) {
        hash = (37 * hash) + BODY_SUBSTRING_VALUES_FIELD_NUMBER;
        hash = (53 * hash) + getBodySubstringValuesList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgGCClientDisplayNotification}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgGCClientDisplayNotification)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotificationOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCClientDisplayNotification_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCClientDisplayNotification_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        notificationTitleLocalizationKey_ = "";
        notificationBodyLocalizationKey_ = "";
        bodySubstringKeys_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
        bodySubstringValues_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCClientDisplayNotification_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.notificationTitleLocalizationKey_ = notificationTitleLocalizationKey_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.notificationBodyLocalizationKey_ = notificationBodyLocalizationKey_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          bodySubstringKeys_.makeImmutable();
          result.bodySubstringKeys_ = bodySubstringKeys_;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          bodySubstringValues_.makeImmutable();
          result.bodySubstringValues_ = bodySubstringValues_;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification.getDefaultInstance()) return this;
        if (other.hasNotificationTitleLocalizationKey()) {
          notificationTitleLocalizationKey_ = other.notificationTitleLocalizationKey_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        if (other.hasNotificationBodyLocalizationKey()) {
          notificationBodyLocalizationKey_ = other.notificationBodyLocalizationKey_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        if (!other.bodySubstringKeys_.isEmpty()) {
          if (bodySubstringKeys_.isEmpty()) {
            bodySubstringKeys_ = other.bodySubstringKeys_;
            bitField0_ |= 0x00000004;
          } else {
            ensureBodySubstringKeysIsMutable();
            bodySubstringKeys_.addAll(other.bodySubstringKeys_);
          }
          onChanged();
        }
        if (!other.bodySubstringValues_.isEmpty()) {
          if (bodySubstringValues_.isEmpty()) {
            bodySubstringValues_ = other.bodySubstringValues_;
            bitField0_ |= 0x00000008;
          } else {
            ensureBodySubstringValuesIsMutable();
            bodySubstringValues_.addAll(other.bodySubstringValues_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                notificationTitleLocalizationKey_ = input.readBytes();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 18: {
                notificationBodyLocalizationKey_ = input.readBytes();
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              case 26: {
                com.google.protobuf.ByteString bs = input.readBytes();
                ensureBodySubstringKeysIsMutable();
                bodySubstringKeys_.add(bs);
                break;
              } // case 26
              case 34: {
                com.google.protobuf.ByteString bs = input.readBytes();
                ensureBodySubstringValuesIsMutable();
                bodySubstringValues_.add(bs);
                break;
              } // case 34
              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 java.lang.Object notificationTitleLocalizationKey_ = "";
      /**
       * optional string notification_title_localization_key = 1;
       * @return Whether the notificationTitleLocalizationKey field is set.
       */
      public boolean hasNotificationTitleLocalizationKey() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional string notification_title_localization_key = 1;
       * @return The notificationTitleLocalizationKey.
       */
      public java.lang.String getNotificationTitleLocalizationKey() {
        java.lang.Object ref = notificationTitleLocalizationKey_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            notificationTitleLocalizationKey_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string notification_title_localization_key = 1;
       * @return The bytes for notificationTitleLocalizationKey.
       */
      public com.google.protobuf.ByteString
          getNotificationTitleLocalizationKeyBytes() {
        java.lang.Object ref = notificationTitleLocalizationKey_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          notificationTitleLocalizationKey_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string notification_title_localization_key = 1;
       * @param value The notificationTitleLocalizationKey to set.
       * @return This builder for chaining.
       */
      public Builder setNotificationTitleLocalizationKey(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        notificationTitleLocalizationKey_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional string notification_title_localization_key = 1;
       * @return This builder for chaining.
       */
      public Builder clearNotificationTitleLocalizationKey() {
        notificationTitleLocalizationKey_ = getDefaultInstance().getNotificationTitleLocalizationKey();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * optional string notification_title_localization_key = 1;
       * @param value The bytes for notificationTitleLocalizationKey to set.
       * @return This builder for chaining.
       */
      public Builder setNotificationTitleLocalizationKeyBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        notificationTitleLocalizationKey_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      private java.lang.Object notificationBodyLocalizationKey_ = "";
      /**
       * optional string notification_body_localization_key = 2;
       * @return Whether the notificationBodyLocalizationKey field is set.
       */
      public boolean hasNotificationBodyLocalizationKey() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional string notification_body_localization_key = 2;
       * @return The notificationBodyLocalizationKey.
       */
      public java.lang.String getNotificationBodyLocalizationKey() {
        java.lang.Object ref = notificationBodyLocalizationKey_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            notificationBodyLocalizationKey_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string notification_body_localization_key = 2;
       * @return The bytes for notificationBodyLocalizationKey.
       */
      public com.google.protobuf.ByteString
          getNotificationBodyLocalizationKeyBytes() {
        java.lang.Object ref = notificationBodyLocalizationKey_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          notificationBodyLocalizationKey_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string notification_body_localization_key = 2;
       * @param value The notificationBodyLocalizationKey to set.
       * @return This builder for chaining.
       */
      public Builder setNotificationBodyLocalizationKey(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        notificationBodyLocalizationKey_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional string notification_body_localization_key = 2;
       * @return This builder for chaining.
       */
      public Builder clearNotificationBodyLocalizationKey() {
        notificationBodyLocalizationKey_ = getDefaultInstance().getNotificationBodyLocalizationKey();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * optional string notification_body_localization_key = 2;
       * @param value The bytes for notificationBodyLocalizationKey to set.
       * @return This builder for chaining.
       */
      public Builder setNotificationBodyLocalizationKeyBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        notificationBodyLocalizationKey_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      private com.google.protobuf.LazyStringArrayList bodySubstringKeys_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
      private void ensureBodySubstringKeysIsMutable() {
        if (!bodySubstringKeys_.isModifiable()) {
          bodySubstringKeys_ = new com.google.protobuf.LazyStringArrayList(bodySubstringKeys_);
        }
        bitField0_ |= 0x00000004;
      }
      /**
       * repeated string body_substring_keys = 3;
       * @return A list containing the bodySubstringKeys.
       */
      public com.google.protobuf.ProtocolStringList
          getBodySubstringKeysList() {
        bodySubstringKeys_.makeImmutable();
        return bodySubstringKeys_;
      }
      /**
       * repeated string body_substring_keys = 3;
       * @return The count of bodySubstringKeys.
       */
      public int getBodySubstringKeysCount() {
        return bodySubstringKeys_.size();
      }
      /**
       * repeated string body_substring_keys = 3;
       * @param index The index of the element to return.
       * @return The bodySubstringKeys at the given index.
       */
      public java.lang.String getBodySubstringKeys(int index) {
        return bodySubstringKeys_.get(index);
      }
      /**
       * repeated string body_substring_keys = 3;
       * @param index The index of the value to return.
       * @return The bytes of the bodySubstringKeys at the given index.
       */
      public com.google.protobuf.ByteString
          getBodySubstringKeysBytes(int index) {
        return bodySubstringKeys_.getByteString(index);
      }
      /**
       * repeated string body_substring_keys = 3;
       * @param index The index to set the value at.
       * @param value The bodySubstringKeys to set.
       * @return This builder for chaining.
       */
      public Builder setBodySubstringKeys(
          int index, java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureBodySubstringKeysIsMutable();
        bodySubstringKeys_.set(index, value);
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * repeated string body_substring_keys = 3;
       * @param value The bodySubstringKeys to add.
       * @return This builder for chaining.
       */
      public Builder addBodySubstringKeys(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureBodySubstringKeysIsMutable();
        bodySubstringKeys_.add(value);
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * repeated string body_substring_keys = 3;
       * @param values The bodySubstringKeys to add.
       * @return This builder for chaining.
       */
      public Builder addAllBodySubstringKeys(
          java.lang.Iterable values) {
        ensureBodySubstringKeysIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, bodySubstringKeys_);
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * repeated string body_substring_keys = 3;
       * @return This builder for chaining.
       */
      public Builder clearBodySubstringKeys() {
        bodySubstringKeys_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
        bitField0_ = (bitField0_ & ~0x00000004);;
        onChanged();
        return this;
      }
      /**
       * repeated string body_substring_keys = 3;
       * @param value The bytes of the bodySubstringKeys to add.
       * @return This builder for chaining.
       */
      public Builder addBodySubstringKeysBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        ensureBodySubstringKeysIsMutable();
        bodySubstringKeys_.add(value);
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }

      private com.google.protobuf.LazyStringArrayList bodySubstringValues_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
      private void ensureBodySubstringValuesIsMutable() {
        if (!bodySubstringValues_.isModifiable()) {
          bodySubstringValues_ = new com.google.protobuf.LazyStringArrayList(bodySubstringValues_);
        }
        bitField0_ |= 0x00000008;
      }
      /**
       * repeated string body_substring_values = 4;
       * @return A list containing the bodySubstringValues.
       */
      public com.google.protobuf.ProtocolStringList
          getBodySubstringValuesList() {
        bodySubstringValues_.makeImmutable();
        return bodySubstringValues_;
      }
      /**
       * repeated string body_substring_values = 4;
       * @return The count of bodySubstringValues.
       */
      public int getBodySubstringValuesCount() {
        return bodySubstringValues_.size();
      }
      /**
       * repeated string body_substring_values = 4;
       * @param index The index of the element to return.
       * @return The bodySubstringValues at the given index.
       */
      public java.lang.String getBodySubstringValues(int index) {
        return bodySubstringValues_.get(index);
      }
      /**
       * repeated string body_substring_values = 4;
       * @param index The index of the value to return.
       * @return The bytes of the bodySubstringValues at the given index.
       */
      public com.google.protobuf.ByteString
          getBodySubstringValuesBytes(int index) {
        return bodySubstringValues_.getByteString(index);
      }
      /**
       * repeated string body_substring_values = 4;
       * @param index The index to set the value at.
       * @param value The bodySubstringValues to set.
       * @return This builder for chaining.
       */
      public Builder setBodySubstringValues(
          int index, java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureBodySubstringValuesIsMutable();
        bodySubstringValues_.set(index, value);
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * repeated string body_substring_values = 4;
       * @param value The bodySubstringValues to add.
       * @return This builder for chaining.
       */
      public Builder addBodySubstringValues(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureBodySubstringValuesIsMutable();
        bodySubstringValues_.add(value);
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * repeated string body_substring_values = 4;
       * @param values The bodySubstringValues to add.
       * @return This builder for chaining.
       */
      public Builder addAllBodySubstringValues(
          java.lang.Iterable values) {
        ensureBodySubstringValuesIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, bodySubstringValues_);
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * repeated string body_substring_values = 4;
       * @return This builder for chaining.
       */
      public Builder clearBodySubstringValues() {
        bodySubstringValues_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
        bitField0_ = (bitField0_ & ~0x00000008);;
        onChanged();
        return this;
      }
      /**
       * repeated string body_substring_values = 4;
       * @param value The bytes of the bodySubstringValues to add.
       * @return This builder for chaining.
       */
      public Builder addBodySubstringValuesBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        ensureBodySubstringValuesIsMutable();
        bodySubstringValues_.add(value);
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgGCClientDisplayNotification)
    }

    // @@protoc_insertion_point(class_scope:CMsgGCClientDisplayNotification)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgGCClientDisplayNotification 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientDisplayNotification getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional fixed64 player_steamid = 1;
     * @return Whether the playerSteamid field is set.
     */
    boolean hasPlayerSteamid();
    /**
     * optional fixed64 player_steamid = 1;
     * @return The playerSteamid.
     */
    long getPlayerSteamid();
  }
  /**
   * Protobuf type {@code CMsgGCShowItemsPickedUp}
   */
  public static final class CMsgGCShowItemsPickedUp extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgGCShowItemsPickedUp)
      CMsgGCShowItemsPickedUpOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgGCShowItemsPickedUp.class.getName());
    }
    // Use CMsgGCShowItemsPickedUp.newBuilder() to construct.
    private CMsgGCShowItemsPickedUp(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgGCShowItemsPickedUp() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCShowItemsPickedUp_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCShowItemsPickedUp_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp.Builder.class);
    }

    private int bitField0_;
    public static final int PLAYER_STEAMID_FIELD_NUMBER = 1;
    private long playerSteamid_ = 0L;
    /**
     * optional fixed64 player_steamid = 1;
     * @return Whether the playerSteamid field is set.
     */
    @java.lang.Override
    public boolean hasPlayerSteamid() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional fixed64 player_steamid = 1;
     * @return The playerSteamid.
     */
    @java.lang.Override
    public long getPlayerSteamid() {
      return playerSteamid_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeFixed64(1, playerSteamid_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed64Size(1, playerSteamid_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp) obj;

      if (hasPlayerSteamid() != other.hasPlayerSteamid()) return false;
      if (hasPlayerSteamid()) {
        if (getPlayerSteamid()
            != other.getPlayerSteamid()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasPlayerSteamid()) {
        hash = (37 * hash) + PLAYER_STEAMID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getPlayerSteamid());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgGCShowItemsPickedUp}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgGCShowItemsPickedUp)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUpOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCShowItemsPickedUp_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCShowItemsPickedUp_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        playerSteamid_ = 0L;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCShowItemsPickedUp_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.playerSteamid_ = playerSteamid_;
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp.getDefaultInstance()) return this;
        if (other.hasPlayerSteamid()) {
          setPlayerSteamid(other.getPlayerSteamid());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 9: {
                playerSteamid_ = input.readFixed64();
                bitField0_ |= 0x00000001;
                break;
              } // case 9
              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 long playerSteamid_ ;
      /**
       * optional fixed64 player_steamid = 1;
       * @return Whether the playerSteamid field is set.
       */
      @java.lang.Override
      public boolean hasPlayerSteamid() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional fixed64 player_steamid = 1;
       * @return The playerSteamid.
       */
      @java.lang.Override
      public long getPlayerSteamid() {
        return playerSteamid_;
      }
      /**
       * optional fixed64 player_steamid = 1;
       * @param value The playerSteamid to set.
       * @return This builder for chaining.
       */
      public Builder setPlayerSteamid(long value) {

        playerSteamid_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional fixed64 player_steamid = 1;
       * @return This builder for chaining.
       */
      public Builder clearPlayerSteamid() {
        bitField0_ = (bitField0_ & ~0x00000001);
        playerSteamid_ = 0L;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgGCShowItemsPickedUp)
    }

    // @@protoc_insertion_point(class_scope:CMsgGCShowItemsPickedUp)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgGCShowItemsPickedUp 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCShowItemsPickedUp getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint32 account_id = 1;
     * @return Whether the accountId field is set.
     */
    boolean hasAccountId();
    /**
     * optional uint32 account_id = 1;
     * @return The accountId.
     */
    int getAccountId();

    /**
     * optional uint32 event_type = 2;
     * @return Whether the eventType field is set.
     */
    boolean hasEventType();
    /**
     * optional uint32 event_type = 2;
     * @return The eventType.
     */
    int getEventType();

    /**
     * optional uint32 amount = 3;
     * @return Whether the amount field is set.
     */
    boolean hasAmount();
    /**
     * optional uint32 amount = 3;
     * @return The amount.
     */
    int getAmount();
  }
  /**
   * Protobuf type {@code CMsgUpdatePeriodicEvent}
   */
  public static final class CMsgUpdatePeriodicEvent extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgUpdatePeriodicEvent)
      CMsgUpdatePeriodicEventOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgUpdatePeriodicEvent.class.getName());
    }
    // Use CMsgUpdatePeriodicEvent.newBuilder() to construct.
    private CMsgUpdatePeriodicEvent(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgUpdatePeriodicEvent() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgUpdatePeriodicEvent_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgUpdatePeriodicEvent_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent.Builder.class);
    }

    private int bitField0_;
    public static final int ACCOUNT_ID_FIELD_NUMBER = 1;
    private int accountId_ = 0;
    /**
     * optional uint32 account_id = 1;
     * @return Whether the accountId field is set.
     */
    @java.lang.Override
    public boolean hasAccountId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 account_id = 1;
     * @return The accountId.
     */
    @java.lang.Override
    public int getAccountId() {
      return accountId_;
    }

    public static final int EVENT_TYPE_FIELD_NUMBER = 2;
    private int eventType_ = 0;
    /**
     * optional uint32 event_type = 2;
     * @return Whether the eventType field is set.
     */
    @java.lang.Override
    public boolean hasEventType() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint32 event_type = 2;
     * @return The eventType.
     */
    @java.lang.Override
    public int getEventType() {
      return eventType_;
    }

    public static final int AMOUNT_FIELD_NUMBER = 3;
    private int amount_ = 0;
    /**
     * optional uint32 amount = 3;
     * @return Whether the amount field is set.
     */
    @java.lang.Override
    public boolean hasAmount() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional uint32 amount = 3;
     * @return The amount.
     */
    @java.lang.Override
    public int getAmount() {
      return amount_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt32(1, accountId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeUInt32(2, eventType_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeUInt32(3, amount_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, accountId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, eventType_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, amount_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent) obj;

      if (hasAccountId() != other.hasAccountId()) return false;
      if (hasAccountId()) {
        if (getAccountId()
            != other.getAccountId()) return false;
      }
      if (hasEventType() != other.hasEventType()) return false;
      if (hasEventType()) {
        if (getEventType()
            != other.getEventType()) return false;
      }
      if (hasAmount() != other.hasAmount()) return false;
      if (hasAmount()) {
        if (getAmount()
            != other.getAmount()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasAccountId()) {
        hash = (37 * hash) + ACCOUNT_ID_FIELD_NUMBER;
        hash = (53 * hash) + getAccountId();
      }
      if (hasEventType()) {
        hash = (37 * hash) + EVENT_TYPE_FIELD_NUMBER;
        hash = (53 * hash) + getEventType();
      }
      if (hasAmount()) {
        hash = (37 * hash) + AMOUNT_FIELD_NUMBER;
        hash = (53 * hash) + getAmount();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgUpdatePeriodicEvent}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgUpdatePeriodicEvent)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEventOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgUpdatePeriodicEvent_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgUpdatePeriodicEvent_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        accountId_ = 0;
        eventType_ = 0;
        amount_ = 0;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgUpdatePeriodicEvent_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.accountId_ = accountId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.eventType_ = eventType_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.amount_ = amount_;
          to_bitField0_ |= 0x00000004;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent.getDefaultInstance()) return this;
        if (other.hasAccountId()) {
          setAccountId(other.getAccountId());
        }
        if (other.hasEventType()) {
          setEventType(other.getEventType());
        }
        if (other.hasAmount()) {
          setAmount(other.getAmount());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                accountId_ = input.readUInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                eventType_ = input.readUInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 24: {
                amount_ = input.readUInt32();
                bitField0_ |= 0x00000004;
                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 bitField0_;

      private int accountId_ ;
      /**
       * optional uint32 account_id = 1;
       * @return Whether the accountId field is set.
       */
      @java.lang.Override
      public boolean hasAccountId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 account_id = 1;
       * @return The accountId.
       */
      @java.lang.Override
      public int getAccountId() {
        return accountId_;
      }
      /**
       * optional uint32 account_id = 1;
       * @param value The accountId to set.
       * @return This builder for chaining.
       */
      public Builder setAccountId(int value) {

        accountId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint32 account_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearAccountId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        accountId_ = 0;
        onChanged();
        return this;
      }

      private int eventType_ ;
      /**
       * optional uint32 event_type = 2;
       * @return Whether the eventType field is set.
       */
      @java.lang.Override
      public boolean hasEventType() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint32 event_type = 2;
       * @return The eventType.
       */
      @java.lang.Override
      public int getEventType() {
        return eventType_;
      }
      /**
       * optional uint32 event_type = 2;
       * @param value The eventType to set.
       * @return This builder for chaining.
       */
      public Builder setEventType(int value) {

        eventType_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint32 event_type = 2;
       * @return This builder for chaining.
       */
      public Builder clearEventType() {
        bitField0_ = (bitField0_ & ~0x00000002);
        eventType_ = 0;
        onChanged();
        return this;
      }

      private int amount_ ;
      /**
       * optional uint32 amount = 3;
       * @return Whether the amount field is set.
       */
      @java.lang.Override
      public boolean hasAmount() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional uint32 amount = 3;
       * @return The amount.
       */
      @java.lang.Override
      public int getAmount() {
        return amount_;
      }
      /**
       * optional uint32 amount = 3;
       * @param value The amount to set.
       * @return This builder for chaining.
       */
      public Builder setAmount(int value) {

        amount_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional uint32 amount = 3;
       * @return This builder for chaining.
       */
      public Builder clearAmount() {
        bitField0_ = (bitField0_ & ~0x00000004);
        amount_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgUpdatePeriodicEvent)
    }

    // @@protoc_insertion_point(class_scope:CMsgUpdatePeriodicEvent)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgUpdatePeriodicEvent 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgUpdatePeriodicEvent getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint32 killer_account_id = 1 [(.key_field) = true];
     * @return Whether the killerAccountId field is set.
     */
    boolean hasKillerAccountId();
    /**
     * optional uint32 killer_account_id = 1 [(.key_field) = true];
     * @return The killerAccountId.
     */
    int getKillerAccountId();

    /**
     * optional uint32 num_kills = 2;
     * @return Whether the numKills field is set.
     */
    boolean hasNumKills();
    /**
     * optional uint32 num_kills = 2;
     * @return The numKills.
     */
    int getNumKills();

    /**
     * optional uint32 item_def = 3;
     * @return Whether the itemDef field is set.
     */
    boolean hasItemDef();
    /**
     * optional uint32 item_def = 3;
     * @return The itemDef.
     */
    int getItemDef();

    /**
     * optional uint32 level_type = 4;
     * @return Whether the levelType field is set.
     */
    boolean hasLevelType();
    /**
     * optional uint32 level_type = 4;
     * @return The levelType.
     */
    int getLevelType();
  }
  /**
   * Protobuf type {@code CMsgGCIncrementKillCountResponse}
   */
  public static final class CMsgGCIncrementKillCountResponse extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgGCIncrementKillCountResponse)
      CMsgGCIncrementKillCountResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgGCIncrementKillCountResponse.class.getName());
    }
    // Use CMsgGCIncrementKillCountResponse.newBuilder() to construct.
    private CMsgGCIncrementKillCountResponse(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgGCIncrementKillCountResponse() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCIncrementKillCountResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCIncrementKillCountResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse.Builder.class);
    }

    private int bitField0_;
    public static final int KILLER_ACCOUNT_ID_FIELD_NUMBER = 1;
    private int killerAccountId_ = 0;
    /**
     * optional uint32 killer_account_id = 1 [(.key_field) = true];
     * @return Whether the killerAccountId field is set.
     */
    @java.lang.Override
    public boolean hasKillerAccountId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 killer_account_id = 1 [(.key_field) = true];
     * @return The killerAccountId.
     */
    @java.lang.Override
    public int getKillerAccountId() {
      return killerAccountId_;
    }

    public static final int NUM_KILLS_FIELD_NUMBER = 2;
    private int numKills_ = 0;
    /**
     * optional uint32 num_kills = 2;
     * @return Whether the numKills field is set.
     */
    @java.lang.Override
    public boolean hasNumKills() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint32 num_kills = 2;
     * @return The numKills.
     */
    @java.lang.Override
    public int getNumKills() {
      return numKills_;
    }

    public static final int ITEM_DEF_FIELD_NUMBER = 3;
    private int itemDef_ = 0;
    /**
     * optional uint32 item_def = 3;
     * @return Whether the itemDef field is set.
     */
    @java.lang.Override
    public boolean hasItemDef() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional uint32 item_def = 3;
     * @return The itemDef.
     */
    @java.lang.Override
    public int getItemDef() {
      return itemDef_;
    }

    public static final int LEVEL_TYPE_FIELD_NUMBER = 4;
    private int levelType_ = 0;
    /**
     * optional uint32 level_type = 4;
     * @return Whether the levelType field is set.
     */
    @java.lang.Override
    public boolean hasLevelType() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional uint32 level_type = 4;
     * @return The levelType.
     */
    @java.lang.Override
    public int getLevelType() {
      return levelType_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt32(1, killerAccountId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeUInt32(2, numKills_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeUInt32(3, itemDef_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeUInt32(4, levelType_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, killerAccountId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, numKills_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, itemDef_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, levelType_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse) obj;

      if (hasKillerAccountId() != other.hasKillerAccountId()) return false;
      if (hasKillerAccountId()) {
        if (getKillerAccountId()
            != other.getKillerAccountId()) return false;
      }
      if (hasNumKills() != other.hasNumKills()) return false;
      if (hasNumKills()) {
        if (getNumKills()
            != other.getNumKills()) return false;
      }
      if (hasItemDef() != other.hasItemDef()) return false;
      if (hasItemDef()) {
        if (getItemDef()
            != other.getItemDef()) return false;
      }
      if (hasLevelType() != other.hasLevelType()) return false;
      if (hasLevelType()) {
        if (getLevelType()
            != other.getLevelType()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasKillerAccountId()) {
        hash = (37 * hash) + KILLER_ACCOUNT_ID_FIELD_NUMBER;
        hash = (53 * hash) + getKillerAccountId();
      }
      if (hasNumKills()) {
        hash = (37 * hash) + NUM_KILLS_FIELD_NUMBER;
        hash = (53 * hash) + getNumKills();
      }
      if (hasItemDef()) {
        hash = (37 * hash) + ITEM_DEF_FIELD_NUMBER;
        hash = (53 * hash) + getItemDef();
      }
      if (hasLevelType()) {
        hash = (37 * hash) + LEVEL_TYPE_FIELD_NUMBER;
        hash = (53 * hash) + getLevelType();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgGCIncrementKillCountResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgGCIncrementKillCountResponse)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCIncrementKillCountResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCIncrementKillCountResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        killerAccountId_ = 0;
        numKills_ = 0;
        itemDef_ = 0;
        levelType_ = 0;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCIncrementKillCountResponse_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.killerAccountId_ = killerAccountId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.numKills_ = numKills_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.itemDef_ = itemDef_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.levelType_ = levelType_;
          to_bitField0_ |= 0x00000008;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse.getDefaultInstance()) return this;
        if (other.hasKillerAccountId()) {
          setKillerAccountId(other.getKillerAccountId());
        }
        if (other.hasNumKills()) {
          setNumKills(other.getNumKills());
        }
        if (other.hasItemDef()) {
          setItemDef(other.getItemDef());
        }
        if (other.hasLevelType()) {
          setLevelType(other.getLevelType());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                killerAccountId_ = input.readUInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                numKills_ = input.readUInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 24: {
                itemDef_ = input.readUInt32();
                bitField0_ |= 0x00000004;
                break;
              } // case 24
              case 32: {
                levelType_ = input.readUInt32();
                bitField0_ |= 0x00000008;
                break;
              } // case 32
              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 int killerAccountId_ ;
      /**
       * optional uint32 killer_account_id = 1 [(.key_field) = true];
       * @return Whether the killerAccountId field is set.
       */
      @java.lang.Override
      public boolean hasKillerAccountId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 killer_account_id = 1 [(.key_field) = true];
       * @return The killerAccountId.
       */
      @java.lang.Override
      public int getKillerAccountId() {
        return killerAccountId_;
      }
      /**
       * optional uint32 killer_account_id = 1 [(.key_field) = true];
       * @param value The killerAccountId to set.
       * @return This builder for chaining.
       */
      public Builder setKillerAccountId(int value) {

        killerAccountId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint32 killer_account_id = 1 [(.key_field) = true];
       * @return This builder for chaining.
       */
      public Builder clearKillerAccountId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        killerAccountId_ = 0;
        onChanged();
        return this;
      }

      private int numKills_ ;
      /**
       * optional uint32 num_kills = 2;
       * @return Whether the numKills field is set.
       */
      @java.lang.Override
      public boolean hasNumKills() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint32 num_kills = 2;
       * @return The numKills.
       */
      @java.lang.Override
      public int getNumKills() {
        return numKills_;
      }
      /**
       * optional uint32 num_kills = 2;
       * @param value The numKills to set.
       * @return This builder for chaining.
       */
      public Builder setNumKills(int value) {

        numKills_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint32 num_kills = 2;
       * @return This builder for chaining.
       */
      public Builder clearNumKills() {
        bitField0_ = (bitField0_ & ~0x00000002);
        numKills_ = 0;
        onChanged();
        return this;
      }

      private int itemDef_ ;
      /**
       * optional uint32 item_def = 3;
       * @return Whether the itemDef field is set.
       */
      @java.lang.Override
      public boolean hasItemDef() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional uint32 item_def = 3;
       * @return The itemDef.
       */
      @java.lang.Override
      public int getItemDef() {
        return itemDef_;
      }
      /**
       * optional uint32 item_def = 3;
       * @param value The itemDef to set.
       * @return This builder for chaining.
       */
      public Builder setItemDef(int value) {

        itemDef_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional uint32 item_def = 3;
       * @return This builder for chaining.
       */
      public Builder clearItemDef() {
        bitField0_ = (bitField0_ & ~0x00000004);
        itemDef_ = 0;
        onChanged();
        return this;
      }

      private int levelType_ ;
      /**
       * optional uint32 level_type = 4;
       * @return Whether the levelType field is set.
       */
      @java.lang.Override
      public boolean hasLevelType() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional uint32 level_type = 4;
       * @return The levelType.
       */
      @java.lang.Override
      public int getLevelType() {
        return levelType_;
      }
      /**
       * optional uint32 level_type = 4;
       * @param value The levelType to set.
       * @return This builder for chaining.
       */
      public Builder setLevelType(int value) {

        levelType_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional uint32 level_type = 4;
       * @return This builder for chaining.
       */
      public Builder clearLevelType() {
        bitField0_ = (bitField0_ & ~0x00000008);
        levelType_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgGCIncrementKillCountResponse)
    }

    // @@protoc_insertion_point(class_scope:CMsgGCIncrementKillCountResponse)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgGCIncrementKillCountResponse 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCIncrementKillCountResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint64 item_id = 1;
     * @return Whether the itemId field is set.
     */
    boolean hasItemId();
    /**
     * optional uint64 item_id = 1;
     * @return The itemId.
     */
    long getItemId();

    /**
     * optional uint32 strange_part_score_type = 2;
     * @return Whether the strangePartScoreType field is set.
     */
    boolean hasStrangePartScoreType();
    /**
     * optional uint32 strange_part_score_type = 2;
     * @return The strangePartScoreType.
     */
    int getStrangePartScoreType();
  }
  /**
   * Protobuf type {@code CMsgGCRemoveStrangePart}
   */
  public static final class CMsgGCRemoveStrangePart extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgGCRemoveStrangePart)
      CMsgGCRemoveStrangePartOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgGCRemoveStrangePart.class.getName());
    }
    // Use CMsgGCRemoveStrangePart.newBuilder() to construct.
    private CMsgGCRemoveStrangePart(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgGCRemoveStrangePart() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCRemoveStrangePart_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCRemoveStrangePart_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart.Builder.class);
    }

    private int bitField0_;
    public static final int ITEM_ID_FIELD_NUMBER = 1;
    private long itemId_ = 0L;
    /**
     * optional uint64 item_id = 1;
     * @return Whether the itemId field is set.
     */
    @java.lang.Override
    public boolean hasItemId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint64 item_id = 1;
     * @return The itemId.
     */
    @java.lang.Override
    public long getItemId() {
      return itemId_;
    }

    public static final int STRANGE_PART_SCORE_TYPE_FIELD_NUMBER = 2;
    private int strangePartScoreType_ = 0;
    /**
     * optional uint32 strange_part_score_type = 2;
     * @return Whether the strangePartScoreType field is set.
     */
    @java.lang.Override
    public boolean hasStrangePartScoreType() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint32 strange_part_score_type = 2;
     * @return The strangePartScoreType.
     */
    @java.lang.Override
    public int getStrangePartScoreType() {
      return strangePartScoreType_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt64(1, itemId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeUInt32(2, strangePartScoreType_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, itemId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, strangePartScoreType_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart) obj;

      if (hasItemId() != other.hasItemId()) return false;
      if (hasItemId()) {
        if (getItemId()
            != other.getItemId()) return false;
      }
      if (hasStrangePartScoreType() != other.hasStrangePartScoreType()) return false;
      if (hasStrangePartScoreType()) {
        if (getStrangePartScoreType()
            != other.getStrangePartScoreType()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasItemId()) {
        hash = (37 * hash) + ITEM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getItemId());
      }
      if (hasStrangePartScoreType()) {
        hash = (37 * hash) + STRANGE_PART_SCORE_TYPE_FIELD_NUMBER;
        hash = (53 * hash) + getStrangePartScoreType();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgGCRemoveStrangePart}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgGCRemoveStrangePart)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePartOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCRemoveStrangePart_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCRemoveStrangePart_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        itemId_ = 0L;
        strangePartScoreType_ = 0;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCRemoveStrangePart_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.itemId_ = itemId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.strangePartScoreType_ = strangePartScoreType_;
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart.getDefaultInstance()) return this;
        if (other.hasItemId()) {
          setItemId(other.getItemId());
        }
        if (other.hasStrangePartScoreType()) {
          setStrangePartScoreType(other.getStrangePartScoreType());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                itemId_ = input.readUInt64();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                strangePartScoreType_ = input.readUInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              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 long itemId_ ;
      /**
       * optional uint64 item_id = 1;
       * @return Whether the itemId field is set.
       */
      @java.lang.Override
      public boolean hasItemId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint64 item_id = 1;
       * @return The itemId.
       */
      @java.lang.Override
      public long getItemId() {
        return itemId_;
      }
      /**
       * optional uint64 item_id = 1;
       * @param value The itemId to set.
       * @return This builder for chaining.
       */
      public Builder setItemId(long value) {

        itemId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint64 item_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearItemId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        itemId_ = 0L;
        onChanged();
        return this;
      }

      private int strangePartScoreType_ ;
      /**
       * optional uint32 strange_part_score_type = 2;
       * @return Whether the strangePartScoreType field is set.
       */
      @java.lang.Override
      public boolean hasStrangePartScoreType() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint32 strange_part_score_type = 2;
       * @return The strangePartScoreType.
       */
      @java.lang.Override
      public int getStrangePartScoreType() {
        return strangePartScoreType_;
      }
      /**
       * optional uint32 strange_part_score_type = 2;
       * @param value The strangePartScoreType to set.
       * @return This builder for chaining.
       */
      public Builder setStrangePartScoreType(int value) {

        strangePartScoreType_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint32 strange_part_score_type = 2;
       * @return This builder for chaining.
       */
      public Builder clearStrangePartScoreType() {
        bitField0_ = (bitField0_ & ~0x00000002);
        strangePartScoreType_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgGCRemoveStrangePart)
    }

    // @@protoc_insertion_point(class_scope:CMsgGCRemoveStrangePart)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgGCRemoveStrangePart 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveStrangePart getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint64 item_id = 1;
     * @return Whether the itemId field is set.
     */
    boolean hasItemId();
    /**
     * optional uint64 item_id = 1;
     * @return The itemId.
     */
    long getItemId();

    /**
     * optional uint32 attribute_index = 2;
     * @return Whether the attributeIndex field is set.
     */
    boolean hasAttributeIndex();
    /**
     * optional uint32 attribute_index = 2;
     * @return The attributeIndex.
     */
    int getAttributeIndex();
  }
  /**
   * Protobuf type {@code CMsgGCRemoveUpgradeCard}
   */
  public static final class CMsgGCRemoveUpgradeCard extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgGCRemoveUpgradeCard)
      CMsgGCRemoveUpgradeCardOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgGCRemoveUpgradeCard.class.getName());
    }
    // Use CMsgGCRemoveUpgradeCard.newBuilder() to construct.
    private CMsgGCRemoveUpgradeCard(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgGCRemoveUpgradeCard() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCRemoveUpgradeCard_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCRemoveUpgradeCard_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard.Builder.class);
    }

    private int bitField0_;
    public static final int ITEM_ID_FIELD_NUMBER = 1;
    private long itemId_ = 0L;
    /**
     * optional uint64 item_id = 1;
     * @return Whether the itemId field is set.
     */
    @java.lang.Override
    public boolean hasItemId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint64 item_id = 1;
     * @return The itemId.
     */
    @java.lang.Override
    public long getItemId() {
      return itemId_;
    }

    public static final int ATTRIBUTE_INDEX_FIELD_NUMBER = 2;
    private int attributeIndex_ = 0;
    /**
     * optional uint32 attribute_index = 2;
     * @return Whether the attributeIndex field is set.
     */
    @java.lang.Override
    public boolean hasAttributeIndex() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint32 attribute_index = 2;
     * @return The attributeIndex.
     */
    @java.lang.Override
    public int getAttributeIndex() {
      return attributeIndex_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt64(1, itemId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeUInt32(2, attributeIndex_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, itemId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, attributeIndex_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard) obj;

      if (hasItemId() != other.hasItemId()) return false;
      if (hasItemId()) {
        if (getItemId()
            != other.getItemId()) return false;
      }
      if (hasAttributeIndex() != other.hasAttributeIndex()) return false;
      if (hasAttributeIndex()) {
        if (getAttributeIndex()
            != other.getAttributeIndex()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasItemId()) {
        hash = (37 * hash) + ITEM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getItemId());
      }
      if (hasAttributeIndex()) {
        hash = (37 * hash) + ATTRIBUTE_INDEX_FIELD_NUMBER;
        hash = (53 * hash) + getAttributeIndex();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgGCRemoveUpgradeCard}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgGCRemoveUpgradeCard)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCardOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCRemoveUpgradeCard_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCRemoveUpgradeCard_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        itemId_ = 0L;
        attributeIndex_ = 0;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCRemoveUpgradeCard_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.itemId_ = itemId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.attributeIndex_ = attributeIndex_;
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard.getDefaultInstance()) return this;
        if (other.hasItemId()) {
          setItemId(other.getItemId());
        }
        if (other.hasAttributeIndex()) {
          setAttributeIndex(other.getAttributeIndex());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                itemId_ = input.readUInt64();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                attributeIndex_ = input.readUInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              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 long itemId_ ;
      /**
       * optional uint64 item_id = 1;
       * @return Whether the itemId field is set.
       */
      @java.lang.Override
      public boolean hasItemId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint64 item_id = 1;
       * @return The itemId.
       */
      @java.lang.Override
      public long getItemId() {
        return itemId_;
      }
      /**
       * optional uint64 item_id = 1;
       * @param value The itemId to set.
       * @return This builder for chaining.
       */
      public Builder setItemId(long value) {

        itemId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint64 item_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearItemId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        itemId_ = 0L;
        onChanged();
        return this;
      }

      private int attributeIndex_ ;
      /**
       * optional uint32 attribute_index = 2;
       * @return Whether the attributeIndex field is set.
       */
      @java.lang.Override
      public boolean hasAttributeIndex() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint32 attribute_index = 2;
       * @return The attributeIndex.
       */
      @java.lang.Override
      public int getAttributeIndex() {
        return attributeIndex_;
      }
      /**
       * optional uint32 attribute_index = 2;
       * @param value The attributeIndex to set.
       * @return This builder for chaining.
       */
      public Builder setAttributeIndex(int value) {

        attributeIndex_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint32 attribute_index = 2;
       * @return This builder for chaining.
       */
      public Builder clearAttributeIndex() {
        bitField0_ = (bitField0_ & ~0x00000002);
        attributeIndex_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgGCRemoveUpgradeCard)
    }

    // @@protoc_insertion_point(class_scope:CMsgGCRemoveUpgradeCard)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgGCRemoveUpgradeCard 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveUpgradeCard getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint64 item_id = 1;
     * @return Whether the itemId field is set.
     */
    boolean hasItemId();
    /**
     * optional uint64 item_id = 1;
     * @return The itemId.
     */
    long getItemId();
  }
  /**
   * Protobuf type {@code CMsgGCRemoveCustomizationAttributeSimple}
   */
  public static final class CMsgGCRemoveCustomizationAttributeSimple extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgGCRemoveCustomizationAttributeSimple)
      CMsgGCRemoveCustomizationAttributeSimpleOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgGCRemoveCustomizationAttributeSimple.class.getName());
    }
    // Use CMsgGCRemoveCustomizationAttributeSimple.newBuilder() to construct.
    private CMsgGCRemoveCustomizationAttributeSimple(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgGCRemoveCustomizationAttributeSimple() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCRemoveCustomizationAttributeSimple_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCRemoveCustomizationAttributeSimple_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple.Builder.class);
    }

    private int bitField0_;
    public static final int ITEM_ID_FIELD_NUMBER = 1;
    private long itemId_ = 0L;
    /**
     * optional uint64 item_id = 1;
     * @return Whether the itemId field is set.
     */
    @java.lang.Override
    public boolean hasItemId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint64 item_id = 1;
     * @return The itemId.
     */
    @java.lang.Override
    public long getItemId() {
      return itemId_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt64(1, itemId_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, itemId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple) obj;

      if (hasItemId() != other.hasItemId()) return false;
      if (hasItemId()) {
        if (getItemId()
            != other.getItemId()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasItemId()) {
        hash = (37 * hash) + ITEM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getItemId());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgGCRemoveCustomizationAttributeSimple}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgGCRemoveCustomizationAttributeSimple)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimpleOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCRemoveCustomizationAttributeSimple_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCRemoveCustomizationAttributeSimple_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        itemId_ = 0L;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCRemoveCustomizationAttributeSimple_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.itemId_ = itemId_;
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple.getDefaultInstance()) return this;
        if (other.hasItemId()) {
          setItemId(other.getItemId());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                itemId_ = input.readUInt64();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              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 long itemId_ ;
      /**
       * optional uint64 item_id = 1;
       * @return Whether the itemId field is set.
       */
      @java.lang.Override
      public boolean hasItemId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint64 item_id = 1;
       * @return The itemId.
       */
      @java.lang.Override
      public long getItemId() {
        return itemId_;
      }
      /**
       * optional uint64 item_id = 1;
       * @param value The itemId to set.
       * @return This builder for chaining.
       */
      public Builder setItemId(long value) {

        itemId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint64 item_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearItemId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        itemId_ = 0L;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgGCRemoveCustomizationAttributeSimple)
    }

    // @@protoc_insertion_point(class_scope:CMsgGCRemoveCustomizationAttributeSimple)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgGCRemoveCustomizationAttributeSimple 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCRemoveCustomizationAttributeSimple getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint64 item_id = 1;
     * @return Whether the itemId field is set.
     */
    boolean hasItemId();
    /**
     * optional uint64 item_id = 1;
     * @return The itemId.
     */
    long getItemId();
  }
  /**
   * Protobuf type {@code CMsgGCResetStrangeScores}
   */
  public static final class CMsgGCResetStrangeScores extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgGCResetStrangeScores)
      CMsgGCResetStrangeScoresOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgGCResetStrangeScores.class.getName());
    }
    // Use CMsgGCResetStrangeScores.newBuilder() to construct.
    private CMsgGCResetStrangeScores(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgGCResetStrangeScores() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCResetStrangeScores_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCResetStrangeScores_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores.Builder.class);
    }

    private int bitField0_;
    public static final int ITEM_ID_FIELD_NUMBER = 1;
    private long itemId_ = 0L;
    /**
     * optional uint64 item_id = 1;
     * @return Whether the itemId field is set.
     */
    @java.lang.Override
    public boolean hasItemId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint64 item_id = 1;
     * @return The itemId.
     */
    @java.lang.Override
    public long getItemId() {
      return itemId_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt64(1, itemId_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, itemId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores) obj;

      if (hasItemId() != other.hasItemId()) return false;
      if (hasItemId()) {
        if (getItemId()
            != other.getItemId()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasItemId()) {
        hash = (37 * hash) + ITEM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getItemId());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgGCResetStrangeScores}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgGCResetStrangeScores)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScoresOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCResetStrangeScores_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCResetStrangeScores_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        itemId_ = 0L;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCResetStrangeScores_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.itemId_ = itemId_;
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores.getDefaultInstance()) return this;
        if (other.hasItemId()) {
          setItemId(other.getItemId());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                itemId_ = input.readUInt64();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              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 long itemId_ ;
      /**
       * optional uint64 item_id = 1;
       * @return Whether the itemId field is set.
       */
      @java.lang.Override
      public boolean hasItemId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint64 item_id = 1;
       * @return The itemId.
       */
      @java.lang.Override
      public long getItemId() {
        return itemId_;
      }
      /**
       * optional uint64 item_id = 1;
       * @param value The itemId to set.
       * @return This builder for chaining.
       */
      public Builder setItemId(long value) {

        itemId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint64 item_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearItemId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        itemId_ = 0L;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgGCResetStrangeScores)
    }

    // @@protoc_insertion_point(class_scope:CMsgGCResetStrangeScores)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgGCResetStrangeScores 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCResetStrangeScores getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint32 item_def_index = 1;
     * @return Whether the itemDefIndex field is set.
     */
    boolean hasItemDefIndex();
    /**
     * optional uint32 item_def_index = 1;
     * @return The itemDefIndex.
     */
    int getItemDefIndex();
  }
  /**
   * Protobuf type {@code CMsgGCItemPreviewItemBoughtNotification}
   */
  public static final class CMsgGCItemPreviewItemBoughtNotification extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgGCItemPreviewItemBoughtNotification)
      CMsgGCItemPreviewItemBoughtNotificationOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgGCItemPreviewItemBoughtNotification.class.getName());
    }
    // Use CMsgGCItemPreviewItemBoughtNotification.newBuilder() to construct.
    private CMsgGCItemPreviewItemBoughtNotification(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgGCItemPreviewItemBoughtNotification() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCItemPreviewItemBoughtNotification_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCItemPreviewItemBoughtNotification_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification.Builder.class);
    }

    private int bitField0_;
    public static final int ITEM_DEF_INDEX_FIELD_NUMBER = 1;
    private int itemDefIndex_ = 0;
    /**
     * optional uint32 item_def_index = 1;
     * @return Whether the itemDefIndex field is set.
     */
    @java.lang.Override
    public boolean hasItemDefIndex() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 item_def_index = 1;
     * @return The itemDefIndex.
     */
    @java.lang.Override
    public int getItemDefIndex() {
      return itemDefIndex_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt32(1, itemDefIndex_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, itemDefIndex_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification) obj;

      if (hasItemDefIndex() != other.hasItemDefIndex()) return false;
      if (hasItemDefIndex()) {
        if (getItemDefIndex()
            != other.getItemDefIndex()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

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

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgGCItemPreviewItemBoughtNotification}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgGCItemPreviewItemBoughtNotification)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotificationOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCItemPreviewItemBoughtNotification_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCItemPreviewItemBoughtNotification_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        itemDefIndex_ = 0;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCItemPreviewItemBoughtNotification_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.itemDefIndex_ = itemDefIndex_;
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification.getDefaultInstance()) return this;
        if (other.hasItemDefIndex()) {
          setItemDefIndex(other.getItemDefIndex());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                itemDefIndex_ = input.readUInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              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 int itemDefIndex_ ;
      /**
       * optional uint32 item_def_index = 1;
       * @return Whether the itemDefIndex field is set.
       */
      @java.lang.Override
      public boolean hasItemDefIndex() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 item_def_index = 1;
       * @return The itemDefIndex.
       */
      @java.lang.Override
      public int getItemDefIndex() {
        return itemDefIndex_;
      }
      /**
       * optional uint32 item_def_index = 1;
       * @param value The itemDefIndex to set.
       * @return This builder for chaining.
       */
      public Builder setItemDefIndex(int value) {

        itemDefIndex_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint32 item_def_index = 1;
       * @return This builder for chaining.
       */
      public Builder clearItemDefIndex() {
        bitField0_ = (bitField0_ & ~0x00000001);
        itemDefIndex_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgGCItemPreviewItemBoughtNotification)
    }

    // @@protoc_insertion_point(class_scope:CMsgGCItemPreviewItemBoughtNotification)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgGCItemPreviewItemBoughtNotification 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCItemPreviewItemBoughtNotification getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint64 txn_id = 1;
     * @return Whether the txnId field is set.
     */
    boolean hasTxnId();
    /**
     * optional uint64 txn_id = 1;
     * @return The txnId.
     */
    long getTxnId();
  }
  /**
   * Protobuf type {@code CMsgGCStorePurchaseCancel}
   */
  public static final class CMsgGCStorePurchaseCancel extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgGCStorePurchaseCancel)
      CMsgGCStorePurchaseCancelOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgGCStorePurchaseCancel.class.getName());
    }
    // Use CMsgGCStorePurchaseCancel.newBuilder() to construct.
    private CMsgGCStorePurchaseCancel(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgGCStorePurchaseCancel() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCStorePurchaseCancel_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCStorePurchaseCancel_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel.Builder.class);
    }

    private int bitField0_;
    public static final int TXN_ID_FIELD_NUMBER = 1;
    private long txnId_ = 0L;
    /**
     * optional uint64 txn_id = 1;
     * @return Whether the txnId field is set.
     */
    @java.lang.Override
    public boolean hasTxnId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint64 txn_id = 1;
     * @return The txnId.
     */
    @java.lang.Override
    public long getTxnId() {
      return txnId_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt64(1, txnId_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, txnId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel) obj;

      if (hasTxnId() != other.hasTxnId()) return false;
      if (hasTxnId()) {
        if (getTxnId()
            != other.getTxnId()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasTxnId()) {
        hash = (37 * hash) + TXN_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getTxnId());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgGCStorePurchaseCancel}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgGCStorePurchaseCancel)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCStorePurchaseCancel_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCStorePurchaseCancel_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        txnId_ = 0L;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCStorePurchaseCancel_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.txnId_ = txnId_;
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel.getDefaultInstance()) return this;
        if (other.hasTxnId()) {
          setTxnId(other.getTxnId());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                txnId_ = input.readUInt64();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              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 long txnId_ ;
      /**
       * optional uint64 txn_id = 1;
       * @return Whether the txnId field is set.
       */
      @java.lang.Override
      public boolean hasTxnId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint64 txn_id = 1;
       * @return The txnId.
       */
      @java.lang.Override
      public long getTxnId() {
        return txnId_;
      }
      /**
       * optional uint64 txn_id = 1;
       * @param value The txnId to set.
       * @return This builder for chaining.
       */
      public Builder setTxnId(long value) {

        txnId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint64 txn_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearTxnId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        txnId_ = 0L;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgGCStorePurchaseCancel)
    }

    // @@protoc_insertion_point(class_scope:CMsgGCStorePurchaseCancel)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgGCStorePurchaseCancel 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancel getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint32 result = 1;
     * @return Whether the result field is set.
     */
    boolean hasResult();
    /**
     * optional uint32 result = 1;
     * @return The result.
     */
    int getResult();
  }
  /**
   * Protobuf type {@code CMsgGCStorePurchaseCancelResponse}
   */
  public static final class CMsgGCStorePurchaseCancelResponse extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgGCStorePurchaseCancelResponse)
      CMsgGCStorePurchaseCancelResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgGCStorePurchaseCancelResponse.class.getName());
    }
    // Use CMsgGCStorePurchaseCancelResponse.newBuilder() to construct.
    private CMsgGCStorePurchaseCancelResponse(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgGCStorePurchaseCancelResponse() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCStorePurchaseCancelResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCStorePurchaseCancelResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse.Builder.class);
    }

    private int bitField0_;
    public static final int RESULT_FIELD_NUMBER = 1;
    private int result_ = 0;
    /**
     * optional uint32 result = 1;
     * @return Whether the result field is set.
     */
    @java.lang.Override
    public boolean hasResult() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 result = 1;
     * @return The result.
     */
    @java.lang.Override
    public int getResult() {
      return result_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt32(1, result_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, result_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse) obj;

      if (hasResult() != other.hasResult()) return false;
      if (hasResult()) {
        if (getResult()
            != other.getResult()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

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

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgGCStorePurchaseCancelResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgGCStorePurchaseCancelResponse)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCStorePurchaseCancelResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCStorePurchaseCancelResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        result_ = 0;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCStorePurchaseCancelResponse_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.result_ = result_;
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse.getDefaultInstance()) return this;
        if (other.hasResult()) {
          setResult(other.getResult());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                result_ = input.readUInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              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 int result_ ;
      /**
       * optional uint32 result = 1;
       * @return Whether the result field is set.
       */
      @java.lang.Override
      public boolean hasResult() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 result = 1;
       * @return The result.
       */
      @java.lang.Override
      public int getResult() {
        return result_;
      }
      /**
       * optional uint32 result = 1;
       * @param value The result to set.
       * @return This builder for chaining.
       */
      public Builder setResult(int value) {

        result_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint32 result = 1;
       * @return This builder for chaining.
       */
      public Builder clearResult() {
        bitField0_ = (bitField0_ & ~0x00000001);
        result_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgGCStorePurchaseCancelResponse)
    }

    // @@protoc_insertion_point(class_scope:CMsgGCStorePurchaseCancelResponse)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgGCStorePurchaseCancelResponse 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseCancelResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint64 txn_id = 1;
     * @return Whether the txnId field is set.
     */
    boolean hasTxnId();
    /**
     * optional uint64 txn_id = 1;
     * @return The txnId.
     */
    long getTxnId();
  }
  /**
   * Protobuf type {@code CMsgGCStorePurchaseFinalize}
   */
  public static final class CMsgGCStorePurchaseFinalize extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgGCStorePurchaseFinalize)
      CMsgGCStorePurchaseFinalizeOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgGCStorePurchaseFinalize.class.getName());
    }
    // Use CMsgGCStorePurchaseFinalize.newBuilder() to construct.
    private CMsgGCStorePurchaseFinalize(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgGCStorePurchaseFinalize() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCStorePurchaseFinalize_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCStorePurchaseFinalize_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize.Builder.class);
    }

    private int bitField0_;
    public static final int TXN_ID_FIELD_NUMBER = 1;
    private long txnId_ = 0L;
    /**
     * optional uint64 txn_id = 1;
     * @return Whether the txnId field is set.
     */
    @java.lang.Override
    public boolean hasTxnId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint64 txn_id = 1;
     * @return The txnId.
     */
    @java.lang.Override
    public long getTxnId() {
      return txnId_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt64(1, txnId_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, txnId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize) obj;

      if (hasTxnId() != other.hasTxnId()) return false;
      if (hasTxnId()) {
        if (getTxnId()
            != other.getTxnId()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasTxnId()) {
        hash = (37 * hash) + TXN_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getTxnId());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgGCStorePurchaseFinalize}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgGCStorePurchaseFinalize)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCStorePurchaseFinalize_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCStorePurchaseFinalize_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        txnId_ = 0L;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCStorePurchaseFinalize_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.txnId_ = txnId_;
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize.getDefaultInstance()) return this;
        if (other.hasTxnId()) {
          setTxnId(other.getTxnId());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                txnId_ = input.readUInt64();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              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 long txnId_ ;
      /**
       * optional uint64 txn_id = 1;
       * @return Whether the txnId field is set.
       */
      @java.lang.Override
      public boolean hasTxnId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint64 txn_id = 1;
       * @return The txnId.
       */
      @java.lang.Override
      public long getTxnId() {
        return txnId_;
      }
      /**
       * optional uint64 txn_id = 1;
       * @param value The txnId to set.
       * @return This builder for chaining.
       */
      public Builder setTxnId(long value) {

        txnId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint64 txn_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearTxnId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        txnId_ = 0L;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgGCStorePurchaseFinalize)
    }

    // @@protoc_insertion_point(class_scope:CMsgGCStorePurchaseFinalize)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgGCStorePurchaseFinalize 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalize getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint32 result = 1;
     * @return Whether the result field is set.
     */
    boolean hasResult();
    /**
     * optional uint32 result = 1;
     * @return The result.
     */
    int getResult();

    /**
     * repeated uint64 item_ids = 2;
     * @return A list containing the itemIds.
     */
    java.util.List getItemIdsList();
    /**
     * repeated uint64 item_ids = 2;
     * @return The count of itemIds.
     */
    int getItemIdsCount();
    /**
     * repeated uint64 item_ids = 2;
     * @param index The index of the element to return.
     * @return The itemIds at the given index.
     */
    long getItemIds(int index);
  }
  /**
   * Protobuf type {@code CMsgGCStorePurchaseFinalizeResponse}
   */
  public static final class CMsgGCStorePurchaseFinalizeResponse extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgGCStorePurchaseFinalizeResponse)
      CMsgGCStorePurchaseFinalizeResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgGCStorePurchaseFinalizeResponse.class.getName());
    }
    // Use CMsgGCStorePurchaseFinalizeResponse.newBuilder() to construct.
    private CMsgGCStorePurchaseFinalizeResponse(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgGCStorePurchaseFinalizeResponse() {
      itemIds_ = emptyLongList();
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCStorePurchaseFinalizeResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCStorePurchaseFinalizeResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse.Builder.class);
    }

    private int bitField0_;
    public static final int RESULT_FIELD_NUMBER = 1;
    private int result_ = 0;
    /**
     * optional uint32 result = 1;
     * @return Whether the result field is set.
     */
    @java.lang.Override
    public boolean hasResult() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 result = 1;
     * @return The result.
     */
    @java.lang.Override
    public int getResult() {
      return result_;
    }

    public static final int ITEM_IDS_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private com.google.protobuf.Internal.LongList itemIds_ =
        emptyLongList();
    /**
     * repeated uint64 item_ids = 2;
     * @return A list containing the itemIds.
     */
    @java.lang.Override
    public java.util.List
        getItemIdsList() {
      return itemIds_;
    }
    /**
     * repeated uint64 item_ids = 2;
     * @return The count of itemIds.
     */
    public int getItemIdsCount() {
      return itemIds_.size();
    }
    /**
     * repeated uint64 item_ids = 2;
     * @param index The index of the element to return.
     * @return The itemIds at the given index.
     */
    public long getItemIds(int index) {
      return itemIds_.getLong(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt32(1, result_);
      }
      for (int i = 0; i < itemIds_.size(); i++) {
        output.writeUInt64(2, itemIds_.getLong(i));
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, result_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < itemIds_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeUInt64SizeNoTag(itemIds_.getLong(i));
        }
        size += dataSize;
        size += 1 * getItemIdsList().size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse) obj;

      if (hasResult() != other.hasResult()) return false;
      if (hasResult()) {
        if (getResult()
            != other.getResult()) return false;
      }
      if (!getItemIdsList()
          .equals(other.getItemIdsList())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasResult()) {
        hash = (37 * hash) + RESULT_FIELD_NUMBER;
        hash = (53 * hash) + getResult();
      }
      if (getItemIdsCount() > 0) {
        hash = (37 * hash) + ITEM_IDS_FIELD_NUMBER;
        hash = (53 * hash) + getItemIdsList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgGCStorePurchaseFinalizeResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgGCStorePurchaseFinalizeResponse)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCStorePurchaseFinalizeResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCStorePurchaseFinalizeResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        result_ = 0;
        itemIds_ = emptyLongList();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCStorePurchaseFinalizeResponse_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.result_ = result_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          itemIds_.makeImmutable();
          result.itemIds_ = itemIds_;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse.getDefaultInstance()) return this;
        if (other.hasResult()) {
          setResult(other.getResult());
        }
        if (!other.itemIds_.isEmpty()) {
          if (itemIds_.isEmpty()) {
            itemIds_ = other.itemIds_;
            itemIds_.makeImmutable();
            bitField0_ |= 0x00000002;
          } else {
            ensureItemIdsIsMutable();
            itemIds_.addAll(other.itemIds_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                result_ = input.readUInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                long v = input.readUInt64();
                ensureItemIdsIsMutable();
                itemIds_.addLong(v);
                break;
              } // case 16
              case 18: {
                int length = input.readRawVarint32();
                int limit = input.pushLimit(length);
                ensureItemIdsIsMutable();
                while (input.getBytesUntilLimit() > 0) {
                  itemIds_.addLong(input.readUInt64());
                }
                input.popLimit(limit);
                break;
              } // case 18
              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 int result_ ;
      /**
       * optional uint32 result = 1;
       * @return Whether the result field is set.
       */
      @java.lang.Override
      public boolean hasResult() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 result = 1;
       * @return The result.
       */
      @java.lang.Override
      public int getResult() {
        return result_;
      }
      /**
       * optional uint32 result = 1;
       * @param value The result to set.
       * @return This builder for chaining.
       */
      public Builder setResult(int value) {

        result_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint32 result = 1;
       * @return This builder for chaining.
       */
      public Builder clearResult() {
        bitField0_ = (bitField0_ & ~0x00000001);
        result_ = 0;
        onChanged();
        return this;
      }

      private com.google.protobuf.Internal.LongList itemIds_ = emptyLongList();
      private void ensureItemIdsIsMutable() {
        if (!itemIds_.isModifiable()) {
          itemIds_ = makeMutableCopy(itemIds_);
        }
        bitField0_ |= 0x00000002;
      }
      /**
       * repeated uint64 item_ids = 2;
       * @return A list containing the itemIds.
       */
      public java.util.List
          getItemIdsList() {
        itemIds_.makeImmutable();
        return itemIds_;
      }
      /**
       * repeated uint64 item_ids = 2;
       * @return The count of itemIds.
       */
      public int getItemIdsCount() {
        return itemIds_.size();
      }
      /**
       * repeated uint64 item_ids = 2;
       * @param index The index of the element to return.
       * @return The itemIds at the given index.
       */
      public long getItemIds(int index) {
        return itemIds_.getLong(index);
      }
      /**
       * repeated uint64 item_ids = 2;
       * @param index The index to set the value at.
       * @param value The itemIds to set.
       * @return This builder for chaining.
       */
      public Builder setItemIds(
          int index, long value) {

        ensureItemIdsIsMutable();
        itemIds_.setLong(index, value);
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * repeated uint64 item_ids = 2;
       * @param value The itemIds to add.
       * @return This builder for chaining.
       */
      public Builder addItemIds(long value) {

        ensureItemIdsIsMutable();
        itemIds_.addLong(value);
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * repeated uint64 item_ids = 2;
       * @param values The itemIds to add.
       * @return This builder for chaining.
       */
      public Builder addAllItemIds(
          java.lang.Iterable values) {
        ensureItemIdsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, itemIds_);
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * repeated uint64 item_ids = 2;
       * @return This builder for chaining.
       */
      public Builder clearItemIds() {
        itemIds_ = emptyLongList();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgGCStorePurchaseFinalizeResponse)
    }

    // @@protoc_insertion_point(class_scope:CMsgGCStorePurchaseFinalizeResponse)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgGCStorePurchaseFinalizeResponse 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCStorePurchaseFinalizeResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint32 ban_list_group_id = 1;
     * @return Whether the banListGroupId field is set.
     */
    boolean hasBanListGroupId();
    /**
     * optional uint32 ban_list_group_id = 1;
     * @return The banListGroupId.
     */
    int getBanListGroupId();

    /**
     * optional uint32 word_id = 2;
     * @return Whether the wordId field is set.
     */
    boolean hasWordId();
    /**
     * optional uint32 word_id = 2;
     * @return The wordId.
     */
    int getWordId();
  }
  /**
   * Protobuf type {@code CMsgGCBannedWordListRequest}
   */
  public static final class CMsgGCBannedWordListRequest extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgGCBannedWordListRequest)
      CMsgGCBannedWordListRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgGCBannedWordListRequest.class.getName());
    }
    // Use CMsgGCBannedWordListRequest.newBuilder() to construct.
    private CMsgGCBannedWordListRequest(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgGCBannedWordListRequest() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCBannedWordListRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCBannedWordListRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest.Builder.class);
    }

    private int bitField0_;
    public static final int BAN_LIST_GROUP_ID_FIELD_NUMBER = 1;
    private int banListGroupId_ = 0;
    /**
     * optional uint32 ban_list_group_id = 1;
     * @return Whether the banListGroupId field is set.
     */
    @java.lang.Override
    public boolean hasBanListGroupId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 ban_list_group_id = 1;
     * @return The banListGroupId.
     */
    @java.lang.Override
    public int getBanListGroupId() {
      return banListGroupId_;
    }

    public static final int WORD_ID_FIELD_NUMBER = 2;
    private int wordId_ = 0;
    /**
     * optional uint32 word_id = 2;
     * @return Whether the wordId field is set.
     */
    @java.lang.Override
    public boolean hasWordId() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint32 word_id = 2;
     * @return The wordId.
     */
    @java.lang.Override
    public int getWordId() {
      return wordId_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, banListGroupId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, wordId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest) obj;

      if (hasBanListGroupId() != other.hasBanListGroupId()) return false;
      if (hasBanListGroupId()) {
        if (getBanListGroupId()
            != other.getBanListGroupId()) return false;
      }
      if (hasWordId() != other.hasWordId()) return false;
      if (hasWordId()) {
        if (getWordId()
            != other.getWordId()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasBanListGroupId()) {
        hash = (37 * hash) + BAN_LIST_GROUP_ID_FIELD_NUMBER;
        hash = (53 * hash) + getBanListGroupId();
      }
      if (hasWordId()) {
        hash = (37 * hash) + WORD_ID_FIELD_NUMBER;
        hash = (53 * hash) + getWordId();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgGCBannedWordListRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgGCBannedWordListRequest)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCBannedWordListRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCBannedWordListRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        banListGroupId_ = 0;
        wordId_ = 0;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCBannedWordListRequest_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.banListGroupId_ = banListGroupId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.wordId_ = wordId_;
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest.getDefaultInstance()) return this;
        if (other.hasBanListGroupId()) {
          setBanListGroupId(other.getBanListGroupId());
        }
        if (other.hasWordId()) {
          setWordId(other.getWordId());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                banListGroupId_ = input.readUInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                wordId_ = input.readUInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              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 int banListGroupId_ ;
      /**
       * optional uint32 ban_list_group_id = 1;
       * @return Whether the banListGroupId field is set.
       */
      @java.lang.Override
      public boolean hasBanListGroupId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 ban_list_group_id = 1;
       * @return The banListGroupId.
       */
      @java.lang.Override
      public int getBanListGroupId() {
        return banListGroupId_;
      }
      /**
       * optional uint32 ban_list_group_id = 1;
       * @param value The banListGroupId to set.
       * @return This builder for chaining.
       */
      public Builder setBanListGroupId(int value) {

        banListGroupId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint32 ban_list_group_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearBanListGroupId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        banListGroupId_ = 0;
        onChanged();
        return this;
      }

      private int wordId_ ;
      /**
       * optional uint32 word_id = 2;
       * @return Whether the wordId field is set.
       */
      @java.lang.Override
      public boolean hasWordId() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint32 word_id = 2;
       * @return The wordId.
       */
      @java.lang.Override
      public int getWordId() {
        return wordId_;
      }
      /**
       * optional uint32 word_id = 2;
       * @param value The wordId to set.
       * @return This builder for chaining.
       */
      public Builder setWordId(int value) {

        wordId_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint32 word_id = 2;
       * @return This builder for chaining.
       */
      public Builder clearWordId() {
        bitField0_ = (bitField0_ & ~0x00000002);
        wordId_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgGCBannedWordListRequest)
    }

    // @@protoc_insertion_point(class_scope:CMsgGCBannedWordListRequest)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgGCBannedWordListRequest 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCBannedWordListRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint64 gifter_steam_id = 1;
     * @return Whether the gifterSteamId field is set.
     */
    boolean hasGifterSteamId();
    /**
     * optional uint64 gifter_steam_id = 1;
     * @return The gifterSteamId.
     */
    long getGifterSteamId();

    /**
     * optional bool was_random_person = 2;
     * @return Whether the wasRandomPerson field is set.
     */
    boolean hasWasRandomPerson();
    /**
     * optional bool was_random_person = 2;
     * @return The wasRandomPerson.
     */
    boolean getWasRandomPerson();

    /**
     * repeated uint32 recipient_account_ids = 3;
     * @return A list containing the recipientAccountIds.
     */
    java.util.List getRecipientAccountIdsList();
    /**
     * repeated uint32 recipient_account_ids = 3;
     * @return The count of recipientAccountIds.
     */
    int getRecipientAccountIdsCount();
    /**
     * repeated uint32 recipient_account_ids = 3;
     * @param index The index of the element to return.
     * @return The recipientAccountIds at the given index.
     */
    int getRecipientAccountIds(int index);
  }
  /**
   * Protobuf type {@code CMsgGCGiftedItems}
   */
  public static final class CMsgGCGiftedItems extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgGCGiftedItems)
      CMsgGCGiftedItemsOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgGCGiftedItems.class.getName());
    }
    // Use CMsgGCGiftedItems.newBuilder() to construct.
    private CMsgGCGiftedItems(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgGCGiftedItems() {
      recipientAccountIds_ = emptyIntList();
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCGiftedItems_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCGiftedItems_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems.Builder.class);
    }

    private int bitField0_;
    public static final int GIFTER_STEAM_ID_FIELD_NUMBER = 1;
    private long gifterSteamId_ = 0L;
    /**
     * optional uint64 gifter_steam_id = 1;
     * @return Whether the gifterSteamId field is set.
     */
    @java.lang.Override
    public boolean hasGifterSteamId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint64 gifter_steam_id = 1;
     * @return The gifterSteamId.
     */
    @java.lang.Override
    public long getGifterSteamId() {
      return gifterSteamId_;
    }

    public static final int WAS_RANDOM_PERSON_FIELD_NUMBER = 2;
    private boolean wasRandomPerson_ = false;
    /**
     * optional bool was_random_person = 2;
     * @return Whether the wasRandomPerson field is set.
     */
    @java.lang.Override
    public boolean hasWasRandomPerson() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional bool was_random_person = 2;
     * @return The wasRandomPerson.
     */
    @java.lang.Override
    public boolean getWasRandomPerson() {
      return wasRandomPerson_;
    }

    public static final int RECIPIENT_ACCOUNT_IDS_FIELD_NUMBER = 3;
    @SuppressWarnings("serial")
    private com.google.protobuf.Internal.IntList recipientAccountIds_ =
        emptyIntList();
    /**
     * repeated uint32 recipient_account_ids = 3;
     * @return A list containing the recipientAccountIds.
     */
    @java.lang.Override
    public java.util.List
        getRecipientAccountIdsList() {
      return recipientAccountIds_;
    }
    /**
     * repeated uint32 recipient_account_ids = 3;
     * @return The count of recipientAccountIds.
     */
    public int getRecipientAccountIdsCount() {
      return recipientAccountIds_.size();
    }
    /**
     * repeated uint32 recipient_account_ids = 3;
     * @param index The index of the element to return.
     * @return The recipientAccountIds at the given index.
     */
    public int getRecipientAccountIds(int index) {
      return recipientAccountIds_.getInt(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt64(1, gifterSteamId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeBool(2, wasRandomPerson_);
      }
      for (int i = 0; i < recipientAccountIds_.size(); i++) {
        output.writeUInt32(3, recipientAccountIds_.getInt(i));
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, gifterSteamId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(2, wasRandomPerson_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < recipientAccountIds_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(recipientAccountIds_.getInt(i));
        }
        size += dataSize;
        size += 1 * getRecipientAccountIdsList().size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems) obj;

      if (hasGifterSteamId() != other.hasGifterSteamId()) return false;
      if (hasGifterSteamId()) {
        if (getGifterSteamId()
            != other.getGifterSteamId()) return false;
      }
      if (hasWasRandomPerson() != other.hasWasRandomPerson()) return false;
      if (hasWasRandomPerson()) {
        if (getWasRandomPerson()
            != other.getWasRandomPerson()) return false;
      }
      if (!getRecipientAccountIdsList()
          .equals(other.getRecipientAccountIdsList())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasGifterSteamId()) {
        hash = (37 * hash) + GIFTER_STEAM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getGifterSteamId());
      }
      if (hasWasRandomPerson()) {
        hash = (37 * hash) + WAS_RANDOM_PERSON_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getWasRandomPerson());
      }
      if (getRecipientAccountIdsCount() > 0) {
        hash = (37 * hash) + RECIPIENT_ACCOUNT_IDS_FIELD_NUMBER;
        hash = (53 * hash) + getRecipientAccountIdsList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgGCGiftedItems}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgGCGiftedItems)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItemsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCGiftedItems_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCGiftedItems_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        gifterSteamId_ = 0L;
        wasRandomPerson_ = false;
        recipientAccountIds_ = emptyIntList();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCGiftedItems_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.gifterSteamId_ = gifterSteamId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.wasRandomPerson_ = wasRandomPerson_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          recipientAccountIds_.makeImmutable();
          result.recipientAccountIds_ = recipientAccountIds_;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems.getDefaultInstance()) return this;
        if (other.hasGifterSteamId()) {
          setGifterSteamId(other.getGifterSteamId());
        }
        if (other.hasWasRandomPerson()) {
          setWasRandomPerson(other.getWasRandomPerson());
        }
        if (!other.recipientAccountIds_.isEmpty()) {
          if (recipientAccountIds_.isEmpty()) {
            recipientAccountIds_ = other.recipientAccountIds_;
            recipientAccountIds_.makeImmutable();
            bitField0_ |= 0x00000004;
          } else {
            ensureRecipientAccountIdsIsMutable();
            recipientAccountIds_.addAll(other.recipientAccountIds_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                gifterSteamId_ = input.readUInt64();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                wasRandomPerson_ = input.readBool();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 24: {
                int v = input.readUInt32();
                ensureRecipientAccountIdsIsMutable();
                recipientAccountIds_.addInt(v);
                break;
              } // case 24
              case 26: {
                int length = input.readRawVarint32();
                int limit = input.pushLimit(length);
                ensureRecipientAccountIdsIsMutable();
                while (input.getBytesUntilLimit() > 0) {
                  recipientAccountIds_.addInt(input.readUInt32());
                }
                input.popLimit(limit);
                break;
              } // case 26
              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 long gifterSteamId_ ;
      /**
       * optional uint64 gifter_steam_id = 1;
       * @return Whether the gifterSteamId field is set.
       */
      @java.lang.Override
      public boolean hasGifterSteamId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint64 gifter_steam_id = 1;
       * @return The gifterSteamId.
       */
      @java.lang.Override
      public long getGifterSteamId() {
        return gifterSteamId_;
      }
      /**
       * optional uint64 gifter_steam_id = 1;
       * @param value The gifterSteamId to set.
       * @return This builder for chaining.
       */
      public Builder setGifterSteamId(long value) {

        gifterSteamId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint64 gifter_steam_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearGifterSteamId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        gifterSteamId_ = 0L;
        onChanged();
        return this;
      }

      private boolean wasRandomPerson_ ;
      /**
       * optional bool was_random_person = 2;
       * @return Whether the wasRandomPerson field is set.
       */
      @java.lang.Override
      public boolean hasWasRandomPerson() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional bool was_random_person = 2;
       * @return The wasRandomPerson.
       */
      @java.lang.Override
      public boolean getWasRandomPerson() {
        return wasRandomPerson_;
      }
      /**
       * optional bool was_random_person = 2;
       * @param value The wasRandomPerson to set.
       * @return This builder for chaining.
       */
      public Builder setWasRandomPerson(boolean value) {

        wasRandomPerson_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional bool was_random_person = 2;
       * @return This builder for chaining.
       */
      public Builder clearWasRandomPerson() {
        bitField0_ = (bitField0_ & ~0x00000002);
        wasRandomPerson_ = false;
        onChanged();
        return this;
      }

      private com.google.protobuf.Internal.IntList recipientAccountIds_ = emptyIntList();
      private void ensureRecipientAccountIdsIsMutable() {
        if (!recipientAccountIds_.isModifiable()) {
          recipientAccountIds_ = makeMutableCopy(recipientAccountIds_);
        }
        bitField0_ |= 0x00000004;
      }
      /**
       * repeated uint32 recipient_account_ids = 3;
       * @return A list containing the recipientAccountIds.
       */
      public java.util.List
          getRecipientAccountIdsList() {
        recipientAccountIds_.makeImmutable();
        return recipientAccountIds_;
      }
      /**
       * repeated uint32 recipient_account_ids = 3;
       * @return The count of recipientAccountIds.
       */
      public int getRecipientAccountIdsCount() {
        return recipientAccountIds_.size();
      }
      /**
       * repeated uint32 recipient_account_ids = 3;
       * @param index The index of the element to return.
       * @return The recipientAccountIds at the given index.
       */
      public int getRecipientAccountIds(int index) {
        return recipientAccountIds_.getInt(index);
      }
      /**
       * repeated uint32 recipient_account_ids = 3;
       * @param index The index to set the value at.
       * @param value The recipientAccountIds to set.
       * @return This builder for chaining.
       */
      public Builder setRecipientAccountIds(
          int index, int value) {

        ensureRecipientAccountIdsIsMutable();
        recipientAccountIds_.setInt(index, value);
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * repeated uint32 recipient_account_ids = 3;
       * @param value The recipientAccountIds to add.
       * @return This builder for chaining.
       */
      public Builder addRecipientAccountIds(int value) {

        ensureRecipientAccountIdsIsMutable();
        recipientAccountIds_.addInt(value);
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * repeated uint32 recipient_account_ids = 3;
       * @param values The recipientAccountIds to add.
       * @return This builder for chaining.
       */
      public Builder addAllRecipientAccountIds(
          java.lang.Iterable values) {
        ensureRecipientAccountIdsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, recipientAccountIds_);
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * repeated uint32 recipient_account_ids = 3;
       * @return This builder for chaining.
       */
      public Builder clearRecipientAccountIds() {
        recipientAccountIds_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgGCGiftedItems)
    }

    // @@protoc_insertion_point(class_scope:CMsgGCGiftedItems)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgGCGiftedItems 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCGiftedItems getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint64 collection_item_id = 1;
     * @return Whether the collectionItemId field is set.
     */
    boolean hasCollectionItemId();
    /**
     * optional uint64 collection_item_id = 1;
     * @return The collectionItemId.
     */
    long getCollectionItemId();

    /**
     * optional uint64 subject_item_id = 2;
     * @return Whether the subjectItemId field is set.
     */
    boolean hasSubjectItemId();
    /**
     * optional uint64 subject_item_id = 2;
     * @return The subjectItemId.
     */
    long getSubjectItemId();
  }
  /**
   * Protobuf type {@code CMsgGCCollectItem}
   */
  public static final class CMsgGCCollectItem extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgGCCollectItem)
      CMsgGCCollectItemOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgGCCollectItem.class.getName());
    }
    // Use CMsgGCCollectItem.newBuilder() to construct.
    private CMsgGCCollectItem(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgGCCollectItem() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCCollectItem_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCCollectItem_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem.Builder.class);
    }

    private int bitField0_;
    public static final int COLLECTION_ITEM_ID_FIELD_NUMBER = 1;
    private long collectionItemId_ = 0L;
    /**
     * optional uint64 collection_item_id = 1;
     * @return Whether the collectionItemId field is set.
     */
    @java.lang.Override
    public boolean hasCollectionItemId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint64 collection_item_id = 1;
     * @return The collectionItemId.
     */
    @java.lang.Override
    public long getCollectionItemId() {
      return collectionItemId_;
    }

    public static final int SUBJECT_ITEM_ID_FIELD_NUMBER = 2;
    private long subjectItemId_ = 0L;
    /**
     * optional uint64 subject_item_id = 2;
     * @return Whether the subjectItemId field is set.
     */
    @java.lang.Override
    public boolean hasSubjectItemId() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint64 subject_item_id = 2;
     * @return The subjectItemId.
     */
    @java.lang.Override
    public long getSubjectItemId() {
      return subjectItemId_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, collectionItemId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(2, subjectItemId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem) obj;

      if (hasCollectionItemId() != other.hasCollectionItemId()) return false;
      if (hasCollectionItemId()) {
        if (getCollectionItemId()
            != other.getCollectionItemId()) return false;
      }
      if (hasSubjectItemId() != other.hasSubjectItemId()) return false;
      if (hasSubjectItemId()) {
        if (getSubjectItemId()
            != other.getSubjectItemId()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasCollectionItemId()) {
        hash = (37 * hash) + COLLECTION_ITEM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getCollectionItemId());
      }
      if (hasSubjectItemId()) {
        hash = (37 * hash) + SUBJECT_ITEM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getSubjectItemId());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgGCCollectItem}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgGCCollectItem)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItemOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCCollectItem_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCCollectItem_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        collectionItemId_ = 0L;
        subjectItemId_ = 0L;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCCollectItem_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.collectionItemId_ = collectionItemId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.subjectItemId_ = subjectItemId_;
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem.getDefaultInstance()) return this;
        if (other.hasCollectionItemId()) {
          setCollectionItemId(other.getCollectionItemId());
        }
        if (other.hasSubjectItemId()) {
          setSubjectItemId(other.getSubjectItemId());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                collectionItemId_ = input.readUInt64();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                subjectItemId_ = input.readUInt64();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              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 long collectionItemId_ ;
      /**
       * optional uint64 collection_item_id = 1;
       * @return Whether the collectionItemId field is set.
       */
      @java.lang.Override
      public boolean hasCollectionItemId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint64 collection_item_id = 1;
       * @return The collectionItemId.
       */
      @java.lang.Override
      public long getCollectionItemId() {
        return collectionItemId_;
      }
      /**
       * optional uint64 collection_item_id = 1;
       * @param value The collectionItemId to set.
       * @return This builder for chaining.
       */
      public Builder setCollectionItemId(long value) {

        collectionItemId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint64 collection_item_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearCollectionItemId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        collectionItemId_ = 0L;
        onChanged();
        return this;
      }

      private long subjectItemId_ ;
      /**
       * optional uint64 subject_item_id = 2;
       * @return Whether the subjectItemId field is set.
       */
      @java.lang.Override
      public boolean hasSubjectItemId() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint64 subject_item_id = 2;
       * @return The subjectItemId.
       */
      @java.lang.Override
      public long getSubjectItemId() {
        return subjectItemId_;
      }
      /**
       * optional uint64 subject_item_id = 2;
       * @param value The subjectItemId to set.
       * @return This builder for chaining.
       */
      public Builder setSubjectItemId(long value) {

        subjectItemId_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint64 subject_item_id = 2;
       * @return This builder for chaining.
       */
      public Builder clearSubjectItemId() {
        bitField0_ = (bitField0_ & ~0x00000002);
        subjectItemId_ = 0L;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgGCCollectItem)
    }

    // @@protoc_insertion_point(class_scope:CMsgGCCollectItem)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgGCCollectItem 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCCollectItem getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint32 user_currency = 1;
     * @return Whether the userCurrency field is set.
     */
    boolean hasUserCurrency();
    /**
     * optional uint32 user_currency = 1;
     * @return The userCurrency.
     */
    int getUserCurrency();
  }
  /**
   * Protobuf type {@code CMsgGCClientMarketDataRequest}
   */
  public static final class CMsgGCClientMarketDataRequest extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgGCClientMarketDataRequest)
      CMsgGCClientMarketDataRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgGCClientMarketDataRequest.class.getName());
    }
    // Use CMsgGCClientMarketDataRequest.newBuilder() to construct.
    private CMsgGCClientMarketDataRequest(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgGCClientMarketDataRequest() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCClientMarketDataRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCClientMarketDataRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest.Builder.class);
    }

    private int bitField0_;
    public static final int USER_CURRENCY_FIELD_NUMBER = 1;
    private int userCurrency_ = 0;
    /**
     * optional uint32 user_currency = 1;
     * @return Whether the userCurrency field is set.
     */
    @java.lang.Override
    public boolean hasUserCurrency() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 user_currency = 1;
     * @return The userCurrency.
     */
    @java.lang.Override
    public int getUserCurrency() {
      return userCurrency_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt32(1, userCurrency_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, userCurrency_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest) obj;

      if (hasUserCurrency() != other.hasUserCurrency()) return false;
      if (hasUserCurrency()) {
        if (getUserCurrency()
            != other.getUserCurrency()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

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

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgGCClientMarketDataRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgGCClientMarketDataRequest)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCClientMarketDataRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCClientMarketDataRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        userCurrency_ = 0;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCClientMarketDataRequest_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.userCurrency_ = userCurrency_;
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest.getDefaultInstance()) return this;
        if (other.hasUserCurrency()) {
          setUserCurrency(other.getUserCurrency());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                userCurrency_ = input.readUInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              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 int userCurrency_ ;
      /**
       * optional uint32 user_currency = 1;
       * @return Whether the userCurrency field is set.
       */
      @java.lang.Override
      public boolean hasUserCurrency() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 user_currency = 1;
       * @return The userCurrency.
       */
      @java.lang.Override
      public int getUserCurrency() {
        return userCurrency_;
      }
      /**
       * optional uint32 user_currency = 1;
       * @param value The userCurrency to set.
       * @return This builder for chaining.
       */
      public Builder setUserCurrency(int value) {

        userCurrency_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint32 user_currency = 1;
       * @return This builder for chaining.
       */
      public Builder clearUserCurrency() {
        bitField0_ = (bitField0_ & ~0x00000001);
        userCurrency_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgGCClientMarketDataRequest)
    }

    // @@protoc_insertion_point(class_scope:CMsgGCClientMarketDataRequest)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgGCClientMarketDataRequest 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint32 item_def_index = 1;
     * @return Whether the itemDefIndex field is set.
     */
    boolean hasItemDefIndex();
    /**
     * optional uint32 item_def_index = 1;
     * @return The itemDefIndex.
     */
    int getItemDefIndex();

    /**
     * optional uint32 item_quality = 2;
     * @return Whether the itemQuality field is set.
     */
    boolean hasItemQuality();
    /**
     * optional uint32 item_quality = 2;
     * @return The itemQuality.
     */
    int getItemQuality();

    /**
     * optional uint32 item_sell_listings = 3;
     * @return Whether the itemSellListings field is set.
     */
    boolean hasItemSellListings();
    /**
     * optional uint32 item_sell_listings = 3;
     * @return The itemSellListings.
     */
    int getItemSellListings();

    /**
     * optional uint32 price_in_local_currency = 4;
     * @return Whether the priceInLocalCurrency field is set.
     */
    boolean hasPriceInLocalCurrency();
    /**
     * optional uint32 price_in_local_currency = 4;
     * @return The priceInLocalCurrency.
     */
    int getPriceInLocalCurrency();
  }
  /**
   * Protobuf type {@code CMsgGCClientMarketDataEntry}
   */
  public static final class CMsgGCClientMarketDataEntry extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgGCClientMarketDataEntry)
      CMsgGCClientMarketDataEntryOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgGCClientMarketDataEntry.class.getName());
    }
    // Use CMsgGCClientMarketDataEntry.newBuilder() to construct.
    private CMsgGCClientMarketDataEntry(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgGCClientMarketDataEntry() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCClientMarketDataEntry_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCClientMarketDataEntry_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry.Builder.class);
    }

    private int bitField0_;
    public static final int ITEM_DEF_INDEX_FIELD_NUMBER = 1;
    private int itemDefIndex_ = 0;
    /**
     * optional uint32 item_def_index = 1;
     * @return Whether the itemDefIndex field is set.
     */
    @java.lang.Override
    public boolean hasItemDefIndex() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 item_def_index = 1;
     * @return The itemDefIndex.
     */
    @java.lang.Override
    public int getItemDefIndex() {
      return itemDefIndex_;
    }

    public static final int ITEM_QUALITY_FIELD_NUMBER = 2;
    private int itemQuality_ = 0;
    /**
     * optional uint32 item_quality = 2;
     * @return Whether the itemQuality field is set.
     */
    @java.lang.Override
    public boolean hasItemQuality() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint32 item_quality = 2;
     * @return The itemQuality.
     */
    @java.lang.Override
    public int getItemQuality() {
      return itemQuality_;
    }

    public static final int ITEM_SELL_LISTINGS_FIELD_NUMBER = 3;
    private int itemSellListings_ = 0;
    /**
     * optional uint32 item_sell_listings = 3;
     * @return Whether the itemSellListings field is set.
     */
    @java.lang.Override
    public boolean hasItemSellListings() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional uint32 item_sell_listings = 3;
     * @return The itemSellListings.
     */
    @java.lang.Override
    public int getItemSellListings() {
      return itemSellListings_;
    }

    public static final int PRICE_IN_LOCAL_CURRENCY_FIELD_NUMBER = 4;
    private int priceInLocalCurrency_ = 0;
    /**
     * optional uint32 price_in_local_currency = 4;
     * @return Whether the priceInLocalCurrency field is set.
     */
    @java.lang.Override
    public boolean hasPriceInLocalCurrency() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional uint32 price_in_local_currency = 4;
     * @return The priceInLocalCurrency.
     */
    @java.lang.Override
    public int getPriceInLocalCurrency() {
      return priceInLocalCurrency_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt32(1, itemDefIndex_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeUInt32(2, itemQuality_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeUInt32(3, itemSellListings_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeUInt32(4, priceInLocalCurrency_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, itemDefIndex_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, itemQuality_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, itemSellListings_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, priceInLocalCurrency_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry) obj;

      if (hasItemDefIndex() != other.hasItemDefIndex()) return false;
      if (hasItemDefIndex()) {
        if (getItemDefIndex()
            != other.getItemDefIndex()) return false;
      }
      if (hasItemQuality() != other.hasItemQuality()) return false;
      if (hasItemQuality()) {
        if (getItemQuality()
            != other.getItemQuality()) return false;
      }
      if (hasItemSellListings() != other.hasItemSellListings()) return false;
      if (hasItemSellListings()) {
        if (getItemSellListings()
            != other.getItemSellListings()) return false;
      }
      if (hasPriceInLocalCurrency() != other.hasPriceInLocalCurrency()) return false;
      if (hasPriceInLocalCurrency()) {
        if (getPriceInLocalCurrency()
            != other.getPriceInLocalCurrency()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasItemDefIndex()) {
        hash = (37 * hash) + ITEM_DEF_INDEX_FIELD_NUMBER;
        hash = (53 * hash) + getItemDefIndex();
      }
      if (hasItemQuality()) {
        hash = (37 * hash) + ITEM_QUALITY_FIELD_NUMBER;
        hash = (53 * hash) + getItemQuality();
      }
      if (hasItemSellListings()) {
        hash = (37 * hash) + ITEM_SELL_LISTINGS_FIELD_NUMBER;
        hash = (53 * hash) + getItemSellListings();
      }
      if (hasPriceInLocalCurrency()) {
        hash = (37 * hash) + PRICE_IN_LOCAL_CURRENCY_FIELD_NUMBER;
        hash = (53 * hash) + getPriceInLocalCurrency();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgGCClientMarketDataEntry}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgGCClientMarketDataEntry)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntryOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCClientMarketDataEntry_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCClientMarketDataEntry_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        itemDefIndex_ = 0;
        itemQuality_ = 0;
        itemSellListings_ = 0;
        priceInLocalCurrency_ = 0;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCClientMarketDataEntry_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.itemDefIndex_ = itemDefIndex_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.itemQuality_ = itemQuality_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.itemSellListings_ = itemSellListings_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.priceInLocalCurrency_ = priceInLocalCurrency_;
          to_bitField0_ |= 0x00000008;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry.getDefaultInstance()) return this;
        if (other.hasItemDefIndex()) {
          setItemDefIndex(other.getItemDefIndex());
        }
        if (other.hasItemQuality()) {
          setItemQuality(other.getItemQuality());
        }
        if (other.hasItemSellListings()) {
          setItemSellListings(other.getItemSellListings());
        }
        if (other.hasPriceInLocalCurrency()) {
          setPriceInLocalCurrency(other.getPriceInLocalCurrency());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                itemDefIndex_ = input.readUInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                itemQuality_ = input.readUInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 24: {
                itemSellListings_ = input.readUInt32();
                bitField0_ |= 0x00000004;
                break;
              } // case 24
              case 32: {
                priceInLocalCurrency_ = input.readUInt32();
                bitField0_ |= 0x00000008;
                break;
              } // case 32
              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 int itemDefIndex_ ;
      /**
       * optional uint32 item_def_index = 1;
       * @return Whether the itemDefIndex field is set.
       */
      @java.lang.Override
      public boolean hasItemDefIndex() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 item_def_index = 1;
       * @return The itemDefIndex.
       */
      @java.lang.Override
      public int getItemDefIndex() {
        return itemDefIndex_;
      }
      /**
       * optional uint32 item_def_index = 1;
       * @param value The itemDefIndex to set.
       * @return This builder for chaining.
       */
      public Builder setItemDefIndex(int value) {

        itemDefIndex_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint32 item_def_index = 1;
       * @return This builder for chaining.
       */
      public Builder clearItemDefIndex() {
        bitField0_ = (bitField0_ & ~0x00000001);
        itemDefIndex_ = 0;
        onChanged();
        return this;
      }

      private int itemQuality_ ;
      /**
       * optional uint32 item_quality = 2;
       * @return Whether the itemQuality field is set.
       */
      @java.lang.Override
      public boolean hasItemQuality() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint32 item_quality = 2;
       * @return The itemQuality.
       */
      @java.lang.Override
      public int getItemQuality() {
        return itemQuality_;
      }
      /**
       * optional uint32 item_quality = 2;
       * @param value The itemQuality to set.
       * @return This builder for chaining.
       */
      public Builder setItemQuality(int value) {

        itemQuality_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint32 item_quality = 2;
       * @return This builder for chaining.
       */
      public Builder clearItemQuality() {
        bitField0_ = (bitField0_ & ~0x00000002);
        itemQuality_ = 0;
        onChanged();
        return this;
      }

      private int itemSellListings_ ;
      /**
       * optional uint32 item_sell_listings = 3;
       * @return Whether the itemSellListings field is set.
       */
      @java.lang.Override
      public boolean hasItemSellListings() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional uint32 item_sell_listings = 3;
       * @return The itemSellListings.
       */
      @java.lang.Override
      public int getItemSellListings() {
        return itemSellListings_;
      }
      /**
       * optional uint32 item_sell_listings = 3;
       * @param value The itemSellListings to set.
       * @return This builder for chaining.
       */
      public Builder setItemSellListings(int value) {

        itemSellListings_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional uint32 item_sell_listings = 3;
       * @return This builder for chaining.
       */
      public Builder clearItemSellListings() {
        bitField0_ = (bitField0_ & ~0x00000004);
        itemSellListings_ = 0;
        onChanged();
        return this;
      }

      private int priceInLocalCurrency_ ;
      /**
       * optional uint32 price_in_local_currency = 4;
       * @return Whether the priceInLocalCurrency field is set.
       */
      @java.lang.Override
      public boolean hasPriceInLocalCurrency() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional uint32 price_in_local_currency = 4;
       * @return The priceInLocalCurrency.
       */
      @java.lang.Override
      public int getPriceInLocalCurrency() {
        return priceInLocalCurrency_;
      }
      /**
       * optional uint32 price_in_local_currency = 4;
       * @param value The priceInLocalCurrency to set.
       * @return This builder for chaining.
       */
      public Builder setPriceInLocalCurrency(int value) {

        priceInLocalCurrency_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional uint32 price_in_local_currency = 4;
       * @return This builder for chaining.
       */
      public Builder clearPriceInLocalCurrency() {
        bitField0_ = (bitField0_ & ~0x00000008);
        priceInLocalCurrency_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgGCClientMarketDataEntry)
    }

    // @@protoc_insertion_point(class_scope:CMsgGCClientMarketDataEntry)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgGCClientMarketDataEntry 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * repeated .CMsgGCClientMarketDataEntry entries = 1;
     */
    java.util.List 
        getEntriesList();
    /**
     * repeated .CMsgGCClientMarketDataEntry entries = 1;
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry getEntries(int index);
    /**
     * repeated .CMsgGCClientMarketDataEntry entries = 1;
     */
    int getEntriesCount();
    /**
     * repeated .CMsgGCClientMarketDataEntry entries = 1;
     */
    java.util.List 
        getEntriesOrBuilderList();
    /**
     * repeated .CMsgGCClientMarketDataEntry entries = 1;
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntryOrBuilder getEntriesOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code CMsgGCClientMarketData}
   */
  public static final class CMsgGCClientMarketData extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgGCClientMarketData)
      CMsgGCClientMarketDataOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgGCClientMarketData.class.getName());
    }
    // Use CMsgGCClientMarketData.newBuilder() to construct.
    private CMsgGCClientMarketData(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgGCClientMarketData() {
      entries_ = java.util.Collections.emptyList();
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCClientMarketData_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCClientMarketData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData.Builder.class);
    }

    public static final int ENTRIES_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private java.util.List entries_;
    /**
     * repeated .CMsgGCClientMarketDataEntry entries = 1;
     */
    @java.lang.Override
    public java.util.List getEntriesList() {
      return entries_;
    }
    /**
     * repeated .CMsgGCClientMarketDataEntry entries = 1;
     */
    @java.lang.Override
    public java.util.List 
        getEntriesOrBuilderList() {
      return entries_;
    }
    /**
     * repeated .CMsgGCClientMarketDataEntry entries = 1;
     */
    @java.lang.Override
    public int getEntriesCount() {
      return entries_.size();
    }
    /**
     * repeated .CMsgGCClientMarketDataEntry entries = 1;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry getEntries(int index) {
      return entries_.get(index);
    }
    /**
     * repeated .CMsgGCClientMarketDataEntry entries = 1;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntryOrBuilder getEntriesOrBuilder(
        int index) {
      return entries_.get(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

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

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData) obj;

      if (!getEntriesList()
          .equals(other.getEntriesList())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getEntriesCount() > 0) {
        hash = (37 * hash) + ENTRIES_FIELD_NUMBER;
        hash = (53 * hash) + getEntriesList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgGCClientMarketData}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgGCClientMarketData)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCClientMarketData_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCClientMarketData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        if (entriesBuilder_ == null) {
          entries_ = java.util.Collections.emptyList();
        } else {
          entries_ = null;
          entriesBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgGCClientMarketData_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData(this);
        buildPartialRepeatedFields(result);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartialRepeatedFields(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData result) {
        if (entriesBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            entries_ = java.util.Collections.unmodifiableList(entries_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.entries_ = entries_;
        } else {
          result.entries_ = entriesBuilder_.build();
        }
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData result) {
        int from_bitField0_ = bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData.getDefaultInstance()) return this;
        if (entriesBuilder_ == null) {
          if (!other.entries_.isEmpty()) {
            if (entries_.isEmpty()) {
              entries_ = other.entries_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureEntriesIsMutable();
              entries_.addAll(other.entries_);
            }
            onChanged();
          }
        } else {
          if (!other.entries_.isEmpty()) {
            if (entriesBuilder_.isEmpty()) {
              entriesBuilder_.dispose();
              entriesBuilder_ = null;
              entries_ = other.entries_;
              bitField0_ = (bitField0_ & ~0x00000001);
              entriesBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getEntriesFieldBuilder() : null;
            } else {
              entriesBuilder_.addAllMessages(other.entries_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry.parser(),
                        extensionRegistry);
                if (entriesBuilder_ == null) {
                  ensureEntriesIsMutable();
                  entries_.add(m);
                } else {
                  entriesBuilder_.addMessage(m);
                }
                break;
              } // case 10
              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 java.util.List entries_ =
        java.util.Collections.emptyList();
      private void ensureEntriesIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          entries_ = new java.util.ArrayList(entries_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntryOrBuilder> entriesBuilder_;

      /**
       * repeated .CMsgGCClientMarketDataEntry entries = 1;
       */
      public java.util.List getEntriesList() {
        if (entriesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(entries_);
        } else {
          return entriesBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CMsgGCClientMarketDataEntry entries = 1;
       */
      public int getEntriesCount() {
        if (entriesBuilder_ == null) {
          return entries_.size();
        } else {
          return entriesBuilder_.getCount();
        }
      }
      /**
       * repeated .CMsgGCClientMarketDataEntry entries = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry getEntries(int index) {
        if (entriesBuilder_ == null) {
          return entries_.get(index);
        } else {
          return entriesBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CMsgGCClientMarketDataEntry entries = 1;
       */
      public Builder setEntries(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry value) {
        if (entriesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEntriesIsMutable();
          entries_.set(index, value);
          onChanged();
        } else {
          entriesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgGCClientMarketDataEntry entries = 1;
       */
      public Builder setEntries(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry.Builder builderForValue) {
        if (entriesBuilder_ == null) {
          ensureEntriesIsMutable();
          entries_.set(index, builderForValue.build());
          onChanged();
        } else {
          entriesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgGCClientMarketDataEntry entries = 1;
       */
      public Builder addEntries(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry value) {
        if (entriesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEntriesIsMutable();
          entries_.add(value);
          onChanged();
        } else {
          entriesBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CMsgGCClientMarketDataEntry entries = 1;
       */
      public Builder addEntries(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry value) {
        if (entriesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEntriesIsMutable();
          entries_.add(index, value);
          onChanged();
        } else {
          entriesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgGCClientMarketDataEntry entries = 1;
       */
      public Builder addEntries(
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry.Builder builderForValue) {
        if (entriesBuilder_ == null) {
          ensureEntriesIsMutable();
          entries_.add(builderForValue.build());
          onChanged();
        } else {
          entriesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgGCClientMarketDataEntry entries = 1;
       */
      public Builder addEntries(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry.Builder builderForValue) {
        if (entriesBuilder_ == null) {
          ensureEntriesIsMutable();
          entries_.add(index, builderForValue.build());
          onChanged();
        } else {
          entriesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgGCClientMarketDataEntry entries = 1;
       */
      public Builder addAllEntries(
          java.lang.Iterable values) {
        if (entriesBuilder_ == null) {
          ensureEntriesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, entries_);
          onChanged();
        } else {
          entriesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CMsgGCClientMarketDataEntry entries = 1;
       */
      public Builder clearEntries() {
        if (entriesBuilder_ == null) {
          entries_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          entriesBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CMsgGCClientMarketDataEntry entries = 1;
       */
      public Builder removeEntries(int index) {
        if (entriesBuilder_ == null) {
          ensureEntriesIsMutable();
          entries_.remove(index);
          onChanged();
        } else {
          entriesBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CMsgGCClientMarketDataEntry entries = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry.Builder getEntriesBuilder(
          int index) {
        return getEntriesFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CMsgGCClientMarketDataEntry entries = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntryOrBuilder getEntriesOrBuilder(
          int index) {
        if (entriesBuilder_ == null) {
          return entries_.get(index);  } else {
          return entriesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CMsgGCClientMarketDataEntry entries = 1;
       */
      public java.util.List 
           getEntriesOrBuilderList() {
        if (entriesBuilder_ != null) {
          return entriesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(entries_);
        }
      }
      /**
       * repeated .CMsgGCClientMarketDataEntry entries = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry.Builder addEntriesBuilder() {
        return getEntriesFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry.getDefaultInstance());
      }
      /**
       * repeated .CMsgGCClientMarketDataEntry entries = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry.Builder addEntriesBuilder(
          int index) {
        return getEntriesFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry.getDefaultInstance());
      }
      /**
       * repeated .CMsgGCClientMarketDataEntry entries = 1;
       */
      public java.util.List 
           getEntriesBuilderList() {
        return getEntriesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntryOrBuilder> 
          getEntriesFieldBuilder() {
        if (entriesBuilder_ == null) {
          entriesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntry.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketDataEntryOrBuilder>(
                  entries_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          entries_ = null;
        }
        return entriesBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgGCClientMarketData)
    }

    // @@protoc_insertion_point(class_scope:CMsgGCClientMarketData)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgGCClientMarketData 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgGCClientMarketData getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint64 tool_item_id = 1;
     * @return Whether the toolItemId field is set.
     */
    boolean hasToolItemId();
    /**
     * optional uint64 tool_item_id = 1;
     * @return The toolItemId.
     */
    long getToolItemId();

    /**
     * optional uint64 subject_item_id = 2;
     * @return Whether the subjectItemId field is set.
     */
    boolean hasSubjectItemId();
    /**
     * optional uint64 subject_item_id = 2;
     * @return The subjectItemId.
     */
    long getSubjectItemId();
  }
  /**
   * Protobuf type {@code CMsgApplyToolToItem}
   */
  public static final class CMsgApplyToolToItem extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgApplyToolToItem)
      CMsgApplyToolToItemOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgApplyToolToItem.class.getName());
    }
    // Use CMsgApplyToolToItem.newBuilder() to construct.
    private CMsgApplyToolToItem(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgApplyToolToItem() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgApplyToolToItem_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgApplyToolToItem_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem.Builder.class);
    }

    private int bitField0_;
    public static final int TOOL_ITEM_ID_FIELD_NUMBER = 1;
    private long toolItemId_ = 0L;
    /**
     * optional uint64 tool_item_id = 1;
     * @return Whether the toolItemId field is set.
     */
    @java.lang.Override
    public boolean hasToolItemId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint64 tool_item_id = 1;
     * @return The toolItemId.
     */
    @java.lang.Override
    public long getToolItemId() {
      return toolItemId_;
    }

    public static final int SUBJECT_ITEM_ID_FIELD_NUMBER = 2;
    private long subjectItemId_ = 0L;
    /**
     * optional uint64 subject_item_id = 2;
     * @return Whether the subjectItemId field is set.
     */
    @java.lang.Override
    public boolean hasSubjectItemId() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint64 subject_item_id = 2;
     * @return The subjectItemId.
     */
    @java.lang.Override
    public long getSubjectItemId() {
      return subjectItemId_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, toolItemId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(2, subjectItemId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem) obj;

      if (hasToolItemId() != other.hasToolItemId()) return false;
      if (hasToolItemId()) {
        if (getToolItemId()
            != other.getToolItemId()) return false;
      }
      if (hasSubjectItemId() != other.hasSubjectItemId()) return false;
      if (hasSubjectItemId()) {
        if (getSubjectItemId()
            != other.getSubjectItemId()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasToolItemId()) {
        hash = (37 * hash) + TOOL_ITEM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getToolItemId());
      }
      if (hasSubjectItemId()) {
        hash = (37 * hash) + SUBJECT_ITEM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getSubjectItemId());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgApplyToolToItem}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgApplyToolToItem)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItemOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgApplyToolToItem_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgApplyToolToItem_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        toolItemId_ = 0L;
        subjectItemId_ = 0L;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgApplyToolToItem_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.toolItemId_ = toolItemId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.subjectItemId_ = subjectItemId_;
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem.getDefaultInstance()) return this;
        if (other.hasToolItemId()) {
          setToolItemId(other.getToolItemId());
        }
        if (other.hasSubjectItemId()) {
          setSubjectItemId(other.getSubjectItemId());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                toolItemId_ = input.readUInt64();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                subjectItemId_ = input.readUInt64();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              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 long toolItemId_ ;
      /**
       * optional uint64 tool_item_id = 1;
       * @return Whether the toolItemId field is set.
       */
      @java.lang.Override
      public boolean hasToolItemId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint64 tool_item_id = 1;
       * @return The toolItemId.
       */
      @java.lang.Override
      public long getToolItemId() {
        return toolItemId_;
      }
      /**
       * optional uint64 tool_item_id = 1;
       * @param value The toolItemId to set.
       * @return This builder for chaining.
       */
      public Builder setToolItemId(long value) {

        toolItemId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint64 tool_item_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearToolItemId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        toolItemId_ = 0L;
        onChanged();
        return this;
      }

      private long subjectItemId_ ;
      /**
       * optional uint64 subject_item_id = 2;
       * @return Whether the subjectItemId field is set.
       */
      @java.lang.Override
      public boolean hasSubjectItemId() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint64 subject_item_id = 2;
       * @return The subjectItemId.
       */
      @java.lang.Override
      public long getSubjectItemId() {
        return subjectItemId_;
      }
      /**
       * optional uint64 subject_item_id = 2;
       * @param value The subjectItemId to set.
       * @return This builder for chaining.
       */
      public Builder setSubjectItemId(long value) {

        subjectItemId_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint64 subject_item_id = 2;
       * @return This builder for chaining.
       */
      public Builder clearSubjectItemId() {
        bitField0_ = (bitField0_ & ~0x00000002);
        subjectItemId_ = 0L;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgApplyToolToItem)
    }

    // @@protoc_insertion_point(class_scope:CMsgApplyToolToItem)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgApplyToolToItem 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToItem getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint64 tool_item_id = 1;
     * @return Whether the toolItemId field is set.
     */
    boolean hasToolItemId();
    /**
     * optional uint64 tool_item_id = 1;
     * @return The toolItemId.
     */
    long getToolItemId();

    /**
     * optional uint32 baseitem_def_index = 2;
     * @return Whether the baseitemDefIndex field is set.
     */
    boolean hasBaseitemDefIndex();
    /**
     * optional uint32 baseitem_def_index = 2;
     * @return The baseitemDefIndex.
     */
    int getBaseitemDefIndex();
  }
  /**
   * Protobuf type {@code CMsgApplyToolToBaseItem}
   */
  public static final class CMsgApplyToolToBaseItem extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgApplyToolToBaseItem)
      CMsgApplyToolToBaseItemOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgApplyToolToBaseItem.class.getName());
    }
    // Use CMsgApplyToolToBaseItem.newBuilder() to construct.
    private CMsgApplyToolToBaseItem(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgApplyToolToBaseItem() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgApplyToolToBaseItem_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgApplyToolToBaseItem_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem.Builder.class);
    }

    private int bitField0_;
    public static final int TOOL_ITEM_ID_FIELD_NUMBER = 1;
    private long toolItemId_ = 0L;
    /**
     * optional uint64 tool_item_id = 1;
     * @return Whether the toolItemId field is set.
     */
    @java.lang.Override
    public boolean hasToolItemId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint64 tool_item_id = 1;
     * @return The toolItemId.
     */
    @java.lang.Override
    public long getToolItemId() {
      return toolItemId_;
    }

    public static final int BASEITEM_DEF_INDEX_FIELD_NUMBER = 2;
    private int baseitemDefIndex_ = 0;
    /**
     * optional uint32 baseitem_def_index = 2;
     * @return Whether the baseitemDefIndex field is set.
     */
    @java.lang.Override
    public boolean hasBaseitemDefIndex() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint32 baseitem_def_index = 2;
     * @return The baseitemDefIndex.
     */
    @java.lang.Override
    public int getBaseitemDefIndex() {
      return baseitemDefIndex_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt64(1, toolItemId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeUInt32(2, baseitemDefIndex_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, toolItemId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, baseitemDefIndex_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem) obj;

      if (hasToolItemId() != other.hasToolItemId()) return false;
      if (hasToolItemId()) {
        if (getToolItemId()
            != other.getToolItemId()) return false;
      }
      if (hasBaseitemDefIndex() != other.hasBaseitemDefIndex()) return false;
      if (hasBaseitemDefIndex()) {
        if (getBaseitemDefIndex()
            != other.getBaseitemDefIndex()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasToolItemId()) {
        hash = (37 * hash) + TOOL_ITEM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getToolItemId());
      }
      if (hasBaseitemDefIndex()) {
        hash = (37 * hash) + BASEITEM_DEF_INDEX_FIELD_NUMBER;
        hash = (53 * hash) + getBaseitemDefIndex();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgApplyToolToBaseItem}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgApplyToolToBaseItem)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItemOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgApplyToolToBaseItem_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgApplyToolToBaseItem_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        toolItemId_ = 0L;
        baseitemDefIndex_ = 0;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgApplyToolToBaseItem_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.toolItemId_ = toolItemId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.baseitemDefIndex_ = baseitemDefIndex_;
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem.getDefaultInstance()) return this;
        if (other.hasToolItemId()) {
          setToolItemId(other.getToolItemId());
        }
        if (other.hasBaseitemDefIndex()) {
          setBaseitemDefIndex(other.getBaseitemDefIndex());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                toolItemId_ = input.readUInt64();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                baseitemDefIndex_ = input.readUInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              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 long toolItemId_ ;
      /**
       * optional uint64 tool_item_id = 1;
       * @return Whether the toolItemId field is set.
       */
      @java.lang.Override
      public boolean hasToolItemId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint64 tool_item_id = 1;
       * @return The toolItemId.
       */
      @java.lang.Override
      public long getToolItemId() {
        return toolItemId_;
      }
      /**
       * optional uint64 tool_item_id = 1;
       * @param value The toolItemId to set.
       * @return This builder for chaining.
       */
      public Builder setToolItemId(long value) {

        toolItemId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint64 tool_item_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearToolItemId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        toolItemId_ = 0L;
        onChanged();
        return this;
      }

      private int baseitemDefIndex_ ;
      /**
       * optional uint32 baseitem_def_index = 2;
       * @return Whether the baseitemDefIndex field is set.
       */
      @java.lang.Override
      public boolean hasBaseitemDefIndex() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint32 baseitem_def_index = 2;
       * @return The baseitemDefIndex.
       */
      @java.lang.Override
      public int getBaseitemDefIndex() {
        return baseitemDefIndex_;
      }
      /**
       * optional uint32 baseitem_def_index = 2;
       * @param value The baseitemDefIndex to set.
       * @return This builder for chaining.
       */
      public Builder setBaseitemDefIndex(int value) {

        baseitemDefIndex_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint32 baseitem_def_index = 2;
       * @return This builder for chaining.
       */
      public Builder clearBaseitemDefIndex() {
        bitField0_ = (bitField0_ & ~0x00000002);
        baseitemDefIndex_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgApplyToolToBaseItem)
    }

    // @@protoc_insertion_point(class_scope:CMsgApplyToolToBaseItem)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgApplyToolToBaseItem 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgApplyToolToBaseItem getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint64 subject_item_id = 1;
     * @return Whether the subjectItemId field is set.
     */
    boolean hasSubjectItemId();
    /**
     * optional uint64 subject_item_id = 1;
     * @return The subjectItemId.
     */
    long getSubjectItemId();

    /**
     * optional uint64 attribute_index = 2;
     * @return Whether the attributeIndex field is set.
     */
    boolean hasAttributeIndex();
    /**
     * optional uint64 attribute_index = 2;
     * @return The attributeIndex.
     */
    long getAttributeIndex();
  }
  /**
   * Protobuf type {@code CMsgRecipeComponent}
   */
  public static final class CMsgRecipeComponent extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgRecipeComponent)
      CMsgRecipeComponentOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgRecipeComponent.class.getName());
    }
    // Use CMsgRecipeComponent.newBuilder() to construct.
    private CMsgRecipeComponent(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgRecipeComponent() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgRecipeComponent_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgRecipeComponent_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent.Builder.class);
    }

    private int bitField0_;
    public static final int SUBJECT_ITEM_ID_FIELD_NUMBER = 1;
    private long subjectItemId_ = 0L;
    /**
     * optional uint64 subject_item_id = 1;
     * @return Whether the subjectItemId field is set.
     */
    @java.lang.Override
    public boolean hasSubjectItemId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint64 subject_item_id = 1;
     * @return The subjectItemId.
     */
    @java.lang.Override
    public long getSubjectItemId() {
      return subjectItemId_;
    }

    public static final int ATTRIBUTE_INDEX_FIELD_NUMBER = 2;
    private long attributeIndex_ = 0L;
    /**
     * optional uint64 attribute_index = 2;
     * @return Whether the attributeIndex field is set.
     */
    @java.lang.Override
    public boolean hasAttributeIndex() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint64 attribute_index = 2;
     * @return The attributeIndex.
     */
    @java.lang.Override
    public long getAttributeIndex() {
      return attributeIndex_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, subjectItemId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(2, attributeIndex_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent) obj;

      if (hasSubjectItemId() != other.hasSubjectItemId()) return false;
      if (hasSubjectItemId()) {
        if (getSubjectItemId()
            != other.getSubjectItemId()) return false;
      }
      if (hasAttributeIndex() != other.hasAttributeIndex()) return false;
      if (hasAttributeIndex()) {
        if (getAttributeIndex()
            != other.getAttributeIndex()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasSubjectItemId()) {
        hash = (37 * hash) + SUBJECT_ITEM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getSubjectItemId());
      }
      if (hasAttributeIndex()) {
        hash = (37 * hash) + ATTRIBUTE_INDEX_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getAttributeIndex());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgRecipeComponent}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgRecipeComponent)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponentOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgRecipeComponent_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgRecipeComponent_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        subjectItemId_ = 0L;
        attributeIndex_ = 0L;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgRecipeComponent_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.subjectItemId_ = subjectItemId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.attributeIndex_ = attributeIndex_;
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent.getDefaultInstance()) return this;
        if (other.hasSubjectItemId()) {
          setSubjectItemId(other.getSubjectItemId());
        }
        if (other.hasAttributeIndex()) {
          setAttributeIndex(other.getAttributeIndex());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                subjectItemId_ = input.readUInt64();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                attributeIndex_ = input.readUInt64();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              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 long subjectItemId_ ;
      /**
       * optional uint64 subject_item_id = 1;
       * @return Whether the subjectItemId field is set.
       */
      @java.lang.Override
      public boolean hasSubjectItemId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint64 subject_item_id = 1;
       * @return The subjectItemId.
       */
      @java.lang.Override
      public long getSubjectItemId() {
        return subjectItemId_;
      }
      /**
       * optional uint64 subject_item_id = 1;
       * @param value The subjectItemId to set.
       * @return This builder for chaining.
       */
      public Builder setSubjectItemId(long value) {

        subjectItemId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint64 subject_item_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearSubjectItemId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        subjectItemId_ = 0L;
        onChanged();
        return this;
      }

      private long attributeIndex_ ;
      /**
       * optional uint64 attribute_index = 2;
       * @return Whether the attributeIndex field is set.
       */
      @java.lang.Override
      public boolean hasAttributeIndex() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint64 attribute_index = 2;
       * @return The attributeIndex.
       */
      @java.lang.Override
      public long getAttributeIndex() {
        return attributeIndex_;
      }
      /**
       * optional uint64 attribute_index = 2;
       * @param value The attributeIndex to set.
       * @return This builder for chaining.
       */
      public Builder setAttributeIndex(long value) {

        attributeIndex_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint64 attribute_index = 2;
       * @return This builder for chaining.
       */
      public Builder clearAttributeIndex() {
        bitField0_ = (bitField0_ & ~0x00000002);
        attributeIndex_ = 0L;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgRecipeComponent)
    }

    // @@protoc_insertion_point(class_scope:CMsgRecipeComponent)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgRecipeComponent 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint64 tool_item_id = 1;
     * @return Whether the toolItemId field is set.
     */
    boolean hasToolItemId();
    /**
     * optional uint64 tool_item_id = 1;
     * @return The toolItemId.
     */
    long getToolItemId();

    /**
     * repeated .CMsgRecipeComponent consumption_components = 2;
     */
    java.util.List 
        getConsumptionComponentsList();
    /**
     * repeated .CMsgRecipeComponent consumption_components = 2;
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent getConsumptionComponents(int index);
    /**
     * repeated .CMsgRecipeComponent consumption_components = 2;
     */
    int getConsumptionComponentsCount();
    /**
     * repeated .CMsgRecipeComponent consumption_components = 2;
     */
    java.util.List 
        getConsumptionComponentsOrBuilderList();
    /**
     * repeated .CMsgRecipeComponent consumption_components = 2;
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponentOrBuilder getConsumptionComponentsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code CMsgFulfillDynamicRecipeComponent}
   */
  public static final class CMsgFulfillDynamicRecipeComponent extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgFulfillDynamicRecipeComponent)
      CMsgFulfillDynamicRecipeComponentOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgFulfillDynamicRecipeComponent.class.getName());
    }
    // Use CMsgFulfillDynamicRecipeComponent.newBuilder() to construct.
    private CMsgFulfillDynamicRecipeComponent(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgFulfillDynamicRecipeComponent() {
      consumptionComponents_ = java.util.Collections.emptyList();
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgFulfillDynamicRecipeComponent_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgFulfillDynamicRecipeComponent_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent.Builder.class);
    }

    private int bitField0_;
    public static final int TOOL_ITEM_ID_FIELD_NUMBER = 1;
    private long toolItemId_ = 0L;
    /**
     * optional uint64 tool_item_id = 1;
     * @return Whether the toolItemId field is set.
     */
    @java.lang.Override
    public boolean hasToolItemId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint64 tool_item_id = 1;
     * @return The toolItemId.
     */
    @java.lang.Override
    public long getToolItemId() {
      return toolItemId_;
    }

    public static final int CONSUMPTION_COMPONENTS_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private java.util.List consumptionComponents_;
    /**
     * repeated .CMsgRecipeComponent consumption_components = 2;
     */
    @java.lang.Override
    public java.util.List getConsumptionComponentsList() {
      return consumptionComponents_;
    }
    /**
     * repeated .CMsgRecipeComponent consumption_components = 2;
     */
    @java.lang.Override
    public java.util.List 
        getConsumptionComponentsOrBuilderList() {
      return consumptionComponents_;
    }
    /**
     * repeated .CMsgRecipeComponent consumption_components = 2;
     */
    @java.lang.Override
    public int getConsumptionComponentsCount() {
      return consumptionComponents_.size();
    }
    /**
     * repeated .CMsgRecipeComponent consumption_components = 2;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent getConsumptionComponents(int index) {
      return consumptionComponents_.get(index);
    }
    /**
     * repeated .CMsgRecipeComponent consumption_components = 2;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponentOrBuilder getConsumptionComponentsOrBuilder(
        int index) {
      return consumptionComponents_.get(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt64(1, toolItemId_);
      }
      for (int i = 0; i < consumptionComponents_.size(); i++) {
        output.writeMessage(2, consumptionComponents_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, toolItemId_);
      }
      for (int i = 0; i < consumptionComponents_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, consumptionComponents_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent) obj;

      if (hasToolItemId() != other.hasToolItemId()) return false;
      if (hasToolItemId()) {
        if (getToolItemId()
            != other.getToolItemId()) return false;
      }
      if (!getConsumptionComponentsList()
          .equals(other.getConsumptionComponentsList())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasToolItemId()) {
        hash = (37 * hash) + TOOL_ITEM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getToolItemId());
      }
      if (getConsumptionComponentsCount() > 0) {
        hash = (37 * hash) + CONSUMPTION_COMPONENTS_FIELD_NUMBER;
        hash = (53 * hash) + getConsumptionComponentsList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgFulfillDynamicRecipeComponent}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgFulfillDynamicRecipeComponent)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponentOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgFulfillDynamicRecipeComponent_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgFulfillDynamicRecipeComponent_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        toolItemId_ = 0L;
        if (consumptionComponentsBuilder_ == null) {
          consumptionComponents_ = java.util.Collections.emptyList();
        } else {
          consumptionComponents_ = null;
          consumptionComponentsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgFulfillDynamicRecipeComponent_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent(this);
        buildPartialRepeatedFields(result);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartialRepeatedFields(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent result) {
        if (consumptionComponentsBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0)) {
            consumptionComponents_ = java.util.Collections.unmodifiableList(consumptionComponents_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.consumptionComponents_ = consumptionComponents_;
        } else {
          result.consumptionComponents_ = consumptionComponentsBuilder_.build();
        }
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.toolItemId_ = toolItemId_;
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent.getDefaultInstance()) return this;
        if (other.hasToolItemId()) {
          setToolItemId(other.getToolItemId());
        }
        if (consumptionComponentsBuilder_ == null) {
          if (!other.consumptionComponents_.isEmpty()) {
            if (consumptionComponents_.isEmpty()) {
              consumptionComponents_ = other.consumptionComponents_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureConsumptionComponentsIsMutable();
              consumptionComponents_.addAll(other.consumptionComponents_);
            }
            onChanged();
          }
        } else {
          if (!other.consumptionComponents_.isEmpty()) {
            if (consumptionComponentsBuilder_.isEmpty()) {
              consumptionComponentsBuilder_.dispose();
              consumptionComponentsBuilder_ = null;
              consumptionComponents_ = other.consumptionComponents_;
              bitField0_ = (bitField0_ & ~0x00000002);
              consumptionComponentsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getConsumptionComponentsFieldBuilder() : null;
            } else {
              consumptionComponentsBuilder_.addAllMessages(other.consumptionComponents_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                toolItemId_ = input.readUInt64();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 18: {
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent.parser(),
                        extensionRegistry);
                if (consumptionComponentsBuilder_ == null) {
                  ensureConsumptionComponentsIsMutable();
                  consumptionComponents_.add(m);
                } else {
                  consumptionComponentsBuilder_.addMessage(m);
                }
                break;
              } // case 18
              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 long toolItemId_ ;
      /**
       * optional uint64 tool_item_id = 1;
       * @return Whether the toolItemId field is set.
       */
      @java.lang.Override
      public boolean hasToolItemId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint64 tool_item_id = 1;
       * @return The toolItemId.
       */
      @java.lang.Override
      public long getToolItemId() {
        return toolItemId_;
      }
      /**
       * optional uint64 tool_item_id = 1;
       * @param value The toolItemId to set.
       * @return This builder for chaining.
       */
      public Builder setToolItemId(long value) {

        toolItemId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint64 tool_item_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearToolItemId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        toolItemId_ = 0L;
        onChanged();
        return this;
      }

      private java.util.List consumptionComponents_ =
        java.util.Collections.emptyList();
      private void ensureConsumptionComponentsIsMutable() {
        if (!((bitField0_ & 0x00000002) != 0)) {
          consumptionComponents_ = new java.util.ArrayList(consumptionComponents_);
          bitField0_ |= 0x00000002;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponentOrBuilder> consumptionComponentsBuilder_;

      /**
       * repeated .CMsgRecipeComponent consumption_components = 2;
       */
      public java.util.List getConsumptionComponentsList() {
        if (consumptionComponentsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(consumptionComponents_);
        } else {
          return consumptionComponentsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CMsgRecipeComponent consumption_components = 2;
       */
      public int getConsumptionComponentsCount() {
        if (consumptionComponentsBuilder_ == null) {
          return consumptionComponents_.size();
        } else {
          return consumptionComponentsBuilder_.getCount();
        }
      }
      /**
       * repeated .CMsgRecipeComponent consumption_components = 2;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent getConsumptionComponents(int index) {
        if (consumptionComponentsBuilder_ == null) {
          return consumptionComponents_.get(index);
        } else {
          return consumptionComponentsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CMsgRecipeComponent consumption_components = 2;
       */
      public Builder setConsumptionComponents(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent value) {
        if (consumptionComponentsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureConsumptionComponentsIsMutable();
          consumptionComponents_.set(index, value);
          onChanged();
        } else {
          consumptionComponentsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgRecipeComponent consumption_components = 2;
       */
      public Builder setConsumptionComponents(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent.Builder builderForValue) {
        if (consumptionComponentsBuilder_ == null) {
          ensureConsumptionComponentsIsMutable();
          consumptionComponents_.set(index, builderForValue.build());
          onChanged();
        } else {
          consumptionComponentsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgRecipeComponent consumption_components = 2;
       */
      public Builder addConsumptionComponents(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent value) {
        if (consumptionComponentsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureConsumptionComponentsIsMutable();
          consumptionComponents_.add(value);
          onChanged();
        } else {
          consumptionComponentsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CMsgRecipeComponent consumption_components = 2;
       */
      public Builder addConsumptionComponents(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent value) {
        if (consumptionComponentsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureConsumptionComponentsIsMutable();
          consumptionComponents_.add(index, value);
          onChanged();
        } else {
          consumptionComponentsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgRecipeComponent consumption_components = 2;
       */
      public Builder addConsumptionComponents(
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent.Builder builderForValue) {
        if (consumptionComponentsBuilder_ == null) {
          ensureConsumptionComponentsIsMutable();
          consumptionComponents_.add(builderForValue.build());
          onChanged();
        } else {
          consumptionComponentsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgRecipeComponent consumption_components = 2;
       */
      public Builder addConsumptionComponents(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent.Builder builderForValue) {
        if (consumptionComponentsBuilder_ == null) {
          ensureConsumptionComponentsIsMutable();
          consumptionComponents_.add(index, builderForValue.build());
          onChanged();
        } else {
          consumptionComponentsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgRecipeComponent consumption_components = 2;
       */
      public Builder addAllConsumptionComponents(
          java.lang.Iterable values) {
        if (consumptionComponentsBuilder_ == null) {
          ensureConsumptionComponentsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, consumptionComponents_);
          onChanged();
        } else {
          consumptionComponentsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CMsgRecipeComponent consumption_components = 2;
       */
      public Builder clearConsumptionComponents() {
        if (consumptionComponentsBuilder_ == null) {
          consumptionComponents_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          consumptionComponentsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CMsgRecipeComponent consumption_components = 2;
       */
      public Builder removeConsumptionComponents(int index) {
        if (consumptionComponentsBuilder_ == null) {
          ensureConsumptionComponentsIsMutable();
          consumptionComponents_.remove(index);
          onChanged();
        } else {
          consumptionComponentsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CMsgRecipeComponent consumption_components = 2;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent.Builder getConsumptionComponentsBuilder(
          int index) {
        return getConsumptionComponentsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CMsgRecipeComponent consumption_components = 2;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponentOrBuilder getConsumptionComponentsOrBuilder(
          int index) {
        if (consumptionComponentsBuilder_ == null) {
          return consumptionComponents_.get(index);  } else {
          return consumptionComponentsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CMsgRecipeComponent consumption_components = 2;
       */
      public java.util.List 
           getConsumptionComponentsOrBuilderList() {
        if (consumptionComponentsBuilder_ != null) {
          return consumptionComponentsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(consumptionComponents_);
        }
      }
      /**
       * repeated .CMsgRecipeComponent consumption_components = 2;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent.Builder addConsumptionComponentsBuilder() {
        return getConsumptionComponentsFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent.getDefaultInstance());
      }
      /**
       * repeated .CMsgRecipeComponent consumption_components = 2;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent.Builder addConsumptionComponentsBuilder(
          int index) {
        return getConsumptionComponentsFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent.getDefaultInstance());
      }
      /**
       * repeated .CMsgRecipeComponent consumption_components = 2;
       */
      public java.util.List 
           getConsumptionComponentsBuilderList() {
        return getConsumptionComponentsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponentOrBuilder> 
          getConsumptionComponentsFieldBuilder() {
        if (consumptionComponentsBuilder_ == null) {
          consumptionComponentsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponent.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgRecipeComponentOrBuilder>(
                  consumptionComponents_,
                  ((bitField0_ & 0x00000002) != 0),
                  getParentForChildren(),
                  isClean());
          consumptionComponents_ = null;
        }
        return consumptionComponentsBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgFulfillDynamicRecipeComponent)
    }

    // @@protoc_insertion_point(class_scope:CMsgFulfillDynamicRecipeComponent)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgFulfillDynamicRecipeComponent 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgFulfillDynamicRecipeComponent getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint64 item_id = 1;
     * @return Whether the itemId field is set.
     */
    boolean hasItemId();
    /**
     * optional uint64 item_id = 1;
     * @return The itemId.
     */
    long getItemId();

    /**
     * optional float offset = 2;
     * @return Whether the offset field is set.
     */
    boolean hasOffset();
    /**
     * optional float offset = 2;
     * @return The offset.
     */
    float getOffset();
  }
  /**
   * Protobuf type {@code CMsgSetItemEffectVerticalOffset}
   */
  public static final class CMsgSetItemEffectVerticalOffset extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgSetItemEffectVerticalOffset)
      CMsgSetItemEffectVerticalOffsetOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgSetItemEffectVerticalOffset.class.getName());
    }
    // Use CMsgSetItemEffectVerticalOffset.newBuilder() to construct.
    private CMsgSetItemEffectVerticalOffset(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgSetItemEffectVerticalOffset() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSetItemEffectVerticalOffset_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSetItemEffectVerticalOffset_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset.Builder.class);
    }

    private int bitField0_;
    public static final int ITEM_ID_FIELD_NUMBER = 1;
    private long itemId_ = 0L;
    /**
     * optional uint64 item_id = 1;
     * @return Whether the itemId field is set.
     */
    @java.lang.Override
    public boolean hasItemId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint64 item_id = 1;
     * @return The itemId.
     */
    @java.lang.Override
    public long getItemId() {
      return itemId_;
    }

    public static final int OFFSET_FIELD_NUMBER = 2;
    private float offset_ = 0F;
    /**
     * optional float offset = 2;
     * @return Whether the offset field is set.
     */
    @java.lang.Override
    public boolean hasOffset() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional float offset = 2;
     * @return The offset.
     */
    @java.lang.Override
    public float getOffset() {
      return offset_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt64(1, itemId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeFloat(2, offset_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, itemId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(2, offset_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset) obj;

      if (hasItemId() != other.hasItemId()) return false;
      if (hasItemId()) {
        if (getItemId()
            != other.getItemId()) return false;
      }
      if (hasOffset() != other.hasOffset()) return false;
      if (hasOffset()) {
        if (java.lang.Float.floatToIntBits(getOffset())
            != java.lang.Float.floatToIntBits(
                other.getOffset())) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasItemId()) {
        hash = (37 * hash) + ITEM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getItemId());
      }
      if (hasOffset()) {
        hash = (37 * hash) + OFFSET_FIELD_NUMBER;
        hash = (53 * hash) + java.lang.Float.floatToIntBits(
            getOffset());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgSetItemEffectVerticalOffset}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgSetItemEffectVerticalOffset)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffsetOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSetItemEffectVerticalOffset_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSetItemEffectVerticalOffset_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        itemId_ = 0L;
        offset_ = 0F;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSetItemEffectVerticalOffset_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.itemId_ = itemId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.offset_ = offset_;
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset.getDefaultInstance()) return this;
        if (other.hasItemId()) {
          setItemId(other.getItemId());
        }
        if (other.hasOffset()) {
          setOffset(other.getOffset());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                itemId_ = input.readUInt64();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 21: {
                offset_ = input.readFloat();
                bitField0_ |= 0x00000002;
                break;
              } // case 21
              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 long itemId_ ;
      /**
       * optional uint64 item_id = 1;
       * @return Whether the itemId field is set.
       */
      @java.lang.Override
      public boolean hasItemId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint64 item_id = 1;
       * @return The itemId.
       */
      @java.lang.Override
      public long getItemId() {
        return itemId_;
      }
      /**
       * optional uint64 item_id = 1;
       * @param value The itemId to set.
       * @return This builder for chaining.
       */
      public Builder setItemId(long value) {

        itemId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint64 item_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearItemId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        itemId_ = 0L;
        onChanged();
        return this;
      }

      private float offset_ ;
      /**
       * optional float offset = 2;
       * @return Whether the offset field is set.
       */
      @java.lang.Override
      public boolean hasOffset() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional float offset = 2;
       * @return The offset.
       */
      @java.lang.Override
      public float getOffset() {
        return offset_;
      }
      /**
       * optional float offset = 2;
       * @param value The offset to set.
       * @return This builder for chaining.
       */
      public Builder setOffset(float value) {

        offset_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional float offset = 2;
       * @return This builder for chaining.
       */
      public Builder clearOffset() {
        bitField0_ = (bitField0_ & ~0x00000002);
        offset_ = 0F;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgSetItemEffectVerticalOffset)
    }

    // @@protoc_insertion_point(class_scope:CMsgSetItemEffectVerticalOffset)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgSetItemEffectVerticalOffset 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetItemEffectVerticalOffset getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint64 item_id = 1;
     * @return Whether the itemId field is set.
     */
    boolean hasItemId();
    /**
     * optional uint64 item_id = 1;
     * @return The itemId.
     */
    long getItemId();

    /**
     * optional bool use_head = 2;
     * @return Whether the useHead field is set.
     */
    boolean hasUseHead();
    /**
     * optional bool use_head = 2;
     * @return The useHead.
     */
    boolean getUseHead();
  }
  /**
   * Protobuf type {@code CMsgSetHatEffectUseHeadOrigin}
   */
  public static final class CMsgSetHatEffectUseHeadOrigin extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgSetHatEffectUseHeadOrigin)
      CMsgSetHatEffectUseHeadOriginOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgSetHatEffectUseHeadOrigin.class.getName());
    }
    // Use CMsgSetHatEffectUseHeadOrigin.newBuilder() to construct.
    private CMsgSetHatEffectUseHeadOrigin(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgSetHatEffectUseHeadOrigin() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSetHatEffectUseHeadOrigin_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSetHatEffectUseHeadOrigin_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin.Builder.class);
    }

    private int bitField0_;
    public static final int ITEM_ID_FIELD_NUMBER = 1;
    private long itemId_ = 0L;
    /**
     * optional uint64 item_id = 1;
     * @return Whether the itemId field is set.
     */
    @java.lang.Override
    public boolean hasItemId() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint64 item_id = 1;
     * @return The itemId.
     */
    @java.lang.Override
    public long getItemId() {
      return itemId_;
    }

    public static final int USE_HEAD_FIELD_NUMBER = 2;
    private boolean useHead_ = false;
    /**
     * optional bool use_head = 2;
     * @return Whether the useHead field is set.
     */
    @java.lang.Override
    public boolean hasUseHead() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional bool use_head = 2;
     * @return The useHead.
     */
    @java.lang.Override
    public boolean getUseHead() {
      return useHead_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt64(1, itemId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeBool(2, useHead_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, itemId_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(2, useHead_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin) obj;

      if (hasItemId() != other.hasItemId()) return false;
      if (hasItemId()) {
        if (getItemId()
            != other.getItemId()) return false;
      }
      if (hasUseHead() != other.hasUseHead()) return false;
      if (hasUseHead()) {
        if (getUseHead()
            != other.getUseHead()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasItemId()) {
        hash = (37 * hash) + ITEM_ID_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getItemId());
      }
      if (hasUseHead()) {
        hash = (37 * hash) + USE_HEAD_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getUseHead());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgSetHatEffectUseHeadOrigin}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgSetHatEffectUseHeadOrigin)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOriginOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSetHatEffectUseHeadOrigin_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSetHatEffectUseHeadOrigin_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        itemId_ = 0L;
        useHead_ = false;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgSetHatEffectUseHeadOrigin_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.itemId_ = itemId_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.useHead_ = useHead_;
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin.getDefaultInstance()) return this;
        if (other.hasItemId()) {
          setItemId(other.getItemId());
        }
        if (other.hasUseHead()) {
          setUseHead(other.getUseHead());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                itemId_ = input.readUInt64();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                useHead_ = input.readBool();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              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 long itemId_ ;
      /**
       * optional uint64 item_id = 1;
       * @return Whether the itemId field is set.
       */
      @java.lang.Override
      public boolean hasItemId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint64 item_id = 1;
       * @return The itemId.
       */
      @java.lang.Override
      public long getItemId() {
        return itemId_;
      }
      /**
       * optional uint64 item_id = 1;
       * @param value The itemId to set.
       * @return This builder for chaining.
       */
      public Builder setItemId(long value) {

        itemId_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint64 item_id = 1;
       * @return This builder for chaining.
       */
      public Builder clearItemId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        itemId_ = 0L;
        onChanged();
        return this;
      }

      private boolean useHead_ ;
      /**
       * optional bool use_head = 2;
       * @return Whether the useHead field is set.
       */
      @java.lang.Override
      public boolean hasUseHead() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional bool use_head = 2;
       * @return The useHead.
       */
      @java.lang.Override
      public boolean getUseHead() {
        return useHead_;
      }
      /**
       * optional bool use_head = 2;
       * @param value The useHead to set.
       * @return This builder for chaining.
       */
      public Builder setUseHead(boolean value) {

        useHead_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional bool use_head = 2;
       * @return This builder for chaining.
       */
      public Builder clearUseHead() {
        bitField0_ = (bitField0_ & ~0x00000002);
        useHead_ = false;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgSetHatEffectUseHeadOrigin)
    }

    // @@protoc_insertion_point(class_scope:CMsgSetHatEffectUseHeadOrigin)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgSetHatEffectUseHeadOrigin 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgSetHatEffectUseHeadOrigin getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint32 response_code = 1;
     * @return Whether the responseCode field is set.
     */
    boolean hasResponseCode();
    /**
     * optional uint32 response_code = 1;
     * @return The responseCode.
     */
    int getResponseCode();

    /**
     * optional string receiver_account_name = 2;
     * @return Whether the receiverAccountName field is set.
     */
    boolean hasReceiverAccountName();
    /**
     * optional string receiver_account_name = 2;
     * @return The receiverAccountName.
     */
    java.lang.String getReceiverAccountName();
    /**
     * optional string receiver_account_name = 2;
     * @return The bytes for receiverAccountName.
     */
    com.google.protobuf.ByteString
        getReceiverAccountNameBytes();
  }
  /**
   * Protobuf type {@code CMsgDeliverGiftResponseGiver}
   */
  public static final class CMsgDeliverGiftResponseGiver extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgDeliverGiftResponseGiver)
      CMsgDeliverGiftResponseGiverOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CMsgDeliverGiftResponseGiver.class.getName());
    }
    // Use CMsgDeliverGiftResponseGiver.newBuilder() to construct.
    private CMsgDeliverGiftResponseGiver(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgDeliverGiftResponseGiver() {
      receiverAccountName_ = "";
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgDeliverGiftResponseGiver_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgDeliverGiftResponseGiver_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver.Builder.class);
    }

    private int bitField0_;
    public static final int RESPONSE_CODE_FIELD_NUMBER = 1;
    private int responseCode_ = 0;
    /**
     * optional uint32 response_code = 1;
     * @return Whether the responseCode field is set.
     */
    @java.lang.Override
    public boolean hasResponseCode() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 response_code = 1;
     * @return The responseCode.
     */
    @java.lang.Override
    public int getResponseCode() {
      return responseCode_;
    }

    public static final int RECEIVER_ACCOUNT_NAME_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private volatile java.lang.Object receiverAccountName_ = "";
    /**
     * optional string receiver_account_name = 2;
     * @return Whether the receiverAccountName field is set.
     */
    @java.lang.Override
    public boolean hasReceiverAccountName() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional string receiver_account_name = 2;
     * @return The receiverAccountName.
     */
    @java.lang.Override
    public java.lang.String getReceiverAccountName() {
      java.lang.Object ref = receiverAccountName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          receiverAccountName_ = s;
        }
        return s;
      }
    }
    /**
     * optional string receiver_account_name = 2;
     * @return The bytes for receiverAccountName.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getReceiverAccountNameBytes() {
      java.lang.Object ref = receiverAccountName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        receiverAccountName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt32(1, responseCode_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 2, receiverAccountName_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, responseCode_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(2, receiverAccountName_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver) obj;

      if (hasResponseCode() != other.hasResponseCode()) return false;
      if (hasResponseCode()) {
        if (getResponseCode()
            != other.getResponseCode()) return false;
      }
      if (hasReceiverAccountName() != other.hasReceiverAccountName()) return false;
      if (hasReceiverAccountName()) {
        if (!getReceiverAccountName()
            .equals(other.getReceiverAccountName())) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasResponseCode()) {
        hash = (37 * hash) + RESPONSE_CODE_FIELD_NUMBER;
        hash = (53 * hash) + getResponseCode();
      }
      if (hasReceiverAccountName()) {
        hash = (37 * hash) + RECEIVER_ACCOUNT_NAME_FIELD_NUMBER;
        hash = (53 * hash) + getReceiverAccountName().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CMsgDeliverGiftResponseGiver}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgDeliverGiftResponseGiver)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiverOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgDeliverGiftResponseGiver_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgDeliverGiftResponseGiver_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        responseCode_ = 0;
        receiverAccountName_ = "";
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CMsgDeliverGiftResponseGiver_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.responseCode_ = responseCode_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.receiverAccountName_ = receiverAccountName_;
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver.getDefaultInstance()) return this;
        if (other.hasResponseCode()) {
          setResponseCode(other.getResponseCode());
        }
        if (other.hasReceiverAccountName()) {
          receiverAccountName_ = other.receiverAccountName_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                responseCode_ = input.readUInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 18: {
                receiverAccountName_ = input.readBytes();
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              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 int responseCode_ ;
      /**
       * optional uint32 response_code = 1;
       * @return Whether the responseCode field is set.
       */
      @java.lang.Override
      public boolean hasResponseCode() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 response_code = 1;
       * @return The responseCode.
       */
      @java.lang.Override
      public int getResponseCode() {
        return responseCode_;
      }
      /**
       * optional uint32 response_code = 1;
       * @param value The responseCode to set.
       * @return This builder for chaining.
       */
      public Builder setResponseCode(int value) {

        responseCode_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint32 response_code = 1;
       * @return This builder for chaining.
       */
      public Builder clearResponseCode() {
        bitField0_ = (bitField0_ & ~0x00000001);
        responseCode_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object receiverAccountName_ = "";
      /**
       * optional string receiver_account_name = 2;
       * @return Whether the receiverAccountName field is set.
       */
      public boolean hasReceiverAccountName() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional string receiver_account_name = 2;
       * @return The receiverAccountName.
       */
      public java.lang.String getReceiverAccountName() {
        java.lang.Object ref = receiverAccountName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            receiverAccountName_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string receiver_account_name = 2;
       * @return The bytes for receiverAccountName.
       */
      public com.google.protobuf.ByteString
          getReceiverAccountNameBytes() {
        java.lang.Object ref = receiverAccountName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          receiverAccountName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string receiver_account_name = 2;
       * @param value The receiverAccountName to set.
       * @return This builder for chaining.
       */
      public Builder setReceiverAccountName(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        receiverAccountName_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional string receiver_account_name = 2;
       * @return This builder for chaining.
       */
      public Builder clearReceiverAccountName() {
        receiverAccountName_ = getDefaultInstance().getReceiverAccountName();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * optional string receiver_account_name = 2;
       * @param value The bytes for receiverAccountName to set.
       * @return This builder for chaining.
       */
      public Builder setReceiverAccountNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        receiverAccountName_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgDeliverGiftResponseGiver)
    }

    // @@protoc_insertion_point(class_scope:CMsgDeliverGiftResponseGiver)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CMsgDeliverGiftResponseGiver 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CMsgDeliverGiftResponseGiver getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional bool disable_party_quest_progress = 6 [default = false];
     * @return Whether the disablePartyQuestProgress field is set.
     */
    boolean hasDisablePartyQuestProgress();
    /**
     * optional bool disable_party_quest_progress = 6 [default = false];
     * @return The disablePartyQuestProgress.
     */
    boolean getDisablePartyQuestProgress();
  }
  /**
   * Protobuf type {@code CSOEconGameAccountForGameServers}
   */
  public static final class CSOEconGameAccountForGameServers extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CSOEconGameAccountForGameServers)
      CSOEconGameAccountForGameServersOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CSOEconGameAccountForGameServers.class.getName());
    }
    // Use CSOEconGameAccountForGameServers.newBuilder() to construct.
    private CSOEconGameAccountForGameServers(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CSOEconGameAccountForGameServers() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconGameAccountForGameServers_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconGameAccountForGameServers_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers.Builder.class);
    }

    private int bitField0_;
    public static final int DISABLE_PARTY_QUEST_PROGRESS_FIELD_NUMBER = 6;
    private boolean disablePartyQuestProgress_ = false;
    /**
     * optional bool disable_party_quest_progress = 6 [default = false];
     * @return Whether the disablePartyQuestProgress field is set.
     */
    @java.lang.Override
    public boolean hasDisablePartyQuestProgress() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional bool disable_party_quest_progress = 6 [default = false];
     * @return The disablePartyQuestProgress.
     */
    @java.lang.Override
    public boolean getDisablePartyQuestProgress() {
      return disablePartyQuestProgress_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeBool(6, disablePartyQuestProgress_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(6, disablePartyQuestProgress_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers) obj;

      if (hasDisablePartyQuestProgress() != other.hasDisablePartyQuestProgress()) return false;
      if (hasDisablePartyQuestProgress()) {
        if (getDisablePartyQuestProgress()
            != other.getDisablePartyQuestProgress()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasDisablePartyQuestProgress()) {
        hash = (37 * hash) + DISABLE_PARTY_QUEST_PROGRESS_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getDisablePartyQuestProgress());
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CSOEconGameAccountForGameServers}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CSOEconGameAccountForGameServers)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServersOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconGameAccountForGameServers_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconGameAccountForGameServers_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        disablePartyQuestProgress_ = false;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CSOEconGameAccountForGameServers_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.disablePartyQuestProgress_ = disablePartyQuestProgress_;
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers.getDefaultInstance()) return this;
        if (other.hasDisablePartyQuestProgress()) {
          setDisablePartyQuestProgress(other.getDisablePartyQuestProgress());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 48: {
                disablePartyQuestProgress_ = input.readBool();
                bitField0_ |= 0x00000001;
                break;
              } // case 48
              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 boolean disablePartyQuestProgress_ ;
      /**
       * optional bool disable_party_quest_progress = 6 [default = false];
       * @return Whether the disablePartyQuestProgress field is set.
       */
      @java.lang.Override
      public boolean hasDisablePartyQuestProgress() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional bool disable_party_quest_progress = 6 [default = false];
       * @return The disablePartyQuestProgress.
       */
      @java.lang.Override
      public boolean getDisablePartyQuestProgress() {
        return disablePartyQuestProgress_;
      }
      /**
       * optional bool disable_party_quest_progress = 6 [default = false];
       * @param value The disablePartyQuestProgress to set.
       * @return This builder for chaining.
       */
      public Builder setDisablePartyQuestProgress(boolean value) {

        disablePartyQuestProgress_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional bool disable_party_quest_progress = 6 [default = false];
       * @return This builder for chaining.
       */
      public Builder clearDisablePartyQuestProgress() {
        bitField0_ = (bitField0_ & ~0x00000001);
        disablePartyQuestProgress_ = false;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CSOEconGameAccountForGameServers)
    }

    // @@protoc_insertion_point(class_scope:CSOEconGameAccountForGameServers)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CSOEconGameAccountForGameServers 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CSOEconGameAccountForGameServers getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint32 appid = 1;
     * @return Whether the appid field is set.
     */
    boolean hasAppid();
    /**
     * optional uint32 appid = 1;
     * @return The appid.
     */
    int getAppid();

    /**
     * repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
     */
    java.util.List 
        getLanguagesList();
    /**
     * repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock getLanguages(int index);
    /**
     * repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
     */
    int getLanguagesCount();
    /**
     * repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
     */
    java.util.List 
        getLanguagesOrBuilderList();
    /**
     * repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlockOrBuilder getLanguagesOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code CWorkshop_PopulateItemDescriptions_Request}
   */
  public static final class CWorkshop_PopulateItemDescriptions_Request extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CWorkshop_PopulateItemDescriptions_Request)
      CWorkshop_PopulateItemDescriptions_RequestOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CWorkshop_PopulateItemDescriptions_Request.class.getName());
    }
    // Use CWorkshop_PopulateItemDescriptions_Request.newBuilder() to construct.
    private CWorkshop_PopulateItemDescriptions_Request(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CWorkshop_PopulateItemDescriptions_Request() {
      languages_ = java.util.Collections.emptyList();
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_PopulateItemDescriptions_Request_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_PopulateItemDescriptions_Request_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.Builder.class);
    }

    public interface SingleItemDescriptionOrBuilder extends
        // @@protoc_insertion_point(interface_extends:CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription)
        com.google.protobuf.MessageOrBuilder {

      /**
       * optional uint32 gameitemid = 1;
       * @return Whether the gameitemid field is set.
       */
      boolean hasGameitemid();
      /**
       * optional uint32 gameitemid = 1;
       * @return The gameitemid.
       */
      int getGameitemid();

      /**
       * optional string item_description = 2;
       * @return Whether the itemDescription field is set.
       */
      boolean hasItemDescription();
      /**
       * optional string item_description = 2;
       * @return The itemDescription.
       */
      java.lang.String getItemDescription();
      /**
       * optional string item_description = 2;
       * @return The bytes for itemDescription.
       */
      com.google.protobuf.ByteString
          getItemDescriptionBytes();
    }
    /**
     * Protobuf type {@code CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription}
     */
    public static final class SingleItemDescription extends
        com.google.protobuf.GeneratedMessage implements
        // @@protoc_insertion_point(message_implements:CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription)
        SingleItemDescriptionOrBuilder {
    private static final long serialVersionUID = 0L;
      static {
        com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
          com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
          /* major= */ 4,
          /* minor= */ 28,
          /* patch= */ 0,
          /* suffix= */ "",
          SingleItemDescription.class.getName());
      }
      // Use SingleItemDescription.newBuilder() to construct.
      private SingleItemDescription(com.google.protobuf.GeneratedMessage.Builder builder) {
        super(builder);
      }
      private SingleItemDescription() {
        itemDescription_ = "";
      }

      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription.Builder.class);
      }

      private int bitField0_;
      public static final int GAMEITEMID_FIELD_NUMBER = 1;
      private int gameitemid_ = 0;
      /**
       * optional uint32 gameitemid = 1;
       * @return Whether the gameitemid field is set.
       */
      @java.lang.Override
      public boolean hasGameitemid() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 gameitemid = 1;
       * @return The gameitemid.
       */
      @java.lang.Override
      public int getGameitemid() {
        return gameitemid_;
      }

      public static final int ITEM_DESCRIPTION_FIELD_NUMBER = 2;
      @SuppressWarnings("serial")
      private volatile java.lang.Object itemDescription_ = "";
      /**
       * optional string item_description = 2;
       * @return Whether the itemDescription field is set.
       */
      @java.lang.Override
      public boolean hasItemDescription() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional string item_description = 2;
       * @return The itemDescription.
       */
      @java.lang.Override
      public java.lang.String getItemDescription() {
        java.lang.Object ref = itemDescription_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            itemDescription_ = s;
          }
          return s;
        }
      }
      /**
       * optional string item_description = 2;
       * @return The bytes for itemDescription.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getItemDescriptionBytes() {
        java.lang.Object ref = itemDescription_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          itemDescription_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeUInt32(1, gameitemid_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          com.google.protobuf.GeneratedMessage.writeString(output, 2, itemDescription_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(1, gameitemid_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += com.google.protobuf.GeneratedMessage.computeStringSize(2, itemDescription_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription)) {
          return super.equals(obj);
        }
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription) obj;

        if (hasGameitemid() != other.hasGameitemid()) return false;
        if (hasGameitemid()) {
          if (getGameitemid()
              != other.getGameitemid()) return false;
        }
        if (hasItemDescription() != other.hasItemDescription()) return false;
        if (hasItemDescription()) {
          if (!getItemDescription()
              .equals(other.getItemDescription())) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasGameitemid()) {
          hash = (37 * hash) + GAMEITEMID_FIELD_NUMBER;
          hash = (53 * hash) + getGameitemid();
        }
        if (hasItemDescription()) {
          hash = (37 * hash) + ITEM_DESCRIPTION_FIELD_NUMBER;
          hash = (53 * hash) + getItemDescription().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseWithIOException(PARSER, input);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseWithIOException(PARSER, input);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder implements
          // @@protoc_insertion_point(builder_implements:CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription)
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescriptionOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription.Builder.class);
        }

        // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription.newBuilder()
        private Builder() {

        }

        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          gameitemid_ = 0;
          itemDescription_ = "";
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription_descriptor;
        }

        @java.lang.Override
        public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription getDefaultInstanceForType() {
          return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription.getDefaultInstance();
        }

        @java.lang.Override
        public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription build() {
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription buildPartial() {
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }

        private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.gameitemid_ = gameitemid_;
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.itemDescription_ = itemDescription_;
            to_bitField0_ |= 0x00000002;
          }
          result.bitField0_ |= to_bitField0_;
        }

        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription) {
            return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription other) {
          if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription.getDefaultInstance()) return this;
          if (other.hasGameitemid()) {
            setGameitemid(other.getGameitemid());
          }
          if (other.hasItemDescription()) {
            itemDescription_ = other.itemDescription_;
            bitField0_ |= 0x00000002;
            onChanged();
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

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

        @java.lang.Override
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 8: {
                  gameitemid_ = input.readUInt32();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 8
                case 18: {
                  itemDescription_ = input.readBytes();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 18
                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 int gameitemid_ ;
        /**
         * optional uint32 gameitemid = 1;
         * @return Whether the gameitemid field is set.
         */
        @java.lang.Override
        public boolean hasGameitemid() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * optional uint32 gameitemid = 1;
         * @return The gameitemid.
         */
        @java.lang.Override
        public int getGameitemid() {
          return gameitemid_;
        }
        /**
         * optional uint32 gameitemid = 1;
         * @param value The gameitemid to set.
         * @return This builder for chaining.
         */
        public Builder setGameitemid(int value) {

          gameitemid_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * optional uint32 gameitemid = 1;
         * @return This builder for chaining.
         */
        public Builder clearGameitemid() {
          bitField0_ = (bitField0_ & ~0x00000001);
          gameitemid_ = 0;
          onChanged();
          return this;
        }

        private java.lang.Object itemDescription_ = "";
        /**
         * optional string item_description = 2;
         * @return Whether the itemDescription field is set.
         */
        public boolean hasItemDescription() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * optional string item_description = 2;
         * @return The itemDescription.
         */
        public java.lang.String getItemDescription() {
          java.lang.Object ref = itemDescription_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            if (bs.isValidUtf8()) {
              itemDescription_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * optional string item_description = 2;
         * @return The bytes for itemDescription.
         */
        public com.google.protobuf.ByteString
            getItemDescriptionBytes() {
          java.lang.Object ref = itemDescription_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            itemDescription_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * optional string item_description = 2;
         * @param value The itemDescription to set.
         * @return This builder for chaining.
         */
        public Builder setItemDescription(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          itemDescription_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * optional string item_description = 2;
         * @return This builder for chaining.
         */
        public Builder clearItemDescription() {
          itemDescription_ = getDefaultInstance().getItemDescription();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
          return this;
        }
        /**
         * optional string item_description = 2;
         * @param value The bytes for itemDescription to set.
         * @return This builder for chaining.
         */
        public Builder setItemDescriptionBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          itemDescription_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription)
      }

      // @@protoc_insertion_point(class_scope:CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription)
      private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription();
      }

      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser
          PARSER = new com.google.protobuf.AbstractParser() {
        @java.lang.Override
        public SingleItemDescription 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 parser() {
        return PARSER;
      }

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

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface ItemDescriptionsLanguageBlockOrBuilder extends
        // @@protoc_insertion_point(interface_extends:CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock)
        com.google.protobuf.MessageOrBuilder {

      /**
       * optional string language = 1;
       * @return Whether the language field is set.
       */
      boolean hasLanguage();
      /**
       * optional string language = 1;
       * @return The language.
       */
      java.lang.String getLanguage();
      /**
       * optional string language = 1;
       * @return The bytes for language.
       */
      com.google.protobuf.ByteString
          getLanguageBytes();

      /**
       * repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
       */
      java.util.List 
          getDescriptionsList();
      /**
       * repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
       */
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription getDescriptions(int index);
      /**
       * repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
       */
      int getDescriptionsCount();
      /**
       * repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
       */
      java.util.List 
          getDescriptionsOrBuilderList();
      /**
       * repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
       */
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescriptionOrBuilder getDescriptionsOrBuilder(
          int index);
    }
    /**
     * Protobuf type {@code CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock}
     */
    public static final class ItemDescriptionsLanguageBlock extends
        com.google.protobuf.GeneratedMessage implements
        // @@protoc_insertion_point(message_implements:CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock)
        ItemDescriptionsLanguageBlockOrBuilder {
    private static final long serialVersionUID = 0L;
      static {
        com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
          com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
          /* major= */ 4,
          /* minor= */ 28,
          /* patch= */ 0,
          /* suffix= */ "",
          ItemDescriptionsLanguageBlock.class.getName());
      }
      // Use ItemDescriptionsLanguageBlock.newBuilder() to construct.
      private ItemDescriptionsLanguageBlock(com.google.protobuf.GeneratedMessage.Builder builder) {
        super(builder);
      }
      private ItemDescriptionsLanguageBlock() {
        language_ = "";
        descriptions_ = java.util.Collections.emptyList();
      }

      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.Builder.class);
      }

      private int bitField0_;
      public static final int LANGUAGE_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private volatile java.lang.Object language_ = "";
      /**
       * optional string language = 1;
       * @return Whether the language field is set.
       */
      @java.lang.Override
      public boolean hasLanguage() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional string language = 1;
       * @return The language.
       */
      @java.lang.Override
      public java.lang.String getLanguage() {
        java.lang.Object ref = language_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            language_ = s;
          }
          return s;
        }
      }
      /**
       * optional string language = 1;
       * @return The bytes for language.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getLanguageBytes() {
        java.lang.Object ref = language_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          language_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int DESCRIPTIONS_FIELD_NUMBER = 2;
      @SuppressWarnings("serial")
      private java.util.List descriptions_;
      /**
       * repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
       */
      @java.lang.Override
      public java.util.List getDescriptionsList() {
        return descriptions_;
      }
      /**
       * repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
       */
      @java.lang.Override
      public java.util.List 
          getDescriptionsOrBuilderList() {
        return descriptions_;
      }
      /**
       * repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
       */
      @java.lang.Override
      public int getDescriptionsCount() {
        return descriptions_.size();
      }
      /**
       * repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription getDescriptions(int index) {
        return descriptions_.get(index);
      }
      /**
       * repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescriptionOrBuilder getDescriptionsOrBuilder(
          int index) {
        return descriptions_.get(index);
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          com.google.protobuf.GeneratedMessage.writeString(output, 1, language_);
        }
        for (int i = 0; i < descriptions_.size(); i++) {
          output.writeMessage(2, descriptions_.get(i));
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += com.google.protobuf.GeneratedMessage.computeStringSize(1, language_);
        }
        for (int i = 0; i < descriptions_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, descriptions_.get(i));
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock)) {
          return super.equals(obj);
        }
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock) obj;

        if (hasLanguage() != other.hasLanguage()) return false;
        if (hasLanguage()) {
          if (!getLanguage()
              .equals(other.getLanguage())) return false;
        }
        if (!getDescriptionsList()
            .equals(other.getDescriptionsList())) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasLanguage()) {
          hash = (37 * hash) + LANGUAGE_FIELD_NUMBER;
          hash = (53 * hash) + getLanguage().hashCode();
        }
        if (getDescriptionsCount() > 0) {
          hash = (37 * hash) + DESCRIPTIONS_FIELD_NUMBER;
          hash = (53 * hash) + getDescriptionsList().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseWithIOException(PARSER, input);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseWithIOException(PARSER, input);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder implements
          // @@protoc_insertion_point(builder_implements:CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock)
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlockOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.Builder.class);
        }

        // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.newBuilder()
        private Builder() {

        }

        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          language_ = "";
          if (descriptionsBuilder_ == null) {
            descriptions_ = java.util.Collections.emptyList();
          } else {
            descriptions_ = null;
            descriptionsBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock_descriptor;
        }

        @java.lang.Override
        public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock getDefaultInstanceForType() {
          return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.getDefaultInstance();
        }

        @java.lang.Override
        public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock build() {
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock buildPartial() {
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock(this);
          buildPartialRepeatedFields(result);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }

        private void buildPartialRepeatedFields(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock result) {
          if (descriptionsBuilder_ == null) {
            if (((bitField0_ & 0x00000002) != 0)) {
              descriptions_ = java.util.Collections.unmodifiableList(descriptions_);
              bitField0_ = (bitField0_ & ~0x00000002);
            }
            result.descriptions_ = descriptions_;
          } else {
            result.descriptions_ = descriptionsBuilder_.build();
          }
        }

        private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.language_ = language_;
            to_bitField0_ |= 0x00000001;
          }
          result.bitField0_ |= to_bitField0_;
        }

        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock) {
            return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock other) {
          if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.getDefaultInstance()) return this;
          if (other.hasLanguage()) {
            language_ = other.language_;
            bitField0_ |= 0x00000001;
            onChanged();
          }
          if (descriptionsBuilder_ == null) {
            if (!other.descriptions_.isEmpty()) {
              if (descriptions_.isEmpty()) {
                descriptions_ = other.descriptions_;
                bitField0_ = (bitField0_ & ~0x00000002);
              } else {
                ensureDescriptionsIsMutable();
                descriptions_.addAll(other.descriptions_);
              }
              onChanged();
            }
          } else {
            if (!other.descriptions_.isEmpty()) {
              if (descriptionsBuilder_.isEmpty()) {
                descriptionsBuilder_.dispose();
                descriptionsBuilder_ = null;
                descriptions_ = other.descriptions_;
                bitField0_ = (bitField0_ & ~0x00000002);
                descriptionsBuilder_ = 
                  com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                     getDescriptionsFieldBuilder() : null;
              } else {
                descriptionsBuilder_.addAllMessages(other.descriptions_);
              }
            }
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

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

        @java.lang.Override
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  language_ = input.readBytes();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 18: {
                  in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription m =
                      input.readMessage(
                          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription.parser(),
                          extensionRegistry);
                  if (descriptionsBuilder_ == null) {
                    ensureDescriptionsIsMutable();
                    descriptions_.add(m);
                  } else {
                    descriptionsBuilder_.addMessage(m);
                  }
                  break;
                } // case 18
                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 java.lang.Object language_ = "";
        /**
         * optional string language = 1;
         * @return Whether the language field is set.
         */
        public boolean hasLanguage() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * optional string language = 1;
         * @return The language.
         */
        public java.lang.String getLanguage() {
          java.lang.Object ref = language_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            if (bs.isValidUtf8()) {
              language_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * optional string language = 1;
         * @return The bytes for language.
         */
        public com.google.protobuf.ByteString
            getLanguageBytes() {
          java.lang.Object ref = language_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            language_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * optional string language = 1;
         * @param value The language to set.
         * @return This builder for chaining.
         */
        public Builder setLanguage(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          language_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * optional string language = 1;
         * @return This builder for chaining.
         */
        public Builder clearLanguage() {
          language_ = getDefaultInstance().getLanguage();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * optional string language = 1;
         * @param value The bytes for language to set.
         * @return This builder for chaining.
         */
        public Builder setLanguageBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          language_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }

        private java.util.List descriptions_ =
          java.util.Collections.emptyList();
        private void ensureDescriptionsIsMutable() {
          if (!((bitField0_ & 0x00000002) != 0)) {
            descriptions_ = new java.util.ArrayList(descriptions_);
            bitField0_ |= 0x00000002;
           }
        }

        private com.google.protobuf.RepeatedFieldBuilder<
            in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescriptionOrBuilder> descriptionsBuilder_;

        /**
         * repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
         */
        public java.util.List getDescriptionsList() {
          if (descriptionsBuilder_ == null) {
            return java.util.Collections.unmodifiableList(descriptions_);
          } else {
            return descriptionsBuilder_.getMessageList();
          }
        }
        /**
         * repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
         */
        public int getDescriptionsCount() {
          if (descriptionsBuilder_ == null) {
            return descriptions_.size();
          } else {
            return descriptionsBuilder_.getCount();
          }
        }
        /**
         * repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
         */
        public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription getDescriptions(int index) {
          if (descriptionsBuilder_ == null) {
            return descriptions_.get(index);
          } else {
            return descriptionsBuilder_.getMessage(index);
          }
        }
        /**
         * repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
         */
        public Builder setDescriptions(
            int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription value) {
          if (descriptionsBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureDescriptionsIsMutable();
            descriptions_.set(index, value);
            onChanged();
          } else {
            descriptionsBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
         */
        public Builder setDescriptions(
            int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription.Builder builderForValue) {
          if (descriptionsBuilder_ == null) {
            ensureDescriptionsIsMutable();
            descriptions_.set(index, builderForValue.build());
            onChanged();
          } else {
            descriptionsBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
         */
        public Builder addDescriptions(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription value) {
          if (descriptionsBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureDescriptionsIsMutable();
            descriptions_.add(value);
            onChanged();
          } else {
            descriptionsBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
         */
        public Builder addDescriptions(
            int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription value) {
          if (descriptionsBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureDescriptionsIsMutable();
            descriptions_.add(index, value);
            onChanged();
          } else {
            descriptionsBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
         */
        public Builder addDescriptions(
            in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription.Builder builderForValue) {
          if (descriptionsBuilder_ == null) {
            ensureDescriptionsIsMutable();
            descriptions_.add(builderForValue.build());
            onChanged();
          } else {
            descriptionsBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
         */
        public Builder addDescriptions(
            int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription.Builder builderForValue) {
          if (descriptionsBuilder_ == null) {
            ensureDescriptionsIsMutable();
            descriptions_.add(index, builderForValue.build());
            onChanged();
          } else {
            descriptionsBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
         */
        public Builder addAllDescriptions(
            java.lang.Iterable values) {
          if (descriptionsBuilder_ == null) {
            ensureDescriptionsIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, descriptions_);
            onChanged();
          } else {
            descriptionsBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
         */
        public Builder clearDescriptions() {
          if (descriptionsBuilder_ == null) {
            descriptions_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000002);
            onChanged();
          } else {
            descriptionsBuilder_.clear();
          }
          return this;
        }
        /**
         * repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
         */
        public Builder removeDescriptions(int index) {
          if (descriptionsBuilder_ == null) {
            ensureDescriptionsIsMutable();
            descriptions_.remove(index);
            onChanged();
          } else {
            descriptionsBuilder_.remove(index);
          }
          return this;
        }
        /**
         * repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
         */
        public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription.Builder getDescriptionsBuilder(
            int index) {
          return getDescriptionsFieldBuilder().getBuilder(index);
        }
        /**
         * repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
         */
        public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescriptionOrBuilder getDescriptionsOrBuilder(
            int index) {
          if (descriptionsBuilder_ == null) {
            return descriptions_.get(index);  } else {
            return descriptionsBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
         */
        public java.util.List 
             getDescriptionsOrBuilderList() {
          if (descriptionsBuilder_ != null) {
            return descriptionsBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(descriptions_);
          }
        }
        /**
         * repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
         */
        public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription.Builder addDescriptionsBuilder() {
          return getDescriptionsFieldBuilder().addBuilder(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription.getDefaultInstance());
        }
        /**
         * repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
         */
        public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription.Builder addDescriptionsBuilder(
            int index) {
          return getDescriptionsFieldBuilder().addBuilder(
              index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription.getDefaultInstance());
        }
        /**
         * repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
         */
        public java.util.List 
             getDescriptionsBuilderList() {
          return getDescriptionsFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilder<
            in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescriptionOrBuilder> 
            getDescriptionsFieldBuilder() {
          if (descriptionsBuilder_ == null) {
            descriptionsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.SingleItemDescriptionOrBuilder>(
                    descriptions_,
                    ((bitField0_ & 0x00000002) != 0),
                    getParentForChildren(),
                    isClean());
            descriptions_ = null;
          }
          return descriptionsBuilder_;
        }

        // @@protoc_insertion_point(builder_scope:CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock)
      }

      // @@protoc_insertion_point(class_scope:CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock)
      private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock();
      }

      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser
          PARSER = new com.google.protobuf.AbstractParser() {
        @java.lang.Override
        public ItemDescriptionsLanguageBlock 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 parser() {
        return PARSER;
      }

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

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    private int bitField0_;
    public static final int APPID_FIELD_NUMBER = 1;
    private int appid_ = 0;
    /**
     * optional uint32 appid = 1;
     * @return Whether the appid field is set.
     */
    @java.lang.Override
    public boolean hasAppid() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 appid = 1;
     * @return The appid.
     */
    @java.lang.Override
    public int getAppid() {
      return appid_;
    }

    public static final int LANGUAGES_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private java.util.List languages_;
    /**
     * repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
     */
    @java.lang.Override
    public java.util.List getLanguagesList() {
      return languages_;
    }
    /**
     * repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
     */
    @java.lang.Override
    public java.util.List 
        getLanguagesOrBuilderList() {
      return languages_;
    }
    /**
     * repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
     */
    @java.lang.Override
    public int getLanguagesCount() {
      return languages_.size();
    }
    /**
     * repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock getLanguages(int index) {
      return languages_.get(index);
    }
    /**
     * repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlockOrBuilder getLanguagesOrBuilder(
        int index) {
      return languages_.get(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt32(1, appid_);
      }
      for (int i = 0; i < languages_.size(); i++) {
        output.writeMessage(2, languages_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, appid_);
      }
      for (int i = 0; i < languages_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, languages_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request) obj;

      if (hasAppid() != other.hasAppid()) return false;
      if (hasAppid()) {
        if (getAppid()
            != other.getAppid()) return false;
      }
      if (!getLanguagesList()
          .equals(other.getLanguagesList())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasAppid()) {
        hash = (37 * hash) + APPID_FIELD_NUMBER;
        hash = (53 * hash) + getAppid();
      }
      if (getLanguagesCount() > 0) {
        hash = (37 * hash) + LANGUAGES_FIELD_NUMBER;
        hash = (53 * hash) + getLanguagesList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CWorkshop_PopulateItemDescriptions_Request}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CWorkshop_PopulateItemDescriptions_Request)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_RequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_PopulateItemDescriptions_Request_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_PopulateItemDescriptions_Request_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        appid_ = 0;
        if (languagesBuilder_ == null) {
          languages_ = java.util.Collections.emptyList();
        } else {
          languages_ = null;
          languagesBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_PopulateItemDescriptions_Request_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request(this);
        buildPartialRepeatedFields(result);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartialRepeatedFields(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request result) {
        if (languagesBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0)) {
            languages_ = java.util.Collections.unmodifiableList(languages_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.languages_ = languages_;
        } else {
          result.languages_ = languagesBuilder_.build();
        }
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.appid_ = appid_;
          to_bitField0_ |= 0x00000001;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.getDefaultInstance()) return this;
        if (other.hasAppid()) {
          setAppid(other.getAppid());
        }
        if (languagesBuilder_ == null) {
          if (!other.languages_.isEmpty()) {
            if (languages_.isEmpty()) {
              languages_ = other.languages_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureLanguagesIsMutable();
              languages_.addAll(other.languages_);
            }
            onChanged();
          }
        } else {
          if (!other.languages_.isEmpty()) {
            if (languagesBuilder_.isEmpty()) {
              languagesBuilder_.dispose();
              languagesBuilder_ = null;
              languages_ = other.languages_;
              bitField0_ = (bitField0_ & ~0x00000002);
              languagesBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getLanguagesFieldBuilder() : null;
            } else {
              languagesBuilder_.addAllMessages(other.languages_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                appid_ = input.readUInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 18: {
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.parser(),
                        extensionRegistry);
                if (languagesBuilder_ == null) {
                  ensureLanguagesIsMutable();
                  languages_.add(m);
                } else {
                  languagesBuilder_.addMessage(m);
                }
                break;
              } // case 18
              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 int appid_ ;
      /**
       * optional uint32 appid = 1;
       * @return Whether the appid field is set.
       */
      @java.lang.Override
      public boolean hasAppid() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 appid = 1;
       * @return The appid.
       */
      @java.lang.Override
      public int getAppid() {
        return appid_;
      }
      /**
       * optional uint32 appid = 1;
       * @param value The appid to set.
       * @return This builder for chaining.
       */
      public Builder setAppid(int value) {

        appid_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint32 appid = 1;
       * @return This builder for chaining.
       */
      public Builder clearAppid() {
        bitField0_ = (bitField0_ & ~0x00000001);
        appid_ = 0;
        onChanged();
        return this;
      }

      private java.util.List languages_ =
        java.util.Collections.emptyList();
      private void ensureLanguagesIsMutable() {
        if (!((bitField0_ & 0x00000002) != 0)) {
          languages_ = new java.util.ArrayList(languages_);
          bitField0_ |= 0x00000002;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlockOrBuilder> languagesBuilder_;

      /**
       * repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
       */
      public java.util.List getLanguagesList() {
        if (languagesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(languages_);
        } else {
          return languagesBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
       */
      public int getLanguagesCount() {
        if (languagesBuilder_ == null) {
          return languages_.size();
        } else {
          return languagesBuilder_.getCount();
        }
      }
      /**
       * repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock getLanguages(int index) {
        if (languagesBuilder_ == null) {
          return languages_.get(index);
        } else {
          return languagesBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
       */
      public Builder setLanguages(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock value) {
        if (languagesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureLanguagesIsMutable();
          languages_.set(index, value);
          onChanged();
        } else {
          languagesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
       */
      public Builder setLanguages(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.Builder builderForValue) {
        if (languagesBuilder_ == null) {
          ensureLanguagesIsMutable();
          languages_.set(index, builderForValue.build());
          onChanged();
        } else {
          languagesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
       */
      public Builder addLanguages(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock value) {
        if (languagesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureLanguagesIsMutable();
          languages_.add(value);
          onChanged();
        } else {
          languagesBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
       */
      public Builder addLanguages(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock value) {
        if (languagesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureLanguagesIsMutable();
          languages_.add(index, value);
          onChanged();
        } else {
          languagesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
       */
      public Builder addLanguages(
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.Builder builderForValue) {
        if (languagesBuilder_ == null) {
          ensureLanguagesIsMutable();
          languages_.add(builderForValue.build());
          onChanged();
        } else {
          languagesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
       */
      public Builder addLanguages(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.Builder builderForValue) {
        if (languagesBuilder_ == null) {
          ensureLanguagesIsMutable();
          languages_.add(index, builderForValue.build());
          onChanged();
        } else {
          languagesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
       */
      public Builder addAllLanguages(
          java.lang.Iterable values) {
        if (languagesBuilder_ == null) {
          ensureLanguagesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, languages_);
          onChanged();
        } else {
          languagesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
       */
      public Builder clearLanguages() {
        if (languagesBuilder_ == null) {
          languages_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          languagesBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
       */
      public Builder removeLanguages(int index) {
        if (languagesBuilder_ == null) {
          ensureLanguagesIsMutable();
          languages_.remove(index);
          onChanged();
        } else {
          languagesBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.Builder getLanguagesBuilder(
          int index) {
        return getLanguagesFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlockOrBuilder getLanguagesOrBuilder(
          int index) {
        if (languagesBuilder_ == null) {
          return languages_.get(index);  } else {
          return languagesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
       */
      public java.util.List 
           getLanguagesOrBuilderList() {
        if (languagesBuilder_ != null) {
          return languagesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(languages_);
        }
      }
      /**
       * repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.Builder addLanguagesBuilder() {
        return getLanguagesFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.getDefaultInstance());
      }
      /**
       * repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.Builder addLanguagesBuilder(
          int index) {
        return getLanguagesFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.getDefaultInstance());
      }
      /**
       * repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
       */
      public java.util.List 
           getLanguagesBuilderList() {
        return getLanguagesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlockOrBuilder> 
          getLanguagesFieldBuilder() {
        if (languagesBuilder_ == null) {
          languagesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlockOrBuilder>(
                  languages_,
                  ((bitField0_ & 0x00000002) != 0),
                  getParentForChildren(),
                  isClean());
          languages_ = null;
        }
        return languagesBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CWorkshop_PopulateItemDescriptions_Request)
    }

    // @@protoc_insertion_point(class_scope:CWorkshop_PopulateItemDescriptions_Request)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CWorkshop_PopulateItemDescriptions_Request 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_PopulateItemDescriptions_Request getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint32 appid = 1;
     * @return Whether the appid field is set.
     */
    boolean hasAppid();
    /**
     * optional uint32 appid = 1;
     * @return The appid.
     */
    int getAppid();

    /**
     * optional uint32 gameitemid = 2;
     * @return Whether the gameitemid field is set.
     */
    boolean hasGameitemid();
    /**
     * optional uint32 gameitemid = 2;
     * @return The gameitemid.
     */
    int getGameitemid();
  }
  /**
   * Protobuf type {@code CWorkshop_GetContributors_Request}
   */
  public static final class CWorkshop_GetContributors_Request extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CWorkshop_GetContributors_Request)
      CWorkshop_GetContributors_RequestOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CWorkshop_GetContributors_Request.class.getName());
    }
    // Use CWorkshop_GetContributors_Request.newBuilder() to construct.
    private CWorkshop_GetContributors_Request(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CWorkshop_GetContributors_Request() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_GetContributors_Request_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_GetContributors_Request_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request.Builder.class);
    }

    private int bitField0_;
    public static final int APPID_FIELD_NUMBER = 1;
    private int appid_ = 0;
    /**
     * optional uint32 appid = 1;
     * @return Whether the appid field is set.
     */
    @java.lang.Override
    public boolean hasAppid() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 appid = 1;
     * @return The appid.
     */
    @java.lang.Override
    public int getAppid() {
      return appid_;
    }

    public static final int GAMEITEMID_FIELD_NUMBER = 2;
    private int gameitemid_ = 0;
    /**
     * optional uint32 gameitemid = 2;
     * @return Whether the gameitemid field is set.
     */
    @java.lang.Override
    public boolean hasGameitemid() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint32 gameitemid = 2;
     * @return The gameitemid.
     */
    @java.lang.Override
    public int getGameitemid() {
      return gameitemid_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

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

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, appid_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, gameitemid_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request) obj;

      if (hasAppid() != other.hasAppid()) return false;
      if (hasAppid()) {
        if (getAppid()
            != other.getAppid()) return false;
      }
      if (hasGameitemid() != other.hasGameitemid()) return false;
      if (hasGameitemid()) {
        if (getGameitemid()
            != other.getGameitemid()) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasAppid()) {
        hash = (37 * hash) + APPID_FIELD_NUMBER;
        hash = (53 * hash) + getAppid();
      }
      if (hasGameitemid()) {
        hash = (37 * hash) + GAMEITEMID_FIELD_NUMBER;
        hash = (53 * hash) + getGameitemid();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CWorkshop_GetContributors_Request}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CWorkshop_GetContributors_Request)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_RequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_GetContributors_Request_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_GetContributors_Request_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        appid_ = 0;
        gameitemid_ = 0;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_GetContributors_Request_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.appid_ = appid_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.gameitemid_ = gameitemid_;
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request.getDefaultInstance()) return this;
        if (other.hasAppid()) {
          setAppid(other.getAppid());
        }
        if (other.hasGameitemid()) {
          setGameitemid(other.getGameitemid());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                appid_ = input.readUInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                gameitemid_ = input.readUInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              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 int appid_ ;
      /**
       * optional uint32 appid = 1;
       * @return Whether the appid field is set.
       */
      @java.lang.Override
      public boolean hasAppid() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 appid = 1;
       * @return The appid.
       */
      @java.lang.Override
      public int getAppid() {
        return appid_;
      }
      /**
       * optional uint32 appid = 1;
       * @param value The appid to set.
       * @return This builder for chaining.
       */
      public Builder setAppid(int value) {

        appid_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint32 appid = 1;
       * @return This builder for chaining.
       */
      public Builder clearAppid() {
        bitField0_ = (bitField0_ & ~0x00000001);
        appid_ = 0;
        onChanged();
        return this;
      }

      private int gameitemid_ ;
      /**
       * optional uint32 gameitemid = 2;
       * @return Whether the gameitemid field is set.
       */
      @java.lang.Override
      public boolean hasGameitemid() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint32 gameitemid = 2;
       * @return The gameitemid.
       */
      @java.lang.Override
      public int getGameitemid() {
        return gameitemid_;
      }
      /**
       * optional uint32 gameitemid = 2;
       * @param value The gameitemid to set.
       * @return This builder for chaining.
       */
      public Builder setGameitemid(int value) {

        gameitemid_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint32 gameitemid = 2;
       * @return This builder for chaining.
       */
      public Builder clearGameitemid() {
        bitField0_ = (bitField0_ & ~0x00000002);
        gameitemid_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CWorkshop_GetContributors_Request)
    }

    // @@protoc_insertion_point(class_scope:CWorkshop_GetContributors_Request)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CWorkshop_GetContributors_Request 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Request getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * repeated fixed64 contributors = 1;
     * @return A list containing the contributors.
     */
    java.util.List getContributorsList();
    /**
     * repeated fixed64 contributors = 1;
     * @return The count of contributors.
     */
    int getContributorsCount();
    /**
     * repeated fixed64 contributors = 1;
     * @param index The index of the element to return.
     * @return The contributors at the given index.
     */
    long getContributors(int index);
  }
  /**
   * Protobuf type {@code CWorkshop_GetContributors_Response}
   */
  public static final class CWorkshop_GetContributors_Response extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CWorkshop_GetContributors_Response)
      CWorkshop_GetContributors_ResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CWorkshop_GetContributors_Response.class.getName());
    }
    // Use CWorkshop_GetContributors_Response.newBuilder() to construct.
    private CWorkshop_GetContributors_Response(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CWorkshop_GetContributors_Response() {
      contributors_ = emptyLongList();
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_GetContributors_Response_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_GetContributors_Response_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response.Builder.class);
    }

    public static final int CONTRIBUTORS_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private com.google.protobuf.Internal.LongList contributors_ =
        emptyLongList();
    /**
     * repeated fixed64 contributors = 1;
     * @return A list containing the contributors.
     */
    @java.lang.Override
    public java.util.List
        getContributorsList() {
      return contributors_;
    }
    /**
     * repeated fixed64 contributors = 1;
     * @return The count of contributors.
     */
    public int getContributorsCount() {
      return contributors_.size();
    }
    /**
     * repeated fixed64 contributors = 1;
     * @param index The index of the element to return.
     * @return The contributors at the given index.
     */
    public long getContributors(int index) {
      return contributors_.getLong(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < contributors_.size(); i++) {
        output.writeFixed64(1, contributors_.getLong(i));
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      {
        int dataSize = 0;
        dataSize = 8 * getContributorsList().size();
        size += dataSize;
        size += 1 * getContributorsList().size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response) obj;

      if (!getContributorsList()
          .equals(other.getContributorsList())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getContributorsCount() > 0) {
        hash = (37 * hash) + CONTRIBUTORS_FIELD_NUMBER;
        hash = (53 * hash) + getContributorsList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CWorkshop_GetContributors_Response}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CWorkshop_GetContributors_Response)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_ResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_GetContributors_Response_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_GetContributors_Response_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        contributors_ = emptyLongList();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_GetContributors_Response_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response(this);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response result) {
        int from_bitField0_ = bitField0_;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          contributors_.makeImmutable();
          result.contributors_ = contributors_;
        }
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response.getDefaultInstance()) return this;
        if (!other.contributors_.isEmpty()) {
          if (contributors_.isEmpty()) {
            contributors_ = other.contributors_;
            contributors_.makeImmutable();
            bitField0_ |= 0x00000001;
          } else {
            ensureContributorsIsMutable();
            contributors_.addAll(other.contributors_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 9: {
                long v = input.readFixed64();
                ensureContributorsIsMutable();
                contributors_.addLong(v);
                break;
              } // case 9
              case 10: {
                int length = input.readRawVarint32();
                int limit = input.pushLimit(length);
                int alloc = length > 4096 ? 4096 : length;
                ensureContributorsIsMutable(alloc / 8);
                while (input.getBytesUntilLimit() > 0) {
                  contributors_.addLong(input.readFixed64());
                }
                input.popLimit(limit);
                break;
              } // case 10
              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 com.google.protobuf.Internal.LongList contributors_ = emptyLongList();
      private void ensureContributorsIsMutable() {
        if (!contributors_.isModifiable()) {
          contributors_ = makeMutableCopy(contributors_);
        }
        bitField0_ |= 0x00000001;
      }
      private void ensureContributorsIsMutable(int capacity) {
        if (!contributors_.isModifiable()) {
          contributors_ = makeMutableCopy(contributors_, capacity);
        }
        bitField0_ |= 0x00000001;
      }
      /**
       * repeated fixed64 contributors = 1;
       * @return A list containing the contributors.
       */
      public java.util.List
          getContributorsList() {
        contributors_.makeImmutable();
        return contributors_;
      }
      /**
       * repeated fixed64 contributors = 1;
       * @return The count of contributors.
       */
      public int getContributorsCount() {
        return contributors_.size();
      }
      /**
       * repeated fixed64 contributors = 1;
       * @param index The index of the element to return.
       * @return The contributors at the given index.
       */
      public long getContributors(int index) {
        return contributors_.getLong(index);
      }
      /**
       * repeated fixed64 contributors = 1;
       * @param index The index to set the value at.
       * @param value The contributors to set.
       * @return This builder for chaining.
       */
      public Builder setContributors(
          int index, long value) {

        ensureContributorsIsMutable();
        contributors_.setLong(index, value);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * repeated fixed64 contributors = 1;
       * @param value The contributors to add.
       * @return This builder for chaining.
       */
      public Builder addContributors(long value) {

        ensureContributorsIsMutable();
        contributors_.addLong(value);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * repeated fixed64 contributors = 1;
       * @param values The contributors to add.
       * @return This builder for chaining.
       */
      public Builder addAllContributors(
          java.lang.Iterable values) {
        ensureContributorsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, contributors_);
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * repeated fixed64 contributors = 1;
       * @return This builder for chaining.
       */
      public Builder clearContributors() {
        contributors_ = emptyLongList();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CWorkshop_GetContributors_Response)
    }

    // @@protoc_insertion_point(class_scope:CWorkshop_GetContributors_Response)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CWorkshop_GetContributors_Response 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_GetContributors_Response getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

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

    /**
     * optional uint32 appid = 1;
     * @return Whether the appid field is set.
     */
    boolean hasAppid();
    /**
     * optional uint32 appid = 1;
     * @return The appid.
     */
    int getAppid();

    /**
     * optional uint32 gameitemid = 2;
     * @return Whether the gameitemid field is set.
     */
    boolean hasGameitemid();
    /**
     * optional uint32 gameitemid = 2;
     * @return The gameitemid.
     */
    int getGameitemid();

    /**
     * repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
     */
    java.util.List 
        getAssociatedWorkshopFilesList();
    /**
     * repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule getAssociatedWorkshopFiles(int index);
    /**
     * repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
     */
    int getAssociatedWorkshopFilesCount();
    /**
     * repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
     */
    java.util.List 
        getAssociatedWorkshopFilesOrBuilderList();
    /**
     * repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRuleOrBuilder getAssociatedWorkshopFilesOrBuilder(
        int index);

    /**
     * repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
     */
    java.util.List 
        getPartnerAccountsList();
    /**
     * repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule getPartnerAccounts(int index);
    /**
     * repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
     */
    int getPartnerAccountsCount();
    /**
     * repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
     */
    java.util.List 
        getPartnerAccountsOrBuilderList();
    /**
     * repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
     */
    in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRuleOrBuilder getPartnerAccountsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code CWorkshop_SetItemPaymentRules_Request}
   */
  public static final class CWorkshop_SetItemPaymentRules_Request extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CWorkshop_SetItemPaymentRules_Request)
      CWorkshop_SetItemPaymentRules_RequestOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CWorkshop_SetItemPaymentRules_Request.class.getName());
    }
    // Use CWorkshop_SetItemPaymentRules_Request.newBuilder() to construct.
    private CWorkshop_SetItemPaymentRules_Request(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CWorkshop_SetItemPaymentRules_Request() {
      associatedWorkshopFiles_ = java.util.Collections.emptyList();
      partnerAccounts_ = java.util.Collections.emptyList();
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_SetItemPaymentRules_Request_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_SetItemPaymentRules_Request_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.Builder.class);
    }

    public interface WorkshopItemPaymentRuleOrBuilder extends
        // @@protoc_insertion_point(interface_extends:CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule)
        com.google.protobuf.MessageOrBuilder {

      /**
       * optional uint64 workshop_file_id = 1;
       * @return Whether the workshopFileId field is set.
       */
      boolean hasWorkshopFileId();
      /**
       * optional uint64 workshop_file_id = 1;
       * @return The workshopFileId.
       */
      long getWorkshopFileId();

      /**
       * optional float revenue_percentage = 2;
       * @return Whether the revenuePercentage field is set.
       */
      boolean hasRevenuePercentage();
      /**
       * optional float revenue_percentage = 2;
       * @return The revenuePercentage.
       */
      float getRevenuePercentage();

      /**
       * optional string rule_description = 3;
       * @return Whether the ruleDescription field is set.
       */
      boolean hasRuleDescription();
      /**
       * optional string rule_description = 3;
       * @return The ruleDescription.
       */
      java.lang.String getRuleDescription();
      /**
       * optional string rule_description = 3;
       * @return The bytes for ruleDescription.
       */
      com.google.protobuf.ByteString
          getRuleDescriptionBytes();
    }
    /**
     * Protobuf type {@code CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule}
     */
    public static final class WorkshopItemPaymentRule extends
        com.google.protobuf.GeneratedMessage implements
        // @@protoc_insertion_point(message_implements:CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule)
        WorkshopItemPaymentRuleOrBuilder {
    private static final long serialVersionUID = 0L;
      static {
        com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
          com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
          /* major= */ 4,
          /* minor= */ 28,
          /* patch= */ 0,
          /* suffix= */ "",
          WorkshopItemPaymentRule.class.getName());
      }
      // Use WorkshopItemPaymentRule.newBuilder() to construct.
      private WorkshopItemPaymentRule(com.google.protobuf.GeneratedMessage.Builder builder) {
        super(builder);
      }
      private WorkshopItemPaymentRule() {
        ruleDescription_ = "";
      }

      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.Builder.class);
      }

      private int bitField0_;
      public static final int WORKSHOP_FILE_ID_FIELD_NUMBER = 1;
      private long workshopFileId_ = 0L;
      /**
       * optional uint64 workshop_file_id = 1;
       * @return Whether the workshopFileId field is set.
       */
      @java.lang.Override
      public boolean hasWorkshopFileId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint64 workshop_file_id = 1;
       * @return The workshopFileId.
       */
      @java.lang.Override
      public long getWorkshopFileId() {
        return workshopFileId_;
      }

      public static final int REVENUE_PERCENTAGE_FIELD_NUMBER = 2;
      private float revenuePercentage_ = 0F;
      /**
       * optional float revenue_percentage = 2;
       * @return Whether the revenuePercentage field is set.
       */
      @java.lang.Override
      public boolean hasRevenuePercentage() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional float revenue_percentage = 2;
       * @return The revenuePercentage.
       */
      @java.lang.Override
      public float getRevenuePercentage() {
        return revenuePercentage_;
      }

      public static final int RULE_DESCRIPTION_FIELD_NUMBER = 3;
      @SuppressWarnings("serial")
      private volatile java.lang.Object ruleDescription_ = "";
      /**
       * optional string rule_description = 3;
       * @return Whether the ruleDescription field is set.
       */
      @java.lang.Override
      public boolean hasRuleDescription() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional string rule_description = 3;
       * @return The ruleDescription.
       */
      @java.lang.Override
      public java.lang.String getRuleDescription() {
        java.lang.Object ref = ruleDescription_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            ruleDescription_ = s;
          }
          return s;
        }
      }
      /**
       * optional string rule_description = 3;
       * @return The bytes for ruleDescription.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getRuleDescriptionBytes() {
        java.lang.Object ref = ruleDescription_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          ruleDescription_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeUInt64(1, workshopFileId_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeFloat(2, revenuePercentage_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          com.google.protobuf.GeneratedMessage.writeString(output, 3, ruleDescription_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt64Size(1, workshopFileId_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += com.google.protobuf.CodedOutputStream
            .computeFloatSize(2, revenuePercentage_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          size += com.google.protobuf.GeneratedMessage.computeStringSize(3, ruleDescription_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule)) {
          return super.equals(obj);
        }
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule) obj;

        if (hasWorkshopFileId() != other.hasWorkshopFileId()) return false;
        if (hasWorkshopFileId()) {
          if (getWorkshopFileId()
              != other.getWorkshopFileId()) return false;
        }
        if (hasRevenuePercentage() != other.hasRevenuePercentage()) return false;
        if (hasRevenuePercentage()) {
          if (java.lang.Float.floatToIntBits(getRevenuePercentage())
              != java.lang.Float.floatToIntBits(
                  other.getRevenuePercentage())) return false;
        }
        if (hasRuleDescription() != other.hasRuleDescription()) return false;
        if (hasRuleDescription()) {
          if (!getRuleDescription()
              .equals(other.getRuleDescription())) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasWorkshopFileId()) {
          hash = (37 * hash) + WORKSHOP_FILE_ID_FIELD_NUMBER;
          hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
              getWorkshopFileId());
        }
        if (hasRevenuePercentage()) {
          hash = (37 * hash) + REVENUE_PERCENTAGE_FIELD_NUMBER;
          hash = (53 * hash) + java.lang.Float.floatToIntBits(
              getRevenuePercentage());
        }
        if (hasRuleDescription()) {
          hash = (37 * hash) + RULE_DESCRIPTION_FIELD_NUMBER;
          hash = (53 * hash) + getRuleDescription().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseWithIOException(PARSER, input);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseWithIOException(PARSER, input);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder implements
          // @@protoc_insertion_point(builder_implements:CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule)
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRuleOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.Builder.class);
        }

        // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.newBuilder()
        private Builder() {

        }

        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          workshopFileId_ = 0L;
          revenuePercentage_ = 0F;
          ruleDescription_ = "";
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule_descriptor;
        }

        @java.lang.Override
        public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule getDefaultInstanceForType() {
          return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.getDefaultInstance();
        }

        @java.lang.Override
        public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule build() {
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule buildPartial() {
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }

        private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.workshopFileId_ = workshopFileId_;
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.revenuePercentage_ = revenuePercentage_;
            to_bitField0_ |= 0x00000002;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.ruleDescription_ = ruleDescription_;
            to_bitField0_ |= 0x00000004;
          }
          result.bitField0_ |= to_bitField0_;
        }

        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule) {
            return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule other) {
          if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.getDefaultInstance()) return this;
          if (other.hasWorkshopFileId()) {
            setWorkshopFileId(other.getWorkshopFileId());
          }
          if (other.hasRevenuePercentage()) {
            setRevenuePercentage(other.getRevenuePercentage());
          }
          if (other.hasRuleDescription()) {
            ruleDescription_ = other.ruleDescription_;
            bitField0_ |= 0x00000004;
            onChanged();
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

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

        @java.lang.Override
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 8: {
                  workshopFileId_ = input.readUInt64();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 8
                case 21: {
                  revenuePercentage_ = input.readFloat();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 21
                case 26: {
                  ruleDescription_ = input.readBytes();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 26
                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 long workshopFileId_ ;
        /**
         * optional uint64 workshop_file_id = 1;
         * @return Whether the workshopFileId field is set.
         */
        @java.lang.Override
        public boolean hasWorkshopFileId() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * optional uint64 workshop_file_id = 1;
         * @return The workshopFileId.
         */
        @java.lang.Override
        public long getWorkshopFileId() {
          return workshopFileId_;
        }
        /**
         * optional uint64 workshop_file_id = 1;
         * @param value The workshopFileId to set.
         * @return This builder for chaining.
         */
        public Builder setWorkshopFileId(long value) {

          workshopFileId_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * optional uint64 workshop_file_id = 1;
         * @return This builder for chaining.
         */
        public Builder clearWorkshopFileId() {
          bitField0_ = (bitField0_ & ~0x00000001);
          workshopFileId_ = 0L;
          onChanged();
          return this;
        }

        private float revenuePercentage_ ;
        /**
         * optional float revenue_percentage = 2;
         * @return Whether the revenuePercentage field is set.
         */
        @java.lang.Override
        public boolean hasRevenuePercentage() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * optional float revenue_percentage = 2;
         * @return The revenuePercentage.
         */
        @java.lang.Override
        public float getRevenuePercentage() {
          return revenuePercentage_;
        }
        /**
         * optional float revenue_percentage = 2;
         * @param value The revenuePercentage to set.
         * @return This builder for chaining.
         */
        public Builder setRevenuePercentage(float value) {

          revenuePercentage_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * optional float revenue_percentage = 2;
         * @return This builder for chaining.
         */
        public Builder clearRevenuePercentage() {
          bitField0_ = (bitField0_ & ~0x00000002);
          revenuePercentage_ = 0F;
          onChanged();
          return this;
        }

        private java.lang.Object ruleDescription_ = "";
        /**
         * optional string rule_description = 3;
         * @return Whether the ruleDescription field is set.
         */
        public boolean hasRuleDescription() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * optional string rule_description = 3;
         * @return The ruleDescription.
         */
        public java.lang.String getRuleDescription() {
          java.lang.Object ref = ruleDescription_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            if (bs.isValidUtf8()) {
              ruleDescription_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * optional string rule_description = 3;
         * @return The bytes for ruleDescription.
         */
        public com.google.protobuf.ByteString
            getRuleDescriptionBytes() {
          java.lang.Object ref = ruleDescription_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            ruleDescription_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * optional string rule_description = 3;
         * @param value The ruleDescription to set.
         * @return This builder for chaining.
         */
        public Builder setRuleDescription(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          ruleDescription_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * optional string rule_description = 3;
         * @return This builder for chaining.
         */
        public Builder clearRuleDescription() {
          ruleDescription_ = getDefaultInstance().getRuleDescription();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
          return this;
        }
        /**
         * optional string rule_description = 3;
         * @param value The bytes for ruleDescription to set.
         * @return This builder for chaining.
         */
        public Builder setRuleDescriptionBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          ruleDescription_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule)
      }

      // @@protoc_insertion_point(class_scope:CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule)
      private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule();
      }

      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser
          PARSER = new com.google.protobuf.AbstractParser() {
        @java.lang.Override
        public WorkshopItemPaymentRule 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 parser() {
        return PARSER;
      }

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

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface PartnerItemPaymentRuleOrBuilder extends
        // @@protoc_insertion_point(interface_extends:CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule)
        com.google.protobuf.MessageOrBuilder {

      /**
       * optional uint32 account_id = 1;
       * @return Whether the accountId field is set.
       */
      boolean hasAccountId();
      /**
       * optional uint32 account_id = 1;
       * @return The accountId.
       */
      int getAccountId();

      /**
       * optional float revenue_percentage = 2;
       * @return Whether the revenuePercentage field is set.
       */
      boolean hasRevenuePercentage();
      /**
       * optional float revenue_percentage = 2;
       * @return The revenuePercentage.
       */
      float getRevenuePercentage();

      /**
       * optional string rule_description = 3;
       * @return Whether the ruleDescription field is set.
       */
      boolean hasRuleDescription();
      /**
       * optional string rule_description = 3;
       * @return The ruleDescription.
       */
      java.lang.String getRuleDescription();
      /**
       * optional string rule_description = 3;
       * @return The bytes for ruleDescription.
       */
      com.google.protobuf.ByteString
          getRuleDescriptionBytes();
    }
    /**
     * Protobuf type {@code CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule}
     */
    public static final class PartnerItemPaymentRule extends
        com.google.protobuf.GeneratedMessage implements
        // @@protoc_insertion_point(message_implements:CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule)
        PartnerItemPaymentRuleOrBuilder {
    private static final long serialVersionUID = 0L;
      static {
        com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
          com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
          /* major= */ 4,
          /* minor= */ 28,
          /* patch= */ 0,
          /* suffix= */ "",
          PartnerItemPaymentRule.class.getName());
      }
      // Use PartnerItemPaymentRule.newBuilder() to construct.
      private PartnerItemPaymentRule(com.google.protobuf.GeneratedMessage.Builder builder) {
        super(builder);
      }
      private PartnerItemPaymentRule() {
        ruleDescription_ = "";
      }

      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule.Builder.class);
      }

      private int bitField0_;
      public static final int ACCOUNT_ID_FIELD_NUMBER = 1;
      private int accountId_ = 0;
      /**
       * optional uint32 account_id = 1;
       * @return Whether the accountId field is set.
       */
      @java.lang.Override
      public boolean hasAccountId() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 account_id = 1;
       * @return The accountId.
       */
      @java.lang.Override
      public int getAccountId() {
        return accountId_;
      }

      public static final int REVENUE_PERCENTAGE_FIELD_NUMBER = 2;
      private float revenuePercentage_ = 0F;
      /**
       * optional float revenue_percentage = 2;
       * @return Whether the revenuePercentage field is set.
       */
      @java.lang.Override
      public boolean hasRevenuePercentage() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional float revenue_percentage = 2;
       * @return The revenuePercentage.
       */
      @java.lang.Override
      public float getRevenuePercentage() {
        return revenuePercentage_;
      }

      public static final int RULE_DESCRIPTION_FIELD_NUMBER = 3;
      @SuppressWarnings("serial")
      private volatile java.lang.Object ruleDescription_ = "";
      /**
       * optional string rule_description = 3;
       * @return Whether the ruleDescription field is set.
       */
      @java.lang.Override
      public boolean hasRuleDescription() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional string rule_description = 3;
       * @return The ruleDescription.
       */
      @java.lang.Override
      public java.lang.String getRuleDescription() {
        java.lang.Object ref = ruleDescription_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            ruleDescription_ = s;
          }
          return s;
        }
      }
      /**
       * optional string rule_description = 3;
       * @return The bytes for ruleDescription.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getRuleDescriptionBytes() {
        java.lang.Object ref = ruleDescription_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          ruleDescription_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

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

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeUInt32(1, accountId_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeFloat(2, revenuePercentage_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          com.google.protobuf.GeneratedMessage.writeString(output, 3, ruleDescription_);
        }
        getUnknownFields().writeTo(output);
      }

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

        size = 0;
        if (((bitField0_ & 0x00000001) != 0)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(1, accountId_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += com.google.protobuf.CodedOutputStream
            .computeFloatSize(2, revenuePercentage_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          size += com.google.protobuf.GeneratedMessage.computeStringSize(3, ruleDescription_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule)) {
          return super.equals(obj);
        }
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule) obj;

        if (hasAccountId() != other.hasAccountId()) return false;
        if (hasAccountId()) {
          if (getAccountId()
              != other.getAccountId()) return false;
        }
        if (hasRevenuePercentage() != other.hasRevenuePercentage()) return false;
        if (hasRevenuePercentage()) {
          if (java.lang.Float.floatToIntBits(getRevenuePercentage())
              != java.lang.Float.floatToIntBits(
                  other.getRevenuePercentage())) return false;
        }
        if (hasRuleDescription() != other.hasRuleDescription()) return false;
        if (hasRuleDescription()) {
          if (!getRuleDescription()
              .equals(other.getRuleDescription())) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasAccountId()) {
          hash = (37 * hash) + ACCOUNT_ID_FIELD_NUMBER;
          hash = (53 * hash) + getAccountId();
        }
        if (hasRevenuePercentage()) {
          hash = (37 * hash) + REVENUE_PERCENTAGE_FIELD_NUMBER;
          hash = (53 * hash) + java.lang.Float.floatToIntBits(
              getRevenuePercentage());
        }
        if (hasRuleDescription()) {
          hash = (37 * hash) + RULE_DESCRIPTION_FIELD_NUMBER;
          hash = (53 * hash) + getRuleDescription().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseWithIOException(PARSER, input);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseWithIOException(PARSER, input);
      }
      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder implements
          // @@protoc_insertion_point(builder_implements:CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule)
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRuleOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule.Builder.class);
        }

        // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule.newBuilder()
        private Builder() {

        }

        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          accountId_ = 0;
          revenuePercentage_ = 0F;
          ruleDescription_ = "";
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule_descriptor;
        }

        @java.lang.Override
        public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule getDefaultInstanceForType() {
          return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule.getDefaultInstance();
        }

        @java.lang.Override
        public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule build() {
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule buildPartial() {
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }

        private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.accountId_ = accountId_;
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.revenuePercentage_ = revenuePercentage_;
            to_bitField0_ |= 0x00000002;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.ruleDescription_ = ruleDescription_;
            to_bitField0_ |= 0x00000004;
          }
          result.bitField0_ |= to_bitField0_;
        }

        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule) {
            return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule other) {
          if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule.getDefaultInstance()) return this;
          if (other.hasAccountId()) {
            setAccountId(other.getAccountId());
          }
          if (other.hasRevenuePercentage()) {
            setRevenuePercentage(other.getRevenuePercentage());
          }
          if (other.hasRuleDescription()) {
            ruleDescription_ = other.ruleDescription_;
            bitField0_ |= 0x00000004;
            onChanged();
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

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

        @java.lang.Override
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 8: {
                  accountId_ = input.readUInt32();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 8
                case 21: {
                  revenuePercentage_ = input.readFloat();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 21
                case 26: {
                  ruleDescription_ = input.readBytes();
                  bitField0_ |= 0x00000004;
                  break;
                } // case 26
                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 int accountId_ ;
        /**
         * optional uint32 account_id = 1;
         * @return Whether the accountId field is set.
         */
        @java.lang.Override
        public boolean hasAccountId() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * optional uint32 account_id = 1;
         * @return The accountId.
         */
        @java.lang.Override
        public int getAccountId() {
          return accountId_;
        }
        /**
         * optional uint32 account_id = 1;
         * @param value The accountId to set.
         * @return This builder for chaining.
         */
        public Builder setAccountId(int value) {

          accountId_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * optional uint32 account_id = 1;
         * @return This builder for chaining.
         */
        public Builder clearAccountId() {
          bitField0_ = (bitField0_ & ~0x00000001);
          accountId_ = 0;
          onChanged();
          return this;
        }

        private float revenuePercentage_ ;
        /**
         * optional float revenue_percentage = 2;
         * @return Whether the revenuePercentage field is set.
         */
        @java.lang.Override
        public boolean hasRevenuePercentage() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * optional float revenue_percentage = 2;
         * @return The revenuePercentage.
         */
        @java.lang.Override
        public float getRevenuePercentage() {
          return revenuePercentage_;
        }
        /**
         * optional float revenue_percentage = 2;
         * @param value The revenuePercentage to set.
         * @return This builder for chaining.
         */
        public Builder setRevenuePercentage(float value) {

          revenuePercentage_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * optional float revenue_percentage = 2;
         * @return This builder for chaining.
         */
        public Builder clearRevenuePercentage() {
          bitField0_ = (bitField0_ & ~0x00000002);
          revenuePercentage_ = 0F;
          onChanged();
          return this;
        }

        private java.lang.Object ruleDescription_ = "";
        /**
         * optional string rule_description = 3;
         * @return Whether the ruleDescription field is set.
         */
        public boolean hasRuleDescription() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * optional string rule_description = 3;
         * @return The ruleDescription.
         */
        public java.lang.String getRuleDescription() {
          java.lang.Object ref = ruleDescription_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            if (bs.isValidUtf8()) {
              ruleDescription_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * optional string rule_description = 3;
         * @return The bytes for ruleDescription.
         */
        public com.google.protobuf.ByteString
            getRuleDescriptionBytes() {
          java.lang.Object ref = ruleDescription_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            ruleDescription_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * optional string rule_description = 3;
         * @param value The ruleDescription to set.
         * @return This builder for chaining.
         */
        public Builder setRuleDescription(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          ruleDescription_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * optional string rule_description = 3;
         * @return This builder for chaining.
         */
        public Builder clearRuleDescription() {
          ruleDescription_ = getDefaultInstance().getRuleDescription();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
          return this;
        }
        /**
         * optional string rule_description = 3;
         * @param value The bytes for ruleDescription to set.
         * @return This builder for chaining.
         */
        public Builder setRuleDescriptionBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          ruleDescription_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule)
      }

      // @@protoc_insertion_point(class_scope:CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule)
      private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule();
      }

      public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser
          PARSER = new com.google.protobuf.AbstractParser() {
        @java.lang.Override
        public PartnerItemPaymentRule 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 parser() {
        return PARSER;
      }

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

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    private int bitField0_;
    public static final int APPID_FIELD_NUMBER = 1;
    private int appid_ = 0;
    /**
     * optional uint32 appid = 1;
     * @return Whether the appid field is set.
     */
    @java.lang.Override
    public boolean hasAppid() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 appid = 1;
     * @return The appid.
     */
    @java.lang.Override
    public int getAppid() {
      return appid_;
    }

    public static final int GAMEITEMID_FIELD_NUMBER = 2;
    private int gameitemid_ = 0;
    /**
     * optional uint32 gameitemid = 2;
     * @return Whether the gameitemid field is set.
     */
    @java.lang.Override
    public boolean hasGameitemid() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint32 gameitemid = 2;
     * @return The gameitemid.
     */
    @java.lang.Override
    public int getGameitemid() {
      return gameitemid_;
    }

    public static final int ASSOCIATED_WORKSHOP_FILES_FIELD_NUMBER = 3;
    @SuppressWarnings("serial")
    private java.util.List associatedWorkshopFiles_;
    /**
     * repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
     */
    @java.lang.Override
    public java.util.List getAssociatedWorkshopFilesList() {
      return associatedWorkshopFiles_;
    }
    /**
     * repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
     */
    @java.lang.Override
    public java.util.List 
        getAssociatedWorkshopFilesOrBuilderList() {
      return associatedWorkshopFiles_;
    }
    /**
     * repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
     */
    @java.lang.Override
    public int getAssociatedWorkshopFilesCount() {
      return associatedWorkshopFiles_.size();
    }
    /**
     * repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule getAssociatedWorkshopFiles(int index) {
      return associatedWorkshopFiles_.get(index);
    }
    /**
     * repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRuleOrBuilder getAssociatedWorkshopFilesOrBuilder(
        int index) {
      return associatedWorkshopFiles_.get(index);
    }

    public static final int PARTNER_ACCOUNTS_FIELD_NUMBER = 4;
    @SuppressWarnings("serial")
    private java.util.List partnerAccounts_;
    /**
     * repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
     */
    @java.lang.Override
    public java.util.List getPartnerAccountsList() {
      return partnerAccounts_;
    }
    /**
     * repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
     */
    @java.lang.Override
    public java.util.List 
        getPartnerAccountsOrBuilderList() {
      return partnerAccounts_;
    }
    /**
     * repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
     */
    @java.lang.Override
    public int getPartnerAccountsCount() {
      return partnerAccounts_.size();
    }
    /**
     * repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule getPartnerAccounts(int index) {
      return partnerAccounts_.get(index);
    }
    /**
     * repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRuleOrBuilder getPartnerAccountsOrBuilder(
        int index) {
      return partnerAccounts_.get(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt32(1, appid_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeUInt32(2, gameitemid_);
      }
      for (int i = 0; i < associatedWorkshopFiles_.size(); i++) {
        output.writeMessage(3, associatedWorkshopFiles_.get(i));
      }
      for (int i = 0; i < partnerAccounts_.size(); i++) {
        output.writeMessage(4, partnerAccounts_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, appid_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, gameitemid_);
      }
      for (int i = 0; i < associatedWorkshopFiles_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, associatedWorkshopFiles_.get(i));
      }
      for (int i = 0; i < partnerAccounts_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, partnerAccounts_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request) obj;

      if (hasAppid() != other.hasAppid()) return false;
      if (hasAppid()) {
        if (getAppid()
            != other.getAppid()) return false;
      }
      if (hasGameitemid() != other.hasGameitemid()) return false;
      if (hasGameitemid()) {
        if (getGameitemid()
            != other.getGameitemid()) return false;
      }
      if (!getAssociatedWorkshopFilesList()
          .equals(other.getAssociatedWorkshopFilesList())) return false;
      if (!getPartnerAccountsList()
          .equals(other.getPartnerAccountsList())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasAppid()) {
        hash = (37 * hash) + APPID_FIELD_NUMBER;
        hash = (53 * hash) + getAppid();
      }
      if (hasGameitemid()) {
        hash = (37 * hash) + GAMEITEMID_FIELD_NUMBER;
        hash = (53 * hash) + getGameitemid();
      }
      if (getAssociatedWorkshopFilesCount() > 0) {
        hash = (37 * hash) + ASSOCIATED_WORKSHOP_FILES_FIELD_NUMBER;
        hash = (53 * hash) + getAssociatedWorkshopFilesList().hashCode();
      }
      if (getPartnerAccountsCount() > 0) {
        hash = (37 * hash) + PARTNER_ACCOUNTS_FIELD_NUMBER;
        hash = (53 * hash) + getPartnerAccountsList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CWorkshop_SetItemPaymentRules_Request}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CWorkshop_SetItemPaymentRules_Request)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_RequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_SetItemPaymentRules_Request_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_SetItemPaymentRules_Request_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        appid_ = 0;
        gameitemid_ = 0;
        if (associatedWorkshopFilesBuilder_ == null) {
          associatedWorkshopFiles_ = java.util.Collections.emptyList();
        } else {
          associatedWorkshopFiles_ = null;
          associatedWorkshopFilesBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        if (partnerAccountsBuilder_ == null) {
          partnerAccounts_ = java.util.Collections.emptyList();
        } else {
          partnerAccounts_ = null;
          partnerAccountsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_SetItemPaymentRules_Request_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request(this);
        buildPartialRepeatedFields(result);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartialRepeatedFields(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request result) {
        if (associatedWorkshopFilesBuilder_ == null) {
          if (((bitField0_ & 0x00000004) != 0)) {
            associatedWorkshopFiles_ = java.util.Collections.unmodifiableList(associatedWorkshopFiles_);
            bitField0_ = (bitField0_ & ~0x00000004);
          }
          result.associatedWorkshopFiles_ = associatedWorkshopFiles_;
        } else {
          result.associatedWorkshopFiles_ = associatedWorkshopFilesBuilder_.build();
        }
        if (partnerAccountsBuilder_ == null) {
          if (((bitField0_ & 0x00000008) != 0)) {
            partnerAccounts_ = java.util.Collections.unmodifiableList(partnerAccounts_);
            bitField0_ = (bitField0_ & ~0x00000008);
          }
          result.partnerAccounts_ = partnerAccounts_;
        } else {
          result.partnerAccounts_ = partnerAccountsBuilder_.build();
        }
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.appid_ = appid_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.gameitemid_ = gameitemid_;
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.getDefaultInstance()) return this;
        if (other.hasAppid()) {
          setAppid(other.getAppid());
        }
        if (other.hasGameitemid()) {
          setGameitemid(other.getGameitemid());
        }
        if (associatedWorkshopFilesBuilder_ == null) {
          if (!other.associatedWorkshopFiles_.isEmpty()) {
            if (associatedWorkshopFiles_.isEmpty()) {
              associatedWorkshopFiles_ = other.associatedWorkshopFiles_;
              bitField0_ = (bitField0_ & ~0x00000004);
            } else {
              ensureAssociatedWorkshopFilesIsMutable();
              associatedWorkshopFiles_.addAll(other.associatedWorkshopFiles_);
            }
            onChanged();
          }
        } else {
          if (!other.associatedWorkshopFiles_.isEmpty()) {
            if (associatedWorkshopFilesBuilder_.isEmpty()) {
              associatedWorkshopFilesBuilder_.dispose();
              associatedWorkshopFilesBuilder_ = null;
              associatedWorkshopFiles_ = other.associatedWorkshopFiles_;
              bitField0_ = (bitField0_ & ~0x00000004);
              associatedWorkshopFilesBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getAssociatedWorkshopFilesFieldBuilder() : null;
            } else {
              associatedWorkshopFilesBuilder_.addAllMessages(other.associatedWorkshopFiles_);
            }
          }
        }
        if (partnerAccountsBuilder_ == null) {
          if (!other.partnerAccounts_.isEmpty()) {
            if (partnerAccounts_.isEmpty()) {
              partnerAccounts_ = other.partnerAccounts_;
              bitField0_ = (bitField0_ & ~0x00000008);
            } else {
              ensurePartnerAccountsIsMutable();
              partnerAccounts_.addAll(other.partnerAccounts_);
            }
            onChanged();
          }
        } else {
          if (!other.partnerAccounts_.isEmpty()) {
            if (partnerAccountsBuilder_.isEmpty()) {
              partnerAccountsBuilder_.dispose();
              partnerAccountsBuilder_ = null;
              partnerAccounts_ = other.partnerAccounts_;
              bitField0_ = (bitField0_ & ~0x00000008);
              partnerAccountsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getPartnerAccountsFieldBuilder() : null;
            } else {
              partnerAccountsBuilder_.addAllMessages(other.partnerAccounts_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                appid_ = input.readUInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 16: {
                gameitemid_ = input.readUInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 26: {
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.parser(),
                        extensionRegistry);
                if (associatedWorkshopFilesBuilder_ == null) {
                  ensureAssociatedWorkshopFilesIsMutable();
                  associatedWorkshopFiles_.add(m);
                } else {
                  associatedWorkshopFilesBuilder_.addMessage(m);
                }
                break;
              } // case 26
              case 34: {
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule.parser(),
                        extensionRegistry);
                if (partnerAccountsBuilder_ == null) {
                  ensurePartnerAccountsIsMutable();
                  partnerAccounts_.add(m);
                } else {
                  partnerAccountsBuilder_.addMessage(m);
                }
                break;
              } // case 34
              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 int appid_ ;
      /**
       * optional uint32 appid = 1;
       * @return Whether the appid field is set.
       */
      @java.lang.Override
      public boolean hasAppid() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 appid = 1;
       * @return The appid.
       */
      @java.lang.Override
      public int getAppid() {
        return appid_;
      }
      /**
       * optional uint32 appid = 1;
       * @param value The appid to set.
       * @return This builder for chaining.
       */
      public Builder setAppid(int value) {

        appid_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint32 appid = 1;
       * @return This builder for chaining.
       */
      public Builder clearAppid() {
        bitField0_ = (bitField0_ & ~0x00000001);
        appid_ = 0;
        onChanged();
        return this;
      }

      private int gameitemid_ ;
      /**
       * optional uint32 gameitemid = 2;
       * @return Whether the gameitemid field is set.
       */
      @java.lang.Override
      public boolean hasGameitemid() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint32 gameitemid = 2;
       * @return The gameitemid.
       */
      @java.lang.Override
      public int getGameitemid() {
        return gameitemid_;
      }
      /**
       * optional uint32 gameitemid = 2;
       * @param value The gameitemid to set.
       * @return This builder for chaining.
       */
      public Builder setGameitemid(int value) {

        gameitemid_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional uint32 gameitemid = 2;
       * @return This builder for chaining.
       */
      public Builder clearGameitemid() {
        bitField0_ = (bitField0_ & ~0x00000002);
        gameitemid_ = 0;
        onChanged();
        return this;
      }

      private java.util.List associatedWorkshopFiles_ =
        java.util.Collections.emptyList();
      private void ensureAssociatedWorkshopFilesIsMutable() {
        if (!((bitField0_ & 0x00000004) != 0)) {
          associatedWorkshopFiles_ = new java.util.ArrayList(associatedWorkshopFiles_);
          bitField0_ |= 0x00000004;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRuleOrBuilder> associatedWorkshopFilesBuilder_;

      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
       */
      public java.util.List getAssociatedWorkshopFilesList() {
        if (associatedWorkshopFilesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(associatedWorkshopFiles_);
        } else {
          return associatedWorkshopFilesBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
       */
      public int getAssociatedWorkshopFilesCount() {
        if (associatedWorkshopFilesBuilder_ == null) {
          return associatedWorkshopFiles_.size();
        } else {
          return associatedWorkshopFilesBuilder_.getCount();
        }
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule getAssociatedWorkshopFiles(int index) {
        if (associatedWorkshopFilesBuilder_ == null) {
          return associatedWorkshopFiles_.get(index);
        } else {
          return associatedWorkshopFilesBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
       */
      public Builder setAssociatedWorkshopFiles(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule value) {
        if (associatedWorkshopFilesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAssociatedWorkshopFilesIsMutable();
          associatedWorkshopFiles_.set(index, value);
          onChanged();
        } else {
          associatedWorkshopFilesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
       */
      public Builder setAssociatedWorkshopFiles(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.Builder builderForValue) {
        if (associatedWorkshopFilesBuilder_ == null) {
          ensureAssociatedWorkshopFilesIsMutable();
          associatedWorkshopFiles_.set(index, builderForValue.build());
          onChanged();
        } else {
          associatedWorkshopFilesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
       */
      public Builder addAssociatedWorkshopFiles(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule value) {
        if (associatedWorkshopFilesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAssociatedWorkshopFilesIsMutable();
          associatedWorkshopFiles_.add(value);
          onChanged();
        } else {
          associatedWorkshopFilesBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
       */
      public Builder addAssociatedWorkshopFiles(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule value) {
        if (associatedWorkshopFilesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAssociatedWorkshopFilesIsMutable();
          associatedWorkshopFiles_.add(index, value);
          onChanged();
        } else {
          associatedWorkshopFilesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
       */
      public Builder addAssociatedWorkshopFiles(
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.Builder builderForValue) {
        if (associatedWorkshopFilesBuilder_ == null) {
          ensureAssociatedWorkshopFilesIsMutable();
          associatedWorkshopFiles_.add(builderForValue.build());
          onChanged();
        } else {
          associatedWorkshopFilesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
       */
      public Builder addAssociatedWorkshopFiles(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.Builder builderForValue) {
        if (associatedWorkshopFilesBuilder_ == null) {
          ensureAssociatedWorkshopFilesIsMutable();
          associatedWorkshopFiles_.add(index, builderForValue.build());
          onChanged();
        } else {
          associatedWorkshopFilesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
       */
      public Builder addAllAssociatedWorkshopFiles(
          java.lang.Iterable values) {
        if (associatedWorkshopFilesBuilder_ == null) {
          ensureAssociatedWorkshopFilesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, associatedWorkshopFiles_);
          onChanged();
        } else {
          associatedWorkshopFilesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
       */
      public Builder clearAssociatedWorkshopFiles() {
        if (associatedWorkshopFilesBuilder_ == null) {
          associatedWorkshopFiles_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
        } else {
          associatedWorkshopFilesBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
       */
      public Builder removeAssociatedWorkshopFiles(int index) {
        if (associatedWorkshopFilesBuilder_ == null) {
          ensureAssociatedWorkshopFilesIsMutable();
          associatedWorkshopFiles_.remove(index);
          onChanged();
        } else {
          associatedWorkshopFilesBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.Builder getAssociatedWorkshopFilesBuilder(
          int index) {
        return getAssociatedWorkshopFilesFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRuleOrBuilder getAssociatedWorkshopFilesOrBuilder(
          int index) {
        if (associatedWorkshopFilesBuilder_ == null) {
          return associatedWorkshopFiles_.get(index);  } else {
          return associatedWorkshopFilesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
       */
      public java.util.List 
           getAssociatedWorkshopFilesOrBuilderList() {
        if (associatedWorkshopFilesBuilder_ != null) {
          return associatedWorkshopFilesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(associatedWorkshopFiles_);
        }
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.Builder addAssociatedWorkshopFilesBuilder() {
        return getAssociatedWorkshopFilesFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.getDefaultInstance());
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.Builder addAssociatedWorkshopFilesBuilder(
          int index) {
        return getAssociatedWorkshopFilesFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.getDefaultInstance());
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
       */
      public java.util.List 
           getAssociatedWorkshopFilesBuilderList() {
        return getAssociatedWorkshopFilesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRuleOrBuilder> 
          getAssociatedWorkshopFilesFieldBuilder() {
        if (associatedWorkshopFilesBuilder_ == null) {
          associatedWorkshopFilesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRuleOrBuilder>(
                  associatedWorkshopFiles_,
                  ((bitField0_ & 0x00000004) != 0),
                  getParentForChildren(),
                  isClean());
          associatedWorkshopFiles_ = null;
        }
        return associatedWorkshopFilesBuilder_;
      }

      private java.util.List partnerAccounts_ =
        java.util.Collections.emptyList();
      private void ensurePartnerAccountsIsMutable() {
        if (!((bitField0_ & 0x00000008) != 0)) {
          partnerAccounts_ = new java.util.ArrayList(partnerAccounts_);
          bitField0_ |= 0x00000008;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRuleOrBuilder> partnerAccountsBuilder_;

      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
       */
      public java.util.List getPartnerAccountsList() {
        if (partnerAccountsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(partnerAccounts_);
        } else {
          return partnerAccountsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
       */
      public int getPartnerAccountsCount() {
        if (partnerAccountsBuilder_ == null) {
          return partnerAccounts_.size();
        } else {
          return partnerAccountsBuilder_.getCount();
        }
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule getPartnerAccounts(int index) {
        if (partnerAccountsBuilder_ == null) {
          return partnerAccounts_.get(index);
        } else {
          return partnerAccountsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
       */
      public Builder setPartnerAccounts(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule value) {
        if (partnerAccountsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePartnerAccountsIsMutable();
          partnerAccounts_.set(index, value);
          onChanged();
        } else {
          partnerAccountsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
       */
      public Builder setPartnerAccounts(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule.Builder builderForValue) {
        if (partnerAccountsBuilder_ == null) {
          ensurePartnerAccountsIsMutable();
          partnerAccounts_.set(index, builderForValue.build());
          onChanged();
        } else {
          partnerAccountsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
       */
      public Builder addPartnerAccounts(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule value) {
        if (partnerAccountsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePartnerAccountsIsMutable();
          partnerAccounts_.add(value);
          onChanged();
        } else {
          partnerAccountsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
       */
      public Builder addPartnerAccounts(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule value) {
        if (partnerAccountsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePartnerAccountsIsMutable();
          partnerAccounts_.add(index, value);
          onChanged();
        } else {
          partnerAccountsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
       */
      public Builder addPartnerAccounts(
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule.Builder builderForValue) {
        if (partnerAccountsBuilder_ == null) {
          ensurePartnerAccountsIsMutable();
          partnerAccounts_.add(builderForValue.build());
          onChanged();
        } else {
          partnerAccountsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
       */
      public Builder addPartnerAccounts(
          int index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule.Builder builderForValue) {
        if (partnerAccountsBuilder_ == null) {
          ensurePartnerAccountsIsMutable();
          partnerAccounts_.add(index, builderForValue.build());
          onChanged();
        } else {
          partnerAccountsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
       */
      public Builder addAllPartnerAccounts(
          java.lang.Iterable values) {
        if (partnerAccountsBuilder_ == null) {
          ensurePartnerAccountsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, partnerAccounts_);
          onChanged();
        } else {
          partnerAccountsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
       */
      public Builder clearPartnerAccounts() {
        if (partnerAccountsBuilder_ == null) {
          partnerAccounts_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
          onChanged();
        } else {
          partnerAccountsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
       */
      public Builder removePartnerAccounts(int index) {
        if (partnerAccountsBuilder_ == null) {
          ensurePartnerAccountsIsMutable();
          partnerAccounts_.remove(index);
          onChanged();
        } else {
          partnerAccountsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule.Builder getPartnerAccountsBuilder(
          int index) {
        return getPartnerAccountsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRuleOrBuilder getPartnerAccountsOrBuilder(
          int index) {
        if (partnerAccountsBuilder_ == null) {
          return partnerAccounts_.get(index);  } else {
          return partnerAccountsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
       */
      public java.util.List 
           getPartnerAccountsOrBuilderList() {
        if (partnerAccountsBuilder_ != null) {
          return partnerAccountsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(partnerAccounts_);
        }
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule.Builder addPartnerAccountsBuilder() {
        return getPartnerAccountsFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule.getDefaultInstance());
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
       */
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule.Builder addPartnerAccountsBuilder(
          int index) {
        return getPartnerAccountsFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule.getDefaultInstance());
      }
      /**
       * repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
       */
      public java.util.List 
           getPartnerAccountsBuilderList() {
        return getPartnerAccountsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRuleOrBuilder> 
          getPartnerAccountsFieldBuilder() {
        if (partnerAccountsBuilder_ == null) {
          partnerAccountsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule.Builder, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRuleOrBuilder>(
                  partnerAccounts_,
                  ((bitField0_ & 0x00000008) != 0),
                  getParentForChildren(),
                  isClean());
          partnerAccounts_ = null;
        }
        return partnerAccountsBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CWorkshop_SetItemPaymentRules_Request)
    }

    // @@protoc_insertion_point(class_scope:CWorkshop_SetItemPaymentRules_Request)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CWorkshop_SetItemPaymentRules_Request 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Request getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CWorkshop_SetItemPaymentRules_ResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:CWorkshop_SetItemPaymentRules_Response)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * Protobuf type {@code CWorkshop_SetItemPaymentRules_Response}
   */
  public static final class CWorkshop_SetItemPaymentRules_Response extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CWorkshop_SetItemPaymentRules_Response)
      CWorkshop_SetItemPaymentRules_ResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        CWorkshop_SetItemPaymentRules_Response.class.getName());
    }
    // Use CWorkshop_SetItemPaymentRules_Response.newBuilder() to construct.
    private CWorkshop_SetItemPaymentRules_Response(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CWorkshop_SetItemPaymentRules_Response() {
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_SetItemPaymentRules_Response_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_SetItemPaymentRules_Response_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response.Builder.class);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response other = (in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response) obj;

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

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

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CWorkshop_SetItemPaymentRules_Response}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CWorkshop_SetItemPaymentRules_Response)
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_ResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_SetItemPaymentRules_Response_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_SetItemPaymentRules_Response_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response.class, in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response.Builder.class);
      }

      // Construct using in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.internal_static_CWorkshop_SetItemPaymentRules_Response_descriptor;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response getDefaultInstanceForType() {
        return in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response.getDefaultInstance();
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response build() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response buildPartial() {
        in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response result = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              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;
      }

      // @@protoc_insertion_point(builder_scope:CWorkshop_SetItemPaymentRules_Response)
    }

    // @@protoc_insertion_point(class_scope:CWorkshop_SetItemPaymentRules_Response)
    private static final in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response();
    }

    public static in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public CWorkshop_SetItemPaymentRules_Response 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 parser() {
      return PARSER;
    }

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

    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.BaseGcmessages.CWorkshop_SetItemPaymentRules_Response getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CGCStorePurchaseInit_LineItem_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CGCStorePurchaseInit_LineItem_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgGCStorePurchaseInit_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgGCStorePurchaseInit_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgGCStorePurchaseInitResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgGCStorePurchaseInitResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgSystemBroadcast_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgSystemBroadcast_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgClientHello_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgClientHello_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgServerHello_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgServerHello_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgClientWelcome_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgClientWelcome_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgServerWelcome_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgServerWelcome_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgClientGoodbye_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgClientGoodbye_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgServerGoodbye_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgServerGoodbye_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgServerAvailable_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgServerAvailable_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgLANServerAvailable_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgLANServerAvailable_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CSOEconGameAccountClient_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSOEconGameAccountClient_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CSOItemCriteriaCondition_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSOItemCriteriaCondition_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CSOItemCriteria_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSOItemCriteria_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CSOItemRecipe_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSOItemRecipe_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgDevNewItemRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgDevNewItemRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgDevDebugRollLootRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgDevDebugRollLootRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgIncrementKillCountAttribute_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgIncrementKillCountAttribute_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgIncrementKillCountAttribute_Multiple_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgIncrementKillCountAttribute_Multiple_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgTrackUniquePlayerPairEvent_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgTrackUniquePlayerPairEvent_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgApplyStrangeCountTransfer_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgApplyStrangeCountTransfer_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgApplyStrangePart_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgApplyStrangePart_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgApplyStrangeRestriction_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgApplyStrangeRestriction_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgApplyUpgradeCard_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgApplyUpgradeCard_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CSOEconItemAttribute_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSOEconItemAttribute_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CSOEconItemEquipped_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSOEconItemEquipped_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CSOEconItem_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSOEconItem_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgAdjustItemEquippedState_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgAdjustItemEquippedState_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgSortItems_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgSortItems_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CSOEconClaimCode_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSOEconClaimCode_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgStoreGetUserData_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgStoreGetUserData_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgStoreGetUserDataResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgStoreGetUserDataResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgUpdateItemSchema_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgUpdateItemSchema_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgGCError_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgGCError_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgRequestInventoryRefresh_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgRequestInventoryRefresh_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgConVarValue_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgConVarValue_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgReplicateConVars_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgReplicateConVars_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgUseItem_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgUseItem_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgReplayUploadedToYouTube_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgReplayUploadedToYouTube_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgConsumableExhausted_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgConsumableExhausted_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgItemAcknowledged_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgItemAcknowledged_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgSetPresetItemPosition_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgSetPresetItemPosition_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgSetItemPositions_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgSetItemPositions_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgSetItemPositions_ItemPosition_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgSetItemPositions_ItemPosition_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CSOEconItemPresetInstance_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSOEconItemPresetInstance_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgSelectPresetForClass_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgSelectPresetForClass_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CSOClassPresetClientData_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSOClassPresetClientData_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgGCReportAbuse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgGCReportAbuse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgGCReportAbuseResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgGCReportAbuseResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgGCNameItemNotification_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgGCNameItemNotification_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgGCClientDisplayNotification_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgGCClientDisplayNotification_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgGCShowItemsPickedUp_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgGCShowItemsPickedUp_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgUpdatePeriodicEvent_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgUpdatePeriodicEvent_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgGCIncrementKillCountResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgGCIncrementKillCountResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgGCRemoveStrangePart_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgGCRemoveStrangePart_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgGCRemoveUpgradeCard_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgGCRemoveUpgradeCard_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgGCRemoveCustomizationAttributeSimple_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgGCRemoveCustomizationAttributeSimple_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgGCResetStrangeScores_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgGCResetStrangeScores_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgGCItemPreviewItemBoughtNotification_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgGCItemPreviewItemBoughtNotification_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgGCStorePurchaseCancel_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgGCStorePurchaseCancel_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgGCStorePurchaseCancelResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgGCStorePurchaseCancelResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgGCStorePurchaseFinalize_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgGCStorePurchaseFinalize_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgGCStorePurchaseFinalizeResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgGCStorePurchaseFinalizeResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgGCBannedWordListRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgGCBannedWordListRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgGCGiftedItems_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgGCGiftedItems_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgGCCollectItem_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgGCCollectItem_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgGCClientMarketDataRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgGCClientMarketDataRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgGCClientMarketDataEntry_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgGCClientMarketDataEntry_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgGCClientMarketData_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgGCClientMarketData_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgApplyToolToItem_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgApplyToolToItem_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgApplyToolToBaseItem_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgApplyToolToBaseItem_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgRecipeComponent_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgRecipeComponent_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgFulfillDynamicRecipeComponent_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgFulfillDynamicRecipeComponent_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgSetItemEffectVerticalOffset_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgSetItemEffectVerticalOffset_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgSetHatEffectUseHeadOrigin_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgSetHatEffectUseHeadOrigin_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgDeliverGiftResponseGiver_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgDeliverGiftResponseGiver_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CSOEconGameAccountForGameServers_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CSOEconGameAccountForGameServers_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CWorkshop_PopulateItemDescriptions_Request_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CWorkshop_PopulateItemDescriptions_Request_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CWorkshop_GetContributors_Request_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CWorkshop_GetContributors_Request_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CWorkshop_GetContributors_Response_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CWorkshop_GetContributors_Response_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CWorkshop_SetItemPaymentRules_Request_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CWorkshop_SetItemPaymentRules_Request_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CWorkshop_SetItemPaymentRules_Response_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CWorkshop_SetItemPaymentRules_Response_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n9in/dragonbra/javasteam/protobufs/tf/ba" +
      "se_gcmessages.proto\0327in/dragonbra/javast" +
      "eam/protobufs/tf/steammessages.proto\032?in" +
      "/dragonbra/javasteam/protobufs/tf/tf_pro" +
      "to_def_messages.proto\"}\n\035CGCStorePurchas" +
      "eInit_LineItem\022\023\n\013item_def_id\030\001 \001(\r\022\020\n\010q" +
      "uantity\030\002 \001(\r\022\036\n\026cost_in_local_currency\030" +
      "\003 \001(\r\022\025\n\rpurchase_type\030\004 \001(\r\"\202\001\n\027CMsgGCS" +
      "torePurchaseInit\022\017\n\007country\030\001 \001(\t\022\020\n\010lan" +
      "guage\030\002 \001(\005\022\020\n\010currency\030\003 \001(\005\0222\n\nline_it" +
      "ems\030\004 \003(\0132\036.CGCStorePurchaseInit_LineIte" +
      "m\"A\n\037CMsgGCStorePurchaseInitResponse\022\016\n\006" +
      "result\030\001 \001(\005\022\016\n\006txn_id\030\002 \001(\004\"&\n\023CMsgSyst" +
      "emBroadcast\022\017\n\007message\030\001 \001(\t\"\"\n\017CMsgClie" +
      "ntHello\022\017\n\007version\030\001 \001(\r\"\"\n\017CMsgServerHe" +
      "llo\022\017\n\007version\030\001 \001(\r\"Q\n\021CMsgClientWelcom" +
      "e\022\017\n\007version\030\001 \001(\r\022\021\n\tgame_data\030\002 \001(\014\022\030\n" +
      "\020txn_country_code\030\003 \001(\t\"H\n\021CMsgServerWel" +
      "come\022\033\n\023min_allowed_version\030\001 \001(\r\022\026\n\016act" +
      "ive_version\030\002 \001(\r\"T\n\021CMsgClientGoodbye\022?" +
      "\n\006reason\030\001 \001(\0162\020.GCGoodbyeReason:\035GCGood" +
      "byeReason_GC_GOING_DOWN\"T\n\021CMsgServerGoo" +
      "dbye\022?\n\006reason\030\001 \001(\0162\020.GCGoodbyeReason:\035" +
      "GCGoodbyeReason_GC_GOING_DOWN\"\025\n\023CMsgSer" +
      "verAvailable\"*\n\026CMsgLANServerAvailable\022\020" +
      "\n\010lobby_id\030\001 \001(\006\"\346\007\n\030CSOEconGameAccountC" +
      "lient\022$\n\031additional_backpack_slots\030\001 \001(\r" +
      ":\0010\022\034\n\rtrial_account\030\002 \001(\010:\005false\022*\n\"nee" +
      "d_to_choose_most_helpful_friend\030\004 \001(\010\022\027\n" +
      "\017in_coaches_list\030\005 \001(\010\022\034\n\024trade_ban_expi" +
      "ration\030\006 \001(\007\022\033\n\023duel_ban_expiration\030\007 \001(" +
      "\007\022\033\n\020preview_item_def\030\010 \001(\r:\0010\022\035\n\016phone_" +
      "verified\030\023 \001(\010:\005false\022\030\n\020skill_rating_6v" +
      "6\030\024 \001(\r\022\030\n\020skill_rating_9v9\030\025 \001(\r\022!\n\022com" +
      "petitive_access\030\027 \001(\010:\005false\022)\n!matchmak" +
      "ing_ranked_ban_expiration\030\022 \001(\r\0222\n*match" +
      "making_ranked_low_priority_expiration\030\030 " +
      "\001(\r\022,\n$matchmaking_ranked_ban_last_durat" +
      "ion\030\031 \001(\r\0225\n-matchmaking_ranked_low_prio" +
      "rity_last_duration\030\032 \001(\r\022)\n!matchmaking_" +
      "casual_ban_expiration\030\033 \001(\r\0222\n*matchmaki" +
      "ng_casual_low_priority_expiration\030\034 \001(\r\022" +
      ",\n$matchmaking_casual_ban_last_duration\030" +
      "\035 \001(\r\0225\n-matchmaking_casual_low_priority" +
      "_last_duration\030\036 \001(\r\022 \n\021phone_identifyin" +
      "g\030\037 \001(\010:\005false\022+\n\034disable_party_quest_pr" +
      "ogress\030  \001(\010:\005false\022\034\n\024quest_reward_cred" +
      "its\030! \001(\r\022?\n7matchmaking_last_casual_exc" +
      "essive_reports_auto_ban_time\030\" \001(\r\022=\n5ma" +
      "tchmaking_last_comp_excessive_reports_au" +
      "to_ban_time\030# \001(\r\"r\n\030CSOItemCriteriaCond" +
      "ition\022\n\n\002op\030\001 \001(\005\022\r\n\005field\030\002 \001(\t\022\020\n\010requ" +
      "ired\030\003 \001(\010\022\023\n\013float_value\030\004 \001(\002\022\024\n\014strin" +
      "g_value\030\005 \001(\t\"\250\002\n\017CSOItemCriteria\022\022\n\nite" +
      "m_level\030\001 \001(\r\022\024\n\014item_quality\030\002 \001(\005\022\026\n\016i" +
      "tem_level_set\030\003 \001(\010\022\030\n\020item_quality_set\030" +
      "\004 \001(\010\022\031\n\021initial_inventory\030\005 \001(\r\022\030\n\020init" +
      "ial_quantity\030\006 \001(\r\022\033\n\023ignore_enabled_fla" +
      "g\030\010 \001(\010\022-\n\nconditions\030\t \003(\0132\031.CSOItemCri" +
      "teriaCondition\022\023\n\013recent_only\030\n \001(\010\022\014\n\004t" +
      "ags\030\013 \001(\t\022\025\n\requip_regions\030\014 \001(\t\"\325\003\n\rCSO" +
      "ItemRecipe\022\021\n\tdef_index\030\001 \001(\r\022\014\n\004name\030\002 " +
      "\001(\t\022\013\n\003n_a\030\003 \001(\t\022\023\n\013desc_inputs\030\004 \001(\t\022\024\n" +
      "\014desc_outputs\030\005 \001(\t\022\014\n\004di_a\030\006 \001(\t\022\014\n\004di_" +
      "b\030\007 \001(\t\022\014\n\004di_c\030\010 \001(\t\022\014\n\004do_a\030\t \001(\t\022\014\n\004d" +
      "o_b\030\n \001(\t\022\014\n\004do_c\030\013 \001(\t\022\037\n\027requires_all_" +
      "same_class\030\014 \001(\010\022\036\n\026requires_all_same_sl" +
      "ot\030\r \001(\010\022\036\n\026class_usage_for_output\030\016 \001(\005" +
      "\022\035\n\025slot_usage_for_output\030\017 \001(\005\022\026\n\016set_f" +
      "or_output\030\020 \001(\005\022.\n\024input_items_criteria\030" +
      "\024 \003(\0132\020.CSOItemCriteria\022/\n\025output_items_" +
      "criteria\030\025 \003(\0132\020.CSOItemCriteria\022\036\n\026inpu" +
      "t_item_dupe_counts\030\026 \003(\r\"M\n\025CMsgDevNewIt" +
      "emRequest\022\020\n\010receiver\030\001 \001(\006\022\"\n\010criteria\030" +
      "\002 \001(\0132\020.CSOItemCriteria\"G\n\033CMsgDevDebugR" +
      "ollLootRequest\022\020\n\010receiver\030\001 \001(\006\022\026\n\016loot" +
      "_list_name\030\002 \001(\t\"\221\001\n\037CMsgIncrementKillCo" +
      "untAttribute\022\027\n\017killer_steam_id\030\001 \001(\004\022\027\n" +
      "\017victim_steam_id\030\002 \001(\004\022\017\n\007item_id\030\003 \001(\004\022" +
      "\022\n\nevent_type\030\004 \001(\r\022\027\n\017increment_value\030\005" +
      " \001(\r\"Z\n(CMsgIncrementKillCountAttribute_" +
      "Multiple\022.\n\004msgs\030\001 \003(\0132 .CMsgIncrementKi" +
      "llCountAttribute\"w\n\036CMsgTrackUniquePlaye" +
      "rPairEvent\022\027\n\017killer_steam_id\030\001 \001(\004\022\027\n\017v" +
      "ictim_steam_id\030\002 \001(\004\022\017\n\007item_id\030\003 \001(\004\022\022\n" +
      "\nevent_type\030\004 \001(\r\"j\n\035CMsgApplyStrangeCou" +
      "ntTransfer\022\024\n\014tool_item_id\030\001 \001(\004\022\030\n\020item" +
      "_src_item_id\030\002 \001(\004\022\031\n\021item_dest_item_id\030" +
      "\003 \001(\004\"J\n\024CMsgApplyStrangePart\022\034\n\024strange" +
      "_part_item_id\030\001 \001(\004\022\024\n\014item_item_id\030\002 \001(" +
      "\004\"m\n\033CMsgApplyStrangeRestriction\022\034\n\024stra" +
      "nge_part_item_id\030\001 \001(\004\022\024\n\014item_item_id\030\002" +
      " \001(\004\022\032\n\022strange_attr_index\030\003 \001(\r\"M\n\024CMsg" +
      "ApplyUpgradeCard\022\034\n\024upgrade_card_item_id" +
      "\030\001 \001(\004\022\027\n\017subject_item_id\030\002 \001(\004\"M\n\024CSOEc" +
      "onItemAttribute\022\021\n\tdef_index\030\001 \001(\r\022\r\n\005va" +
      "lue\030\002 \001(\r\022\023\n\013value_bytes\030\003 \001(\014\":\n\023CSOEco" +
      "nItemEquipped\022\021\n\tnew_class\030\001 \001(\r\022\020\n\010new_" +
      "slot\030\002 \001(\r\"\324\003\n\013CSOEconItem\022\n\n\002id\030\001 \001(\004\022\022" +
      "\n\naccount_id\030\002 \001(\r\022\021\n\tinventory\030\003 \001(\r\022\021\n" +
      "\tdef_index\030\004 \001(\r\022\020\n\010quantity\030\005 \001(\r\022\r\n\005le" +
      "vel\030\006 \001(\r\022\017\n\007quality\030\007 \001(\r\022\020\n\005flags\030\010 \001(" +
      "\r:\0010\022\016\n\006origin\030\t \001(\r\022\023\n\013custom_name\030\n \001(" +
      "\t\022\023\n\013custom_desc\030\013 \001(\t\022(\n\tattribute\030\014 \003(" +
      "\0132\025.CSOEconItemAttribute\022#\n\rinterior_ite" +
      "m\030\r \001(\0132\014.CSOEconItem\022\025\n\006in_use\030\016 \001(\010:\005f" +
      "alse\022\020\n\005style\030\017 \001(\r:\0010\022\026\n\013original_id\030\020 " +
      "\001(\004:\0010\022\037\n\027contains_equipped_state\030\021 \001(\010\022" +
      ",\n\016equipped_state\030\022 \003(\0132\024.CSOEconItemEqu" +
      "ipped\022\"\n\032contains_equipped_state_v2\030\023 \001(" +
      "\010\"S\n\033CMsgAdjustItemEquippedState\022\017\n\007item" +
      "_id\030\001 \001(\004\022\021\n\tnew_class\030\002 \001(\r\022\020\n\010new_slot" +
      "\030\003 \001(\r\"\"\n\rCMsgSortItems\022\021\n\tsort_type\030\001 \001" +
      "(\r\"^\n\020CSOEconClaimCode\022\022\n\naccount_id\030\001 \001" +
      "(\r\022\021\n\tcode_type\030\002 \001(\r\022\025\n\rtime_acquired\030\003" +
      " \001(\r\022\014\n\004code\030\004 \001(\t\"3\n\024CMsgStoreGetUserDa" +
      "ta\022\033\n\023price_sheet_version\030\001 \001(\007\"\224\002\n\034CMsg" +
      "StoreGetUserDataResponse\022\016\n\006result\030\001 \001(\005" +
      "\022\020\n\010currency\030\002 \001(\005\022\017\n\007country\030\003 \001(\t\022\033\n\023p" +
      "rice_sheet_version\030\004 \001(\007\022\032\n\017experiment_d" +
      "ata\030\005 \001(\004:\0010\022\031\n\021featured_item_idx\030\006 \001(\005\022" +
      "#\n\025show_hat_descriptions\030\007 \001(\010:\004true\022\023\n\013" +
      "price_sheet\030\010 \001(\014\022\034\n\021default_item_sort\030\t" +
      " \001(\005:\0010\022\025\n\rpopular_items\030\n \003(\r\"r\n\024CMsgUp" +
      "dateItemSchema\022\022\n\nitems_game\030\001 \001(\014\022\033\n\023it" +
      "em_schema_version\030\002 \001(\007\022\026\n\016items_game_ur" +
      "l\030\003 \001(\t\022\021\n\tsignature\030\004 \001(\014\"!\n\013CMsgGCErro" +
      "r\022\022\n\nerror_text\030\001 \001(\t\"\035\n\033CMsgRequestInve" +
      "ntoryRefresh\".\n\017CMsgConVarValue\022\014\n\004name\030" +
      "\001 \001(\t\022\r\n\005value\030\002 \001(\t\"9\n\024CMsgReplicateCon" +
      "Vars\022!\n\007convars\030\001 \003(\0132\020.CMsgConVarValue\"" +
      "\261\001\n\013CMsgUseItem\022\017\n\007item_id\030\001 \001(\004\022\027\n\017targ" +
      "et_steam_id\030\002 \001(\006\022\037\n\027gift__potential_tar" +
      "gets\030\003 \003(\r\022\030\n\020duel__class_lock\030\004 \001(\r\022\032\n\022" +
      "initiator_steam_id\030\005 \001(\006\022!\n\031itempack__ac" +
      "k_immediately\030\006 \001(\010\"d\n\033CMsgReplayUploade" +
      "dToYouTube\022\023\n\013youtube_url\030\001 \001(\t\022\034\n\024youtu" +
      "be_account_name\030\002 \001(\t\022\022\n\nsession_id\030\003 \001(" +
      "\004\".\n\027CMsgConsumableExhausted\022\023\n\013item_def" +
      "_id\030\001 \001(\005\"\267\001\n\024CMsgItemAcknowledged\022\022\n\nac" +
      "count_id\030\001 \001(\r\022\021\n\tinventory\030\002 \001(\r\022\021\n\tdef" +
      "_index\030\003 \001(\r\022\017\n\007quality\030\004 \001(\r\022\016\n\006rarity\030" +
      "\005 \001(\r\022\016\n\006origin\030\006 \001(\r\022\022\n\nis_strange\030\007 \001(" +
      "\r\022\022\n\nis_unusual\030\010 \001(\r\022\014\n\004wear\030\t \001(\002\"b\n\031C" +
      "MsgSetPresetItemPosition\022\020\n\010class_id\030\001 \001" +
      "(\r\022\021\n\tpreset_id\030\002 \001(\r\022\017\n\007slot_id\030\003 \001(\r\022\017" +
      "\n\007item_id\030\004 \001(\004\"\205\001\n\024CMsgSetItemPositions" +
      "\022:\n\016item_positions\030\001 \003(\0132\".CMsgSetItemPo" +
      "sitions.ItemPosition\0321\n\014ItemPosition\022\017\n\007" +
      "item_id\030\001 \001(\004\022\020\n\010position\030\002 \001(\r\"t\n\031CSOEc" +
      "onItemPresetInstance\022\026\n\010class_id\030\002 \001(\rB\004" +
      "\200\246\035\001\022\027\n\tpreset_id\030\003 \001(\rB\004\200\246\035\001\022\025\n\007slot_id" +
      "\030\004 \001(\rB\004\200\246\035\001\022\017\n\007item_id\030\005 \001(\004\"?\n\030CMsgSel" +
      "ectPresetForClass\022\020\n\010class_id\030\001 \001(\r\022\021\n\tp" +
      "reset_id\030\002 \001(\r\"Z\n\030CSOClassPresetClientDa" +
      "ta\022\022\n\naccount_id\030\001 \001(\r\022\020\n\010class_id\030\002 \001(\r" +
      "\022\030\n\020active_preset_id\030\003 \001(\r\"\270\001\n\021CMsgGCRep" +
      "ortAbuse\022\027\n\017target_steam_id\030\001 \001(\006\022\023\n\013des" +
      "cription\030\004 \001(\t\022\013\n\003gid\030\005 \001(\004\022\022\n\nabuse_typ" +
      "e\030\002 \001(\r\022\024\n\014content_type\030\003 \001(\r\022\035\n\025target_" +
      "game_server_ip\030\006 \001(\007\022\037\n\027target_game_serv" +
      "er_port\030\007 \001(\r\"[\n\031CMsgGCReportAbuseRespon" +
      "se\022\027\n\017target_steam_id\030\001 \001(\006\022\016\n\006result\030\002 " +
      "\001(\r\022\025\n\rerror_message\030\003 \001(\t\"f\n\032CMsgGCName" +
      "ItemNotification\022\026\n\016player_steamid\030\001 \001(\006" +
      "\022\026\n\016item_def_index\030\002 \001(\r\022\030\n\020item_name_cu" +
      "stom\030\003 \001(\t\"\266\001\n\037CMsgGCClientDisplayNotifi" +
      "cation\022+\n#notification_title_localizatio" +
      "n_key\030\001 \001(\t\022*\n\"notification_body_localiz" +
      "ation_key\030\002 \001(\t\022\033\n\023body_substring_keys\030\003" +
      " \003(\t\022\035\n\025body_substring_values\030\004 \003(\t\"1\n\027C" +
      "MsgGCShowItemsPickedUp\022\026\n\016player_steamid" +
      "\030\001 \001(\006\"Q\n\027CMsgUpdatePeriodicEvent\022\022\n\nacc" +
      "ount_id\030\001 \001(\r\022\022\n\nevent_type\030\002 \001(\r\022\016\n\006amo" +
      "unt\030\003 \001(\r\"|\n CMsgGCIncrementKillCountRes" +
      "ponse\022\037\n\021killer_account_id\030\001 \001(\rB\004\200\246\035\001\022\021" +
      "\n\tnum_kills\030\002 \001(\r\022\020\n\010item_def\030\003 \001(\r\022\022\n\nl" +
      "evel_type\030\004 \001(\r\"K\n\027CMsgGCRemoveStrangePa" +
      "rt\022\017\n\007item_id\030\001 \001(\004\022\037\n\027strange_part_scor" +
      "e_type\030\002 \001(\r\"C\n\027CMsgGCRemoveUpgradeCard\022" +
      "\017\n\007item_id\030\001 \001(\004\022\027\n\017attribute_index\030\002 \001(" +
      "\r\";\n(CMsgGCRemoveCustomizationAttributeS" +
      "imple\022\017\n\007item_id\030\001 \001(\004\"+\n\030CMsgGCResetStr" +
      "angeScores\022\017\n\007item_id\030\001 \001(\004\"A\n\'CMsgGCIte" +
      "mPreviewItemBoughtNotification\022\026\n\016item_d" +
      "ef_index\030\001 \001(\r\"+\n\031CMsgGCStorePurchaseCan" +
      "cel\022\016\n\006txn_id\030\001 \001(\004\"3\n!CMsgGCStorePurcha" +
      "seCancelResponse\022\016\n\006result\030\001 \001(\r\"-\n\033CMsg" +
      "GCStorePurchaseFinalize\022\016\n\006txn_id\030\001 \001(\004\"" +
      "G\n#CMsgGCStorePurchaseFinalizeResponse\022\016" +
      "\n\006result\030\001 \001(\r\022\020\n\010item_ids\030\002 \003(\004\"I\n\033CMsg" +
      "GCBannedWordListRequest\022\031\n\021ban_list_grou" +
      "p_id\030\001 \001(\r\022\017\n\007word_id\030\002 \001(\r\"f\n\021CMsgGCGif" +
      "tedItems\022\027\n\017gifter_steam_id\030\001 \001(\004\022\031\n\021was" +
      "_random_person\030\002 \001(\010\022\035\n\025recipient_accoun" +
      "t_ids\030\003 \003(\r\"H\n\021CMsgGCCollectItem\022\032\n\022coll" +
      "ection_item_id\030\001 \001(\004\022\027\n\017subject_item_id\030" +
      "\002 \001(\004\"6\n\035CMsgGCClientMarketDataRequest\022\025" +
      "\n\ruser_currency\030\001 \001(\r\"\210\001\n\033CMsgGCClientMa" +
      "rketDataEntry\022\026\n\016item_def_index\030\001 \001(\r\022\024\n" +
      "\014item_quality\030\002 \001(\r\022\032\n\022item_sell_listing" +
      "s\030\003 \001(\r\022\037\n\027price_in_local_currency\030\004 \001(\r" +
      "\"G\n\026CMsgGCClientMarketData\022-\n\007entries\030\001 " +
      "\003(\0132\034.CMsgGCClientMarketDataEntry\"D\n\023CMs" +
      "gApplyToolToItem\022\024\n\014tool_item_id\030\001 \001(\004\022\027" +
      "\n\017subject_item_id\030\002 \001(\004\"K\n\027CMsgApplyTool" +
      "ToBaseItem\022\024\n\014tool_item_id\030\001 \001(\004\022\032\n\022base" +
      "item_def_index\030\002 \001(\r\"G\n\023CMsgRecipeCompon" +
      "ent\022\027\n\017subject_item_id\030\001 \001(\004\022\027\n\017attribut" +
      "e_index\030\002 \001(\004\"o\n!CMsgFulfillDynamicRecip" +
      "eComponent\022\024\n\014tool_item_id\030\001 \001(\004\0224\n\026cons" +
      "umption_components\030\002 \003(\0132\024.CMsgRecipeCom" +
      "ponent\"B\n\037CMsgSetItemEffectVerticalOffse" +
      "t\022\017\n\007item_id\030\001 \001(\004\022\016\n\006offset\030\002 \001(\002\"B\n\035CM" +
      "sgSetHatEffectUseHeadOrigin\022\017\n\007item_id\030\001" +
      " \001(\004\022\020\n\010use_head\030\002 \001(\010\"T\n\034CMsgDeliverGif" +
      "tResponseGiver\022\025\n\rresponse_code\030\001 \001(\r\022\035\n" +
      "\025receiver_account_name\030\002 \001(\t\"O\n CSOEconG" +
      "ameAccountForGameServers\022+\n\034disable_part" +
      "y_quest_progress\030\006 \001(\010:\005false\"\355\002\n*CWorks" +
      "hop_PopulateItemDescriptions_Request\022\r\n\005" +
      "appid\030\001 \001(\r\022\\\n\tlanguages\030\002 \003(\0132I.CWorksh" +
      "op_PopulateItemDescriptions_Request.Item" +
      "DescriptionsLanguageBlock\032E\n\025SingleItemD" +
      "escription\022\022\n\ngameitemid\030\001 \001(\r\022\030\n\020item_d" +
      "escription\030\002 \001(\t\032\212\001\n\035ItemDescriptionsLan" +
      "guageBlock\022\020\n\010language\030\001 \001(\t\022W\n\014descript" +
      "ions\030\002 \003(\0132A.CWorkshop_PopulateItemDescr" +
      "iptions_Request.SingleItemDescription\"F\n" +
      "!CWorkshop_GetContributors_Request\022\r\n\005ap" +
      "pid\030\001 \001(\r\022\022\n\ngameitemid\030\002 \001(\r\":\n\"CWorksh" +
      "op_GetContributors_Response\022\024\n\014contribut" +
      "ors\030\001 \003(\006\"\325\003\n%CWorkshop_SetItemPaymentRu" +
      "les_Request\022\r\n\005appid\030\001 \001(\r\022\022\n\ngameitemid" +
      "\030\002 \001(\r\022a\n\031associated_workshop_files\030\003 \003(" +
      "\0132>.CWorkshop_SetItemPaymentRules_Reques" +
      "t.WorkshopItemPaymentRule\022W\n\020partner_acc" +
      "ounts\030\004 \003(\0132=.CWorkshop_SetItemPaymentRu" +
      "les_Request.PartnerItemPaymentRule\032i\n\027Wo" +
      "rkshopItemPaymentRule\022\030\n\020workshop_file_i" +
      "d\030\001 \001(\004\022\032\n\022revenue_percentage\030\002 \001(\002\022\030\n\020r" +
      "ule_description\030\003 \001(\t\032b\n\026PartnerItemPaym" +
      "entRule\022\022\n\naccount_id\030\001 \001(\r\022\032\n\022revenue_p" +
      "ercentage\030\002 \001(\002\022\030\n\020rule_description\030\003 \001(" +
      "\t\"(\n&CWorkshop_SetItemPaymentRules_Respo" +
      "nse*\236\002\n\nEGCBaseMsg\022\032\n\025k_EMsgGCSystemMess" +
      "age\020\241\037\022\035\n\030k_EMsgGCReplicateConVars\020\242\037\022\032\n" +
      "\025k_EMsgGCConVarUpdated\020\243\037\022\034\n\027k_EMsgGCSer" +
      "verAvailable\020\232#\022\"\n\035k_EMsgGCClientConnect" +
      "ToServer\020\233#\022\033\n\026k_EMsgGCGameServerInfo\020\234#" +
      "\022\022\n\rk_EMsgGCError\020\235#\022%\n k_EMsgGCReplay_U" +
      "ploadedToYouTube\020\236#\022\037\n\032k_EMsgGCLANServer" +
      "Available\020\237#*Y\n\027EGCBaseProtoObjectTypes\022" +
      "\036\n\031k_EProtoObjectPartyInvite\020\351\007\022\036\n\031k_EPr" +
      "otoObjectLobbyInvite\020\352\007*T\n\017GCGoodbyeReas" +
      "on\022!\n\035GCGoodbyeReason_GC_GOING_DOWN\020\001\022\036\n" +
      "\032GCGoodbyeReason_NO_SESSION\020\002B*\n#in.drag" +
      "onbra.javasteam.protobufs.tfH\001\210\001\000"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          in.dragonbra.javasteam.protobufs.tf.Steammessages.getDescriptor(),
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.getDescriptor(),
        });
    internal_static_CGCStorePurchaseInit_LineItem_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_CGCStorePurchaseInit_LineItem_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CGCStorePurchaseInit_LineItem_descriptor,
        new java.lang.String[] { "ItemDefId", "Quantity", "CostInLocalCurrency", "PurchaseType", });
    internal_static_CMsgGCStorePurchaseInit_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_CMsgGCStorePurchaseInit_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgGCStorePurchaseInit_descriptor,
        new java.lang.String[] { "Country", "Language", "Currency", "LineItems", });
    internal_static_CMsgGCStorePurchaseInitResponse_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_CMsgGCStorePurchaseInitResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgGCStorePurchaseInitResponse_descriptor,
        new java.lang.String[] { "Result", "TxnId", });
    internal_static_CMsgSystemBroadcast_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_CMsgSystemBroadcast_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgSystemBroadcast_descriptor,
        new java.lang.String[] { "Message", });
    internal_static_CMsgClientHello_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_CMsgClientHello_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgClientHello_descriptor,
        new java.lang.String[] { "Version", });
    internal_static_CMsgServerHello_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_CMsgServerHello_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgServerHello_descriptor,
        new java.lang.String[] { "Version", });
    internal_static_CMsgClientWelcome_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_CMsgClientWelcome_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgClientWelcome_descriptor,
        new java.lang.String[] { "Version", "GameData", "TxnCountryCode", });
    internal_static_CMsgServerWelcome_descriptor =
      getDescriptor().getMessageTypes().get(7);
    internal_static_CMsgServerWelcome_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgServerWelcome_descriptor,
        new java.lang.String[] { "MinAllowedVersion", "ActiveVersion", });
    internal_static_CMsgClientGoodbye_descriptor =
      getDescriptor().getMessageTypes().get(8);
    internal_static_CMsgClientGoodbye_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgClientGoodbye_descriptor,
        new java.lang.String[] { "Reason", });
    internal_static_CMsgServerGoodbye_descriptor =
      getDescriptor().getMessageTypes().get(9);
    internal_static_CMsgServerGoodbye_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgServerGoodbye_descriptor,
        new java.lang.String[] { "Reason", });
    internal_static_CMsgServerAvailable_descriptor =
      getDescriptor().getMessageTypes().get(10);
    internal_static_CMsgServerAvailable_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgServerAvailable_descriptor,
        new java.lang.String[] { });
    internal_static_CMsgLANServerAvailable_descriptor =
      getDescriptor().getMessageTypes().get(11);
    internal_static_CMsgLANServerAvailable_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgLANServerAvailable_descriptor,
        new java.lang.String[] { "LobbyId", });
    internal_static_CSOEconGameAccountClient_descriptor =
      getDescriptor().getMessageTypes().get(12);
    internal_static_CSOEconGameAccountClient_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CSOEconGameAccountClient_descriptor,
        new java.lang.String[] { "AdditionalBackpackSlots", "TrialAccount", "NeedToChooseMostHelpfulFriend", "InCoachesList", "TradeBanExpiration", "DuelBanExpiration", "PreviewItemDef", "PhoneVerified", "SkillRating6V6", "SkillRating9V9", "CompetitiveAccess", "MatchmakingRankedBanExpiration", "MatchmakingRankedLowPriorityExpiration", "MatchmakingRankedBanLastDuration", "MatchmakingRankedLowPriorityLastDuration", "MatchmakingCasualBanExpiration", "MatchmakingCasualLowPriorityExpiration", "MatchmakingCasualBanLastDuration", "MatchmakingCasualLowPriorityLastDuration", "PhoneIdentifying", "DisablePartyQuestProgress", "QuestRewardCredits", "MatchmakingLastCasualExcessiveReportsAutoBanTime", "MatchmakingLastCompExcessiveReportsAutoBanTime", });
    internal_static_CSOItemCriteriaCondition_descriptor =
      getDescriptor().getMessageTypes().get(13);
    internal_static_CSOItemCriteriaCondition_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CSOItemCriteriaCondition_descriptor,
        new java.lang.String[] { "Op", "Field", "Required", "FloatValue", "StringValue", });
    internal_static_CSOItemCriteria_descriptor =
      getDescriptor().getMessageTypes().get(14);
    internal_static_CSOItemCriteria_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CSOItemCriteria_descriptor,
        new java.lang.String[] { "ItemLevel", "ItemQuality", "ItemLevelSet", "ItemQualitySet", "InitialInventory", "InitialQuantity", "IgnoreEnabledFlag", "Conditions", "RecentOnly", "Tags", "EquipRegions", });
    internal_static_CSOItemRecipe_descriptor =
      getDescriptor().getMessageTypes().get(15);
    internal_static_CSOItemRecipe_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CSOItemRecipe_descriptor,
        new java.lang.String[] { "DefIndex", "Name", "NA", "DescInputs", "DescOutputs", "DiA", "DiB", "DiC", "DoA", "DoB", "DoC", "RequiresAllSameClass", "RequiresAllSameSlot", "ClassUsageForOutput", "SlotUsageForOutput", "SetForOutput", "InputItemsCriteria", "OutputItemsCriteria", "InputItemDupeCounts", });
    internal_static_CMsgDevNewItemRequest_descriptor =
      getDescriptor().getMessageTypes().get(16);
    internal_static_CMsgDevNewItemRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgDevNewItemRequest_descriptor,
        new java.lang.String[] { "Receiver", "Criteria", });
    internal_static_CMsgDevDebugRollLootRequest_descriptor =
      getDescriptor().getMessageTypes().get(17);
    internal_static_CMsgDevDebugRollLootRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgDevDebugRollLootRequest_descriptor,
        new java.lang.String[] { "Receiver", "LootListName", });
    internal_static_CMsgIncrementKillCountAttribute_descriptor =
      getDescriptor().getMessageTypes().get(18);
    internal_static_CMsgIncrementKillCountAttribute_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgIncrementKillCountAttribute_descriptor,
        new java.lang.String[] { "KillerSteamId", "VictimSteamId", "ItemId", "EventType", "IncrementValue", });
    internal_static_CMsgIncrementKillCountAttribute_Multiple_descriptor =
      getDescriptor().getMessageTypes().get(19);
    internal_static_CMsgIncrementKillCountAttribute_Multiple_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgIncrementKillCountAttribute_Multiple_descriptor,
        new java.lang.String[] { "Msgs", });
    internal_static_CMsgTrackUniquePlayerPairEvent_descriptor =
      getDescriptor().getMessageTypes().get(20);
    internal_static_CMsgTrackUniquePlayerPairEvent_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgTrackUniquePlayerPairEvent_descriptor,
        new java.lang.String[] { "KillerSteamId", "VictimSteamId", "ItemId", "EventType", });
    internal_static_CMsgApplyStrangeCountTransfer_descriptor =
      getDescriptor().getMessageTypes().get(21);
    internal_static_CMsgApplyStrangeCountTransfer_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgApplyStrangeCountTransfer_descriptor,
        new java.lang.String[] { "ToolItemId", "ItemSrcItemId", "ItemDestItemId", });
    internal_static_CMsgApplyStrangePart_descriptor =
      getDescriptor().getMessageTypes().get(22);
    internal_static_CMsgApplyStrangePart_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgApplyStrangePart_descriptor,
        new java.lang.String[] { "StrangePartItemId", "ItemItemId", });
    internal_static_CMsgApplyStrangeRestriction_descriptor =
      getDescriptor().getMessageTypes().get(23);
    internal_static_CMsgApplyStrangeRestriction_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgApplyStrangeRestriction_descriptor,
        new java.lang.String[] { "StrangePartItemId", "ItemItemId", "StrangeAttrIndex", });
    internal_static_CMsgApplyUpgradeCard_descriptor =
      getDescriptor().getMessageTypes().get(24);
    internal_static_CMsgApplyUpgradeCard_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgApplyUpgradeCard_descriptor,
        new java.lang.String[] { "UpgradeCardItemId", "SubjectItemId", });
    internal_static_CSOEconItemAttribute_descriptor =
      getDescriptor().getMessageTypes().get(25);
    internal_static_CSOEconItemAttribute_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CSOEconItemAttribute_descriptor,
        new java.lang.String[] { "DefIndex", "Value", "ValueBytes", });
    internal_static_CSOEconItemEquipped_descriptor =
      getDescriptor().getMessageTypes().get(26);
    internal_static_CSOEconItemEquipped_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CSOEconItemEquipped_descriptor,
        new java.lang.String[] { "NewClass", "NewSlot", });
    internal_static_CSOEconItem_descriptor =
      getDescriptor().getMessageTypes().get(27);
    internal_static_CSOEconItem_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CSOEconItem_descriptor,
        new java.lang.String[] { "Id", "AccountId", "Inventory", "DefIndex", "Quantity", "Level", "Quality", "Flags", "Origin", "CustomName", "CustomDesc", "Attribute", "InteriorItem", "InUse", "Style", "OriginalId", "ContainsEquippedState", "EquippedState", "ContainsEquippedStateV2", });
    internal_static_CMsgAdjustItemEquippedState_descriptor =
      getDescriptor().getMessageTypes().get(28);
    internal_static_CMsgAdjustItemEquippedState_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgAdjustItemEquippedState_descriptor,
        new java.lang.String[] { "ItemId", "NewClass", "NewSlot", });
    internal_static_CMsgSortItems_descriptor =
      getDescriptor().getMessageTypes().get(29);
    internal_static_CMsgSortItems_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgSortItems_descriptor,
        new java.lang.String[] { "SortType", });
    internal_static_CSOEconClaimCode_descriptor =
      getDescriptor().getMessageTypes().get(30);
    internal_static_CSOEconClaimCode_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CSOEconClaimCode_descriptor,
        new java.lang.String[] { "AccountId", "CodeType", "TimeAcquired", "Code", });
    internal_static_CMsgStoreGetUserData_descriptor =
      getDescriptor().getMessageTypes().get(31);
    internal_static_CMsgStoreGetUserData_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgStoreGetUserData_descriptor,
        new java.lang.String[] { "PriceSheetVersion", });
    internal_static_CMsgStoreGetUserDataResponse_descriptor =
      getDescriptor().getMessageTypes().get(32);
    internal_static_CMsgStoreGetUserDataResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgStoreGetUserDataResponse_descriptor,
        new java.lang.String[] { "Result", "Currency", "Country", "PriceSheetVersion", "ExperimentData", "FeaturedItemIdx", "ShowHatDescriptions", "PriceSheet", "DefaultItemSort", "PopularItems", });
    internal_static_CMsgUpdateItemSchema_descriptor =
      getDescriptor().getMessageTypes().get(33);
    internal_static_CMsgUpdateItemSchema_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgUpdateItemSchema_descriptor,
        new java.lang.String[] { "ItemsGame", "ItemSchemaVersion", "ItemsGameUrl", "Signature", });
    internal_static_CMsgGCError_descriptor =
      getDescriptor().getMessageTypes().get(34);
    internal_static_CMsgGCError_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgGCError_descriptor,
        new java.lang.String[] { "ErrorText", });
    internal_static_CMsgRequestInventoryRefresh_descriptor =
      getDescriptor().getMessageTypes().get(35);
    internal_static_CMsgRequestInventoryRefresh_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgRequestInventoryRefresh_descriptor,
        new java.lang.String[] { });
    internal_static_CMsgConVarValue_descriptor =
      getDescriptor().getMessageTypes().get(36);
    internal_static_CMsgConVarValue_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgConVarValue_descriptor,
        new java.lang.String[] { "Name", "Value", });
    internal_static_CMsgReplicateConVars_descriptor =
      getDescriptor().getMessageTypes().get(37);
    internal_static_CMsgReplicateConVars_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgReplicateConVars_descriptor,
        new java.lang.String[] { "Convars", });
    internal_static_CMsgUseItem_descriptor =
      getDescriptor().getMessageTypes().get(38);
    internal_static_CMsgUseItem_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgUseItem_descriptor,
        new java.lang.String[] { "ItemId", "TargetSteamId", "GiftPotentialTargets", "DuelClassLock", "InitiatorSteamId", "ItempackAckImmediately", });
    internal_static_CMsgReplayUploadedToYouTube_descriptor =
      getDescriptor().getMessageTypes().get(39);
    internal_static_CMsgReplayUploadedToYouTube_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgReplayUploadedToYouTube_descriptor,
        new java.lang.String[] { "YoutubeUrl", "YoutubeAccountName", "SessionId", });
    internal_static_CMsgConsumableExhausted_descriptor =
      getDescriptor().getMessageTypes().get(40);
    internal_static_CMsgConsumableExhausted_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgConsumableExhausted_descriptor,
        new java.lang.String[] { "ItemDefId", });
    internal_static_CMsgItemAcknowledged_descriptor =
      getDescriptor().getMessageTypes().get(41);
    internal_static_CMsgItemAcknowledged_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgItemAcknowledged_descriptor,
        new java.lang.String[] { "AccountId", "Inventory", "DefIndex", "Quality", "Rarity", "Origin", "IsStrange", "IsUnusual", "Wear", });
    internal_static_CMsgSetPresetItemPosition_descriptor =
      getDescriptor().getMessageTypes().get(42);
    internal_static_CMsgSetPresetItemPosition_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgSetPresetItemPosition_descriptor,
        new java.lang.String[] { "ClassId", "PresetId", "SlotId", "ItemId", });
    internal_static_CMsgSetItemPositions_descriptor =
      getDescriptor().getMessageTypes().get(43);
    internal_static_CMsgSetItemPositions_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgSetItemPositions_descriptor,
        new java.lang.String[] { "ItemPositions", });
    internal_static_CMsgSetItemPositions_ItemPosition_descriptor =
      internal_static_CMsgSetItemPositions_descriptor.getNestedTypes().get(0);
    internal_static_CMsgSetItemPositions_ItemPosition_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgSetItemPositions_ItemPosition_descriptor,
        new java.lang.String[] { "ItemId", "Position", });
    internal_static_CSOEconItemPresetInstance_descriptor =
      getDescriptor().getMessageTypes().get(44);
    internal_static_CSOEconItemPresetInstance_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CSOEconItemPresetInstance_descriptor,
        new java.lang.String[] { "ClassId", "PresetId", "SlotId", "ItemId", });
    internal_static_CMsgSelectPresetForClass_descriptor =
      getDescriptor().getMessageTypes().get(45);
    internal_static_CMsgSelectPresetForClass_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgSelectPresetForClass_descriptor,
        new java.lang.String[] { "ClassId", "PresetId", });
    internal_static_CSOClassPresetClientData_descriptor =
      getDescriptor().getMessageTypes().get(46);
    internal_static_CSOClassPresetClientData_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CSOClassPresetClientData_descriptor,
        new java.lang.String[] { "AccountId", "ClassId", "ActivePresetId", });
    internal_static_CMsgGCReportAbuse_descriptor =
      getDescriptor().getMessageTypes().get(47);
    internal_static_CMsgGCReportAbuse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgGCReportAbuse_descriptor,
        new java.lang.String[] { "TargetSteamId", "Description", "Gid", "AbuseType", "ContentType", "TargetGameServerIp", "TargetGameServerPort", });
    internal_static_CMsgGCReportAbuseResponse_descriptor =
      getDescriptor().getMessageTypes().get(48);
    internal_static_CMsgGCReportAbuseResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgGCReportAbuseResponse_descriptor,
        new java.lang.String[] { "TargetSteamId", "Result", "ErrorMessage", });
    internal_static_CMsgGCNameItemNotification_descriptor =
      getDescriptor().getMessageTypes().get(49);
    internal_static_CMsgGCNameItemNotification_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgGCNameItemNotification_descriptor,
        new java.lang.String[] { "PlayerSteamid", "ItemDefIndex", "ItemNameCustom", });
    internal_static_CMsgGCClientDisplayNotification_descriptor =
      getDescriptor().getMessageTypes().get(50);
    internal_static_CMsgGCClientDisplayNotification_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgGCClientDisplayNotification_descriptor,
        new java.lang.String[] { "NotificationTitleLocalizationKey", "NotificationBodyLocalizationKey", "BodySubstringKeys", "BodySubstringValues", });
    internal_static_CMsgGCShowItemsPickedUp_descriptor =
      getDescriptor().getMessageTypes().get(51);
    internal_static_CMsgGCShowItemsPickedUp_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgGCShowItemsPickedUp_descriptor,
        new java.lang.String[] { "PlayerSteamid", });
    internal_static_CMsgUpdatePeriodicEvent_descriptor =
      getDescriptor().getMessageTypes().get(52);
    internal_static_CMsgUpdatePeriodicEvent_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgUpdatePeriodicEvent_descriptor,
        new java.lang.String[] { "AccountId", "EventType", "Amount", });
    internal_static_CMsgGCIncrementKillCountResponse_descriptor =
      getDescriptor().getMessageTypes().get(53);
    internal_static_CMsgGCIncrementKillCountResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgGCIncrementKillCountResponse_descriptor,
        new java.lang.String[] { "KillerAccountId", "NumKills", "ItemDef", "LevelType", });
    internal_static_CMsgGCRemoveStrangePart_descriptor =
      getDescriptor().getMessageTypes().get(54);
    internal_static_CMsgGCRemoveStrangePart_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgGCRemoveStrangePart_descriptor,
        new java.lang.String[] { "ItemId", "StrangePartScoreType", });
    internal_static_CMsgGCRemoveUpgradeCard_descriptor =
      getDescriptor().getMessageTypes().get(55);
    internal_static_CMsgGCRemoveUpgradeCard_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgGCRemoveUpgradeCard_descriptor,
        new java.lang.String[] { "ItemId", "AttributeIndex", });
    internal_static_CMsgGCRemoveCustomizationAttributeSimple_descriptor =
      getDescriptor().getMessageTypes().get(56);
    internal_static_CMsgGCRemoveCustomizationAttributeSimple_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgGCRemoveCustomizationAttributeSimple_descriptor,
        new java.lang.String[] { "ItemId", });
    internal_static_CMsgGCResetStrangeScores_descriptor =
      getDescriptor().getMessageTypes().get(57);
    internal_static_CMsgGCResetStrangeScores_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgGCResetStrangeScores_descriptor,
        new java.lang.String[] { "ItemId", });
    internal_static_CMsgGCItemPreviewItemBoughtNotification_descriptor =
      getDescriptor().getMessageTypes().get(58);
    internal_static_CMsgGCItemPreviewItemBoughtNotification_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgGCItemPreviewItemBoughtNotification_descriptor,
        new java.lang.String[] { "ItemDefIndex", });
    internal_static_CMsgGCStorePurchaseCancel_descriptor =
      getDescriptor().getMessageTypes().get(59);
    internal_static_CMsgGCStorePurchaseCancel_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgGCStorePurchaseCancel_descriptor,
        new java.lang.String[] { "TxnId", });
    internal_static_CMsgGCStorePurchaseCancelResponse_descriptor =
      getDescriptor().getMessageTypes().get(60);
    internal_static_CMsgGCStorePurchaseCancelResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgGCStorePurchaseCancelResponse_descriptor,
        new java.lang.String[] { "Result", });
    internal_static_CMsgGCStorePurchaseFinalize_descriptor =
      getDescriptor().getMessageTypes().get(61);
    internal_static_CMsgGCStorePurchaseFinalize_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgGCStorePurchaseFinalize_descriptor,
        new java.lang.String[] { "TxnId", });
    internal_static_CMsgGCStorePurchaseFinalizeResponse_descriptor =
      getDescriptor().getMessageTypes().get(62);
    internal_static_CMsgGCStorePurchaseFinalizeResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgGCStorePurchaseFinalizeResponse_descriptor,
        new java.lang.String[] { "Result", "ItemIds", });
    internal_static_CMsgGCBannedWordListRequest_descriptor =
      getDescriptor().getMessageTypes().get(63);
    internal_static_CMsgGCBannedWordListRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgGCBannedWordListRequest_descriptor,
        new java.lang.String[] { "BanListGroupId", "WordId", });
    internal_static_CMsgGCGiftedItems_descriptor =
      getDescriptor().getMessageTypes().get(64);
    internal_static_CMsgGCGiftedItems_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgGCGiftedItems_descriptor,
        new java.lang.String[] { "GifterSteamId", "WasRandomPerson", "RecipientAccountIds", });
    internal_static_CMsgGCCollectItem_descriptor =
      getDescriptor().getMessageTypes().get(65);
    internal_static_CMsgGCCollectItem_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgGCCollectItem_descriptor,
        new java.lang.String[] { "CollectionItemId", "SubjectItemId", });
    internal_static_CMsgGCClientMarketDataRequest_descriptor =
      getDescriptor().getMessageTypes().get(66);
    internal_static_CMsgGCClientMarketDataRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgGCClientMarketDataRequest_descriptor,
        new java.lang.String[] { "UserCurrency", });
    internal_static_CMsgGCClientMarketDataEntry_descriptor =
      getDescriptor().getMessageTypes().get(67);
    internal_static_CMsgGCClientMarketDataEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgGCClientMarketDataEntry_descriptor,
        new java.lang.String[] { "ItemDefIndex", "ItemQuality", "ItemSellListings", "PriceInLocalCurrency", });
    internal_static_CMsgGCClientMarketData_descriptor =
      getDescriptor().getMessageTypes().get(68);
    internal_static_CMsgGCClientMarketData_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgGCClientMarketData_descriptor,
        new java.lang.String[] { "Entries", });
    internal_static_CMsgApplyToolToItem_descriptor =
      getDescriptor().getMessageTypes().get(69);
    internal_static_CMsgApplyToolToItem_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgApplyToolToItem_descriptor,
        new java.lang.String[] { "ToolItemId", "SubjectItemId", });
    internal_static_CMsgApplyToolToBaseItem_descriptor =
      getDescriptor().getMessageTypes().get(70);
    internal_static_CMsgApplyToolToBaseItem_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgApplyToolToBaseItem_descriptor,
        new java.lang.String[] { "ToolItemId", "BaseitemDefIndex", });
    internal_static_CMsgRecipeComponent_descriptor =
      getDescriptor().getMessageTypes().get(71);
    internal_static_CMsgRecipeComponent_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgRecipeComponent_descriptor,
        new java.lang.String[] { "SubjectItemId", "AttributeIndex", });
    internal_static_CMsgFulfillDynamicRecipeComponent_descriptor =
      getDescriptor().getMessageTypes().get(72);
    internal_static_CMsgFulfillDynamicRecipeComponent_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgFulfillDynamicRecipeComponent_descriptor,
        new java.lang.String[] { "ToolItemId", "ConsumptionComponents", });
    internal_static_CMsgSetItemEffectVerticalOffset_descriptor =
      getDescriptor().getMessageTypes().get(73);
    internal_static_CMsgSetItemEffectVerticalOffset_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgSetItemEffectVerticalOffset_descriptor,
        new java.lang.String[] { "ItemId", "Offset", });
    internal_static_CMsgSetHatEffectUseHeadOrigin_descriptor =
      getDescriptor().getMessageTypes().get(74);
    internal_static_CMsgSetHatEffectUseHeadOrigin_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgSetHatEffectUseHeadOrigin_descriptor,
        new java.lang.String[] { "ItemId", "UseHead", });
    internal_static_CMsgDeliverGiftResponseGiver_descriptor =
      getDescriptor().getMessageTypes().get(75);
    internal_static_CMsgDeliverGiftResponseGiver_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgDeliverGiftResponseGiver_descriptor,
        new java.lang.String[] { "ResponseCode", "ReceiverAccountName", });
    internal_static_CSOEconGameAccountForGameServers_descriptor =
      getDescriptor().getMessageTypes().get(76);
    internal_static_CSOEconGameAccountForGameServers_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CSOEconGameAccountForGameServers_descriptor,
        new java.lang.String[] { "DisablePartyQuestProgress", });
    internal_static_CWorkshop_PopulateItemDescriptions_Request_descriptor =
      getDescriptor().getMessageTypes().get(77);
    internal_static_CWorkshop_PopulateItemDescriptions_Request_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CWorkshop_PopulateItemDescriptions_Request_descriptor,
        new java.lang.String[] { "Appid", "Languages", });
    internal_static_CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription_descriptor =
      internal_static_CWorkshop_PopulateItemDescriptions_Request_descriptor.getNestedTypes().get(0);
    internal_static_CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription_descriptor,
        new java.lang.String[] { "Gameitemid", "ItemDescription", });
    internal_static_CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock_descriptor =
      internal_static_CWorkshop_PopulateItemDescriptions_Request_descriptor.getNestedTypes().get(1);
    internal_static_CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock_descriptor,
        new java.lang.String[] { "Language", "Descriptions", });
    internal_static_CWorkshop_GetContributors_Request_descriptor =
      getDescriptor().getMessageTypes().get(78);
    internal_static_CWorkshop_GetContributors_Request_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CWorkshop_GetContributors_Request_descriptor,
        new java.lang.String[] { "Appid", "Gameitemid", });
    internal_static_CWorkshop_GetContributors_Response_descriptor =
      getDescriptor().getMessageTypes().get(79);
    internal_static_CWorkshop_GetContributors_Response_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CWorkshop_GetContributors_Response_descriptor,
        new java.lang.String[] { "Contributors", });
    internal_static_CWorkshop_SetItemPaymentRules_Request_descriptor =
      getDescriptor().getMessageTypes().get(80);
    internal_static_CWorkshop_SetItemPaymentRules_Request_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CWorkshop_SetItemPaymentRules_Request_descriptor,
        new java.lang.String[] { "Appid", "Gameitemid", "AssociatedWorkshopFiles", "PartnerAccounts", });
    internal_static_CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule_descriptor =
      internal_static_CWorkshop_SetItemPaymentRules_Request_descriptor.getNestedTypes().get(0);
    internal_static_CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule_descriptor,
        new java.lang.String[] { "WorkshopFileId", "RevenuePercentage", "RuleDescription", });
    internal_static_CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule_descriptor =
      internal_static_CWorkshop_SetItemPaymentRules_Request_descriptor.getNestedTypes().get(1);
    internal_static_CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule_descriptor,
        new java.lang.String[] { "AccountId", "RevenuePercentage", "RuleDescription", });
    internal_static_CWorkshop_SetItemPaymentRules_Response_descriptor =
      getDescriptor().getMessageTypes().get(81);
    internal_static_CWorkshop_SetItemPaymentRules_Response_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CWorkshop_SetItemPaymentRules_Response_descriptor,
        new java.lang.String[] { });
    descriptor.resolveAllFeaturesImmutable();
    in.dragonbra.javasteam.protobufs.tf.Steammessages.getDescriptor();
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.getDescriptor();
    com.google.protobuf.ExtensionRegistry registry =
        com.google.protobuf.ExtensionRegistry.newInstance();
    registry.add(in.dragonbra.javasteam.protobufs.tf.Steammessages.keyField);
    com.google.protobuf.Descriptors.FileDescriptor
        .internalUpdateFileDescriptor(descriptor, registry);
  }

  // @@protoc_insertion_point(outer_class_scope)
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy