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

in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages 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/tf_proto_def_messages.proto
// Protobuf Java Version: 4.28.0

package in.dragonbra.javasteam.protobufs.tf;

public final class TfProtoDefMessages {
  private TfProtoDefMessages() {}
  static {
    com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
      com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
      /* major= */ 4,
      /* minor= */ 28,
      /* patch= */ 0,
      /* suffix= */ "",
      TfProtoDefMessages.class.getName());
  }
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.startExpanded);
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.validType);
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.editable);
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.localized);
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.doNotInherit);
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.displayName);
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.comment);
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.maxCount);
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.allowAdd);
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.allowDelete);
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.panelClassOverride);
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.messageInherhitanceKeyFieldName);
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.inheritReferenceVariables);
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.selfInheritOnly);
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.varFieldType);
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.mergingKeyField);
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  /**
   * Protobuf enum {@code LogicalOperation}
   */
  public enum LogicalOperation
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * AND = 0;
     */
    AND(0),
    /**
     * OR = 1;
     */
    OR(1),
    /**
     * NOT = 2;
     */
    NOT(2),
    ;

    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        LogicalOperation.class.getName());
    }
    /**
     * AND = 0;
     */
    public static final int AND_VALUE = 0;
    /**
     * OR = 1;
     */
    public static final int OR_VALUE = 1;
    /**
     * NOT = 2;
     */
    public static final int NOT_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 LogicalOperation 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 LogicalOperation forNumber(int value) {
      switch (value) {
        case 0: return AND;
        case 1: return OR;
        case 2: return NOT;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        LogicalOperation> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap() {
            public LogicalOperation findValueByNumber(int number) {
              return LogicalOperation.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.TfProtoDefMessages.getDescriptor().getEnumTypes().get(0);
    }

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

    public static LogicalOperation 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 LogicalOperation(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:LogicalOperation)
  }

  /**
   * Protobuf enum {@code EValueDefinitionSource}
   */
  public enum EValueDefinitionSource
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * REFERENCE_DEFINES = 0;
     */
    REFERENCE_DEFINES(0),
    /**
     * PARENT_DEFINES = 1;
     */
    PARENT_DEFINES(1),
    /**
     * THIS_DEFINES = 2;
     */
    THIS_DEFINES(2),
    /**
     * VARIABLE_DEFINES = 3;
     */
    VARIABLE_DEFINES(3),
    /**
     * NOT_DEFINED = 4;
     */
    NOT_DEFINED(4),
    ;

    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        EValueDefinitionSource.class.getName());
    }
    /**
     * REFERENCE_DEFINES = 0;
     */
    public static final int REFERENCE_DEFINES_VALUE = 0;
    /**
     * PARENT_DEFINES = 1;
     */
    public static final int PARENT_DEFINES_VALUE = 1;
    /**
     * THIS_DEFINES = 2;
     */
    public static final int THIS_DEFINES_VALUE = 2;
    /**
     * VARIABLE_DEFINES = 3;
     */
    public static final int VARIABLE_DEFINES_VALUE = 3;
    /**
     * NOT_DEFINED = 4;
     */
    public static final int NOT_DEFINED_VALUE = 4;


    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 EValueDefinitionSource 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 EValueDefinitionSource forNumber(int value) {
      switch (value) {
        case 0: return REFERENCE_DEFINES;
        case 1: return PARENT_DEFINES;
        case 2: return THIS_DEFINES;
        case 3: return VARIABLE_DEFINES;
        case 4: return NOT_DEFINED;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        EValueDefinitionSource> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap() {
            public EValueDefinitionSource findValueByNumber(int number) {
              return EValueDefinitionSource.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.TfProtoDefMessages.getDescriptor().getEnumTypes().get(1);
    }

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

    public static EValueDefinitionSource 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 EValueDefinitionSource(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:EValueDefinitionSource)
  }

  /**
   * Protobuf enum {@code ProtoDefTypes}
   */
  public enum ProtoDefTypes
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * DEF_TYPE_QUEST_MAP_NODE = 0;
     */
    DEF_TYPE_QUEST_MAP_NODE(0),
    /**
     * DEF_TYPE_QUEST_THEME = 2;
     */
    DEF_TYPE_QUEST_THEME(2),
    /**
     * DEF_TYPE_QUEST_MAP_REGION = 3;
     */
    DEF_TYPE_QUEST_MAP_REGION(3),
    /**
     * DEF_TYPE_QUEST = 4;
     */
    DEF_TYPE_QUEST(4),
    /**
     * DEF_TYPE_QUEST_OBJECTIVE = 5;
     */
    DEF_TYPE_QUEST_OBJECTIVE(5),
    /**
     * DEF_TYPE_PAINTKIT_VARIABLES = 6;
     */
    DEF_TYPE_PAINTKIT_VARIABLES(6),
    /**
     * DEF_TYPE_PAINTKIT_OPERATION = 7;
     */
    DEF_TYPE_PAINTKIT_OPERATION(7),
    /**
     * DEF_TYPE_PAINTKIT_ITEM_DEFINITION = 8;
     */
    DEF_TYPE_PAINTKIT_ITEM_DEFINITION(8),
    /**
     * DEF_TYPE_PAINTKIT_DEFINITION = 9;
     */
    DEF_TYPE_PAINTKIT_DEFINITION(9),
    /**
     * DEF_TYPE_HEADER_ONLY = 10;
     */
    DEF_TYPE_HEADER_ONLY(10),
    /**
     * DEF_TYPE_QUEST_MAP_STORE_ITEM = 11;
     */
    DEF_TYPE_QUEST_MAP_STORE_ITEM(11),
    /**
     * DEF_TYPE_QUEST_MAP_STAR_TYPE = 12;
     */
    DEF_TYPE_QUEST_MAP_STAR_TYPE(12),
    ;

    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        ProtoDefTypes.class.getName());
    }
    /**
     * DEF_TYPE_QUEST_MAP_NODE = 0;
     */
    public static final int DEF_TYPE_QUEST_MAP_NODE_VALUE = 0;
    /**
     * DEF_TYPE_QUEST_THEME = 2;
     */
    public static final int DEF_TYPE_QUEST_THEME_VALUE = 2;
    /**
     * DEF_TYPE_QUEST_MAP_REGION = 3;
     */
    public static final int DEF_TYPE_QUEST_MAP_REGION_VALUE = 3;
    /**
     * DEF_TYPE_QUEST = 4;
     */
    public static final int DEF_TYPE_QUEST_VALUE = 4;
    /**
     * DEF_TYPE_QUEST_OBJECTIVE = 5;
     */
    public static final int DEF_TYPE_QUEST_OBJECTIVE_VALUE = 5;
    /**
     * DEF_TYPE_PAINTKIT_VARIABLES = 6;
     */
    public static final int DEF_TYPE_PAINTKIT_VARIABLES_VALUE = 6;
    /**
     * DEF_TYPE_PAINTKIT_OPERATION = 7;
     */
    public static final int DEF_TYPE_PAINTKIT_OPERATION_VALUE = 7;
    /**
     * DEF_TYPE_PAINTKIT_ITEM_DEFINITION = 8;
     */
    public static final int DEF_TYPE_PAINTKIT_ITEM_DEFINITION_VALUE = 8;
    /**
     * DEF_TYPE_PAINTKIT_DEFINITION = 9;
     */
    public static final int DEF_TYPE_PAINTKIT_DEFINITION_VALUE = 9;
    /**
     * DEF_TYPE_HEADER_ONLY = 10;
     */
    public static final int DEF_TYPE_HEADER_ONLY_VALUE = 10;
    /**
     * DEF_TYPE_QUEST_MAP_STORE_ITEM = 11;
     */
    public static final int DEF_TYPE_QUEST_MAP_STORE_ITEM_VALUE = 11;
    /**
     * DEF_TYPE_QUEST_MAP_STAR_TYPE = 12;
     */
    public static final int DEF_TYPE_QUEST_MAP_STAR_TYPE_VALUE = 12;


    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 ProtoDefTypes 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 ProtoDefTypes forNumber(int value) {
      switch (value) {
        case 0: return DEF_TYPE_QUEST_MAP_NODE;
        case 2: return DEF_TYPE_QUEST_THEME;
        case 3: return DEF_TYPE_QUEST_MAP_REGION;
        case 4: return DEF_TYPE_QUEST;
        case 5: return DEF_TYPE_QUEST_OBJECTIVE;
        case 6: return DEF_TYPE_PAINTKIT_VARIABLES;
        case 7: return DEF_TYPE_PAINTKIT_OPERATION;
        case 8: return DEF_TYPE_PAINTKIT_ITEM_DEFINITION;
        case 9: return DEF_TYPE_PAINTKIT_DEFINITION;
        case 10: return DEF_TYPE_HEADER_ONLY;
        case 11: return DEF_TYPE_QUEST_MAP_STORE_ITEM;
        case 12: return DEF_TYPE_QUEST_MAP_STAR_TYPE;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        ProtoDefTypes> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap() {
            public ProtoDefTypes findValueByNumber(int number) {
              return ProtoDefTypes.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.TfProtoDefMessages.getDescriptor().getEnumTypes().get(2);
    }

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

    public static ProtoDefTypes 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 ProtoDefTypes(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:ProtoDefTypes)
  }

  /**
   * Protobuf enum {@code EQuestPoints}
   */
  public enum EQuestPoints
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * QUEST_POINTS_NOVICE = 0;
     */
    QUEST_POINTS_NOVICE(0),
    /**
     * QUEST_POINTS_ADVANCED = 1;
     */
    QUEST_POINTS_ADVANCED(1),
    /**
     * QUEST_POINTS_EXPERT = 2;
     */
    QUEST_POINTS_EXPERT(2),
    ;

    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        EQuestPoints.class.getName());
    }
    /**
     * QUEST_POINTS_NOVICE = 0;
     */
    public static final int QUEST_POINTS_NOVICE_VALUE = 0;
    /**
     * QUEST_POINTS_ADVANCED = 1;
     */
    public static final int QUEST_POINTS_ADVANCED_VALUE = 1;
    /**
     * QUEST_POINTS_EXPERT = 2;
     */
    public static final int QUEST_POINTS_EXPERT_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 EQuestPoints 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 EQuestPoints forNumber(int value) {
      switch (value) {
        case 0: return QUEST_POINTS_NOVICE;
        case 1: return QUEST_POINTS_ADVANCED;
        case 2: return QUEST_POINTS_EXPERT;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        EQuestPoints> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap() {
            public EQuestPoints findValueByNumber(int number) {
              return EQuestPoints.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.TfProtoDefMessages.getDescriptor().getEnumTypes().get(3);
    }

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

    public static EQuestPoints 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 EQuestPoints(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:EQuestPoints)
  }

  /**
   * Protobuf enum {@code EVarFieldType}
   */
  public enum EVarFieldType
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * VAR_TYPE_INVALID = 1;
     */
    VAR_TYPE_INVALID(1),
    /**
     * VAR_TYPE_FLOAT = 2;
     */
    VAR_TYPE_FLOAT(2),
    /**
     * VAR_TYPE_DOUBLE = 3;
     */
    VAR_TYPE_DOUBLE(3),
    /**
     * VAR_TYPE_UINT32 = 4;
     */
    VAR_TYPE_UINT32(4),
    /**
     * VAR_TYPE_UINT64 = 5;
     */
    VAR_TYPE_UINT64(5),
    /**
     * VAR_TYPE_SINT32 = 6;
     */
    VAR_TYPE_SINT32(6),
    /**
     * VAR_TYPE_SINT64 = 7;
     */
    VAR_TYPE_SINT64(7),
    /**
     * VAR_TYPE_BOOL = 8;
     */
    VAR_TYPE_BOOL(8),
    /**
     * VAR_TYPE_STRING = 9;
     */
    VAR_TYPE_STRING(9),
    ;

    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        EVarFieldType.class.getName());
    }
    /**
     * VAR_TYPE_INVALID = 1;
     */
    public static final int VAR_TYPE_INVALID_VALUE = 1;
    /**
     * VAR_TYPE_FLOAT = 2;
     */
    public static final int VAR_TYPE_FLOAT_VALUE = 2;
    /**
     * VAR_TYPE_DOUBLE = 3;
     */
    public static final int VAR_TYPE_DOUBLE_VALUE = 3;
    /**
     * VAR_TYPE_UINT32 = 4;
     */
    public static final int VAR_TYPE_UINT32_VALUE = 4;
    /**
     * VAR_TYPE_UINT64 = 5;
     */
    public static final int VAR_TYPE_UINT64_VALUE = 5;
    /**
     * VAR_TYPE_SINT32 = 6;
     */
    public static final int VAR_TYPE_SINT32_VALUE = 6;
    /**
     * VAR_TYPE_SINT64 = 7;
     */
    public static final int VAR_TYPE_SINT64_VALUE = 7;
    /**
     * VAR_TYPE_BOOL = 8;
     */
    public static final int VAR_TYPE_BOOL_VALUE = 8;
    /**
     * VAR_TYPE_STRING = 9;
     */
    public static final int VAR_TYPE_STRING_VALUE = 9;


    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 EVarFieldType 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 EVarFieldType forNumber(int value) {
      switch (value) {
        case 1: return VAR_TYPE_INVALID;
        case 2: return VAR_TYPE_FLOAT;
        case 3: return VAR_TYPE_DOUBLE;
        case 4: return VAR_TYPE_UINT32;
        case 5: return VAR_TYPE_UINT64;
        case 6: return VAR_TYPE_SINT32;
        case 7: return VAR_TYPE_SINT64;
        case 8: return VAR_TYPE_BOOL;
        case 9: return VAR_TYPE_STRING;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        EVarFieldType> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap() {
            public EVarFieldType findValueByNumber(int number) {
              return EVarFieldType.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.TfProtoDefMessages.getDescriptor().getEnumTypes().get(4);
    }

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

    public static EVarFieldType 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 EVarFieldType(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:EVarFieldType)
  }

  /**
   * Protobuf enum {@code ENodeCashReward}
   */
  public enum ENodeCashReward
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * CASH_REWARD_NONE = 1;
     */
    CASH_REWARD_NONE(1),
    /**
     * CASH_REWARD_SMALL = 2;
     */
    CASH_REWARD_SMALL(2),
    /**
     * CASH_REWARD_MEDIUM = 3;
     */
    CASH_REWARD_MEDIUM(3),
    /**
     * CASH_REWARD_LARGE = 4;
     */
    CASH_REWARD_LARGE(4),
    ;

    static {
      com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
        /* major= */ 4,
        /* minor= */ 28,
        /* patch= */ 0,
        /* suffix= */ "",
        ENodeCashReward.class.getName());
    }
    /**
     * CASH_REWARD_NONE = 1;
     */
    public static final int CASH_REWARD_NONE_VALUE = 1;
    /**
     * CASH_REWARD_SMALL = 2;
     */
    public static final int CASH_REWARD_SMALL_VALUE = 2;
    /**
     * CASH_REWARD_MEDIUM = 3;
     */
    public static final int CASH_REWARD_MEDIUM_VALUE = 3;
    /**
     * CASH_REWARD_LARGE = 4;
     */
    public static final int CASH_REWARD_LARGE_VALUE = 4;


    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 ENodeCashReward 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 ENodeCashReward forNumber(int value) {
      switch (value) {
        case 1: return CASH_REWARD_NONE;
        case 2: return CASH_REWARD_SMALL;
        case 3: return CASH_REWARD_MEDIUM;
        case 4: return CASH_REWARD_LARGE;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        ENodeCashReward> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap() {
            public ENodeCashReward findValueByNumber(int number) {
              return ENodeCashReward.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.TfProtoDefMessages.getDescriptor().getEnumTypes().get(5);
    }

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

    public static ENodeCashReward 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 ENodeCashReward(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:ENodeCashReward)
  }

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

    /**
     * repeated .CMsgFieldID.CMsgField field = 1;
     */
    java.util.List 
        getFieldList();
    /**
     * repeated .CMsgFieldID.CMsgField field = 1;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField getField(int index);
    /**
     * repeated .CMsgFieldID.CMsgField field = 1;
     */
    int getFieldCount();
    /**
     * repeated .CMsgFieldID.CMsgField field = 1;
     */
    java.util.List 
        getFieldOrBuilderList();
    /**
     * repeated .CMsgFieldID.CMsgField field = 1;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgFieldOrBuilder getFieldOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code CMsgFieldID}
   */
  public static final class CMsgFieldID extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgFieldID)
      CMsgFieldIDOrBuilder {
  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= */ "",
        CMsgFieldID.class.getName());
    }
    // Use CMsgFieldID.newBuilder() to construct.
    private CMsgFieldID(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgFieldID() {
      field_ = java.util.Collections.emptyList();
    }

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

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

    public interface CMsgFieldOrBuilder extends
        // @@protoc_insertion_point(interface_extends:CMsgFieldID.CMsgField)
        com.google.protobuf.MessageOrBuilder {

      /**
       * optional uint32 field_number = 1;
       * @return Whether the fieldNumber field is set.
       */
      boolean hasFieldNumber();
      /**
       * optional uint32 field_number = 1;
       * @return The fieldNumber.
       */
      int getFieldNumber();

      /**
       * optional uint32 repeated_index = 2;
       * @return Whether the repeatedIndex field is set.
       */
      boolean hasRepeatedIndex();
      /**
       * optional uint32 repeated_index = 2;
       * @return The repeatedIndex.
       */
      int getRepeatedIndex();
    }
    /**
     * Protobuf type {@code CMsgFieldID.CMsgField}
     */
    public static final class CMsgField extends
        com.google.protobuf.GeneratedMessage implements
        // @@protoc_insertion_point(message_implements:CMsgFieldID.CMsgField)
        CMsgFieldOrBuilder {
    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= */ "",
          CMsgField.class.getName());
      }
      // Use CMsgField.newBuilder() to construct.
      private CMsgField(com.google.protobuf.GeneratedMessage.Builder builder) {
        super(builder);
      }
      private CMsgField() {
      }

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

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgFieldID_CMsgField_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField.class, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField.Builder.class);
      }

      private int bitField0_;
      public static final int FIELD_NUMBER_FIELD_NUMBER = 1;
      private int fieldNumber_ = 0;
      /**
       * optional uint32 field_number = 1;
       * @return Whether the fieldNumber field is set.
       */
      @java.lang.Override
      public boolean hasFieldNumber() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 field_number = 1;
       * @return The fieldNumber.
       */
      @java.lang.Override
      public int getFieldNumber() {
        return fieldNumber_;
      }

      public static final int REPEATED_INDEX_FIELD_NUMBER = 2;
      private int repeatedIndex_ = 0;
      /**
       * optional uint32 repeated_index = 2;
       * @return Whether the repeatedIndex field is set.
       */
      @java.lang.Override
      public boolean hasRepeatedIndex() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint32 repeated_index = 2;
       * @return The repeatedIndex.
       */
      @java.lang.Override
      public int getRepeatedIndex() {
        return repeatedIndex_;
      }

      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, fieldNumber_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeUInt32(2, repeatedIndex_);
        }
        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, fieldNumber_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(2, repeatedIndex_);
        }
        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.TfProtoDefMessages.CMsgFieldID.CMsgField)) {
          return super.equals(obj);
        }
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField) obj;

        if (hasFieldNumber() != other.hasFieldNumber()) return false;
        if (hasFieldNumber()) {
          if (getFieldNumber()
              != other.getFieldNumber()) return false;
        }
        if (hasRepeatedIndex() != other.hasRepeatedIndex()) return false;
        if (hasRepeatedIndex()) {
          if (getRepeatedIndex()
              != other.getRepeatedIndex()) 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 (hasFieldNumber()) {
          hash = (37 * hash) + FIELD_NUMBER_FIELD_NUMBER;
          hash = (53 * hash) + getFieldNumber();
        }
        if (hasRepeatedIndex()) {
          hash = (37 * hash) + REPEATED_INDEX_FIELD_NUMBER;
          hash = (53 * hash) + getRepeatedIndex();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField 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.TfProtoDefMessages.CMsgFieldID.CMsgField parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField 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.TfProtoDefMessages.CMsgFieldID.CMsgField parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField 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.TfProtoDefMessages.CMsgFieldID.CMsgField parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseWithIOException(PARSER, input);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField 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.TfProtoDefMessages.CMsgFieldID.CMsgField parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField 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.TfProtoDefMessages.CMsgFieldID.CMsgField 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.TfProtoDefMessages.CMsgFieldID.CMsgField 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.TfProtoDefMessages.CMsgFieldID.CMsgField 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 CMsgFieldID.CMsgField}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder implements
          // @@protoc_insertion_point(builder_implements:CMsgFieldID.CMsgField)
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgFieldOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgFieldID_CMsgField_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgFieldID_CMsgField_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField.class, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField.Builder.class);
        }

        // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField.newBuilder()
        private Builder() {

        }

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

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

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

        @java.lang.Override
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField getDefaultInstanceForType() {
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField.getDefaultInstance();
        }

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

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

        private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.fieldNumber_ = fieldNumber_;
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.repeatedIndex_ = repeatedIndex_;
            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.TfProtoDefMessages.CMsgFieldID.CMsgField) {
            return mergeFrom((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField other) {
          if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField.getDefaultInstance()) return this;
          if (other.hasFieldNumber()) {
            setFieldNumber(other.getFieldNumber());
          }
          if (other.hasRepeatedIndex()) {
            setRepeatedIndex(other.getRepeatedIndex());
          }
          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: {
                  fieldNumber_ = input.readUInt32();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 8
                case 16: {
                  repeatedIndex_ = 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 fieldNumber_ ;
        /**
         * optional uint32 field_number = 1;
         * @return Whether the fieldNumber field is set.
         */
        @java.lang.Override
        public boolean hasFieldNumber() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * optional uint32 field_number = 1;
         * @return The fieldNumber.
         */
        @java.lang.Override
        public int getFieldNumber() {
          return fieldNumber_;
        }
        /**
         * optional uint32 field_number = 1;
         * @param value The fieldNumber to set.
         * @return This builder for chaining.
         */
        public Builder setFieldNumber(int value) {

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

        private int repeatedIndex_ ;
        /**
         * optional uint32 repeated_index = 2;
         * @return Whether the repeatedIndex field is set.
         */
        @java.lang.Override
        public boolean hasRepeatedIndex() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * optional uint32 repeated_index = 2;
         * @return The repeatedIndex.
         */
        @java.lang.Override
        public int getRepeatedIndex() {
          return repeatedIndex_;
        }
        /**
         * optional uint32 repeated_index = 2;
         * @param value The repeatedIndex to set.
         * @return This builder for chaining.
         */
        public Builder setRepeatedIndex(int value) {

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

        // @@protoc_insertion_point(builder_scope:CMsgFieldID.CMsgField)
      }

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

      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

    }

    public static final int FIELD_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private java.util.List field_;
    /**
     * repeated .CMsgFieldID.CMsgField field = 1;
     */
    @java.lang.Override
    public java.util.List getFieldList() {
      return field_;
    }
    /**
     * repeated .CMsgFieldID.CMsgField field = 1;
     */
    @java.lang.Override
    public java.util.List 
        getFieldOrBuilderList() {
      return field_;
    }
    /**
     * repeated .CMsgFieldID.CMsgField field = 1;
     */
    @java.lang.Override
    public int getFieldCount() {
      return field_.size();
    }
    /**
     * repeated .CMsgFieldID.CMsgField field = 1;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField getField(int index) {
      return field_.get(index);
    }
    /**
     * repeated .CMsgFieldID.CMsgField field = 1;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgFieldOrBuilder getFieldOrBuilder(
        int index) {
      return field_.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 < field_.size(); i++) {
        output.writeMessage(1, field_.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 < field_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, field_.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.TfProtoDefMessages.CMsgFieldID)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID) obj;

      if (!getFieldList()
          .equals(other.getFieldList())) 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 (getFieldCount() > 0) {
        hash = (37 * hash) + FIELD_FIELD_NUMBER;
        hash = (53 * hash) + getFieldList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID 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.TfProtoDefMessages.CMsgFieldID parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID 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.TfProtoDefMessages.CMsgFieldID parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID 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.TfProtoDefMessages.CMsgFieldID parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID 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.TfProtoDefMessages.CMsgFieldID parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID 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.TfProtoDefMessages.CMsgFieldID 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.TfProtoDefMessages.CMsgFieldID 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.TfProtoDefMessages.CMsgFieldID 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 CMsgFieldID}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgFieldID)
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldIDOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgFieldID_descriptor;
      }

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

      // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.newBuilder()
      private Builder() {

      }

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

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        if (fieldBuilder_ == null) {
          field_ = java.util.Collections.emptyList();
        } else {
          field_ = null;
          fieldBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

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

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

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

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

      private void buildPartialRepeatedFields(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID result) {
        if (fieldBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            field_ = java.util.Collections.unmodifiableList(field_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.field_ = field_;
        } else {
          result.field_ = fieldBuilder_.build();
        }
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID result) {
        int from_bitField0_ = bitField0_;
      }

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

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.getDefaultInstance()) return this;
        if (fieldBuilder_ == null) {
          if (!other.field_.isEmpty()) {
            if (field_.isEmpty()) {
              field_ = other.field_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureFieldIsMutable();
              field_.addAll(other.field_);
            }
            onChanged();
          }
        } else {
          if (!other.field_.isEmpty()) {
            if (fieldBuilder_.isEmpty()) {
              fieldBuilder_.dispose();
              fieldBuilder_ = null;
              field_ = other.field_;
              bitField0_ = (bitField0_ & ~0x00000001);
              fieldBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getFieldFieldBuilder() : null;
            } else {
              fieldBuilder_.addAllMessages(other.field_);
            }
          }
        }
        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.TfProtoDefMessages.CMsgFieldID.CMsgField m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField.parser(),
                        extensionRegistry);
                if (fieldBuilder_ == null) {
                  ensureFieldIsMutable();
                  field_.add(m);
                } else {
                  fieldBuilder_.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 field_ =
        java.util.Collections.emptyList();
      private void ensureFieldIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          field_ = new java.util.ArrayList(field_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgFieldOrBuilder> fieldBuilder_;

      /**
       * repeated .CMsgFieldID.CMsgField field = 1;
       */
      public java.util.List getFieldList() {
        if (fieldBuilder_ == null) {
          return java.util.Collections.unmodifiableList(field_);
        } else {
          return fieldBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CMsgFieldID.CMsgField field = 1;
       */
      public int getFieldCount() {
        if (fieldBuilder_ == null) {
          return field_.size();
        } else {
          return fieldBuilder_.getCount();
        }
      }
      /**
       * repeated .CMsgFieldID.CMsgField field = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField getField(int index) {
        if (fieldBuilder_ == null) {
          return field_.get(index);
        } else {
          return fieldBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CMsgFieldID.CMsgField field = 1;
       */
      public Builder setField(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField value) {
        if (fieldBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureFieldIsMutable();
          field_.set(index, value);
          onChanged();
        } else {
          fieldBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgFieldID.CMsgField field = 1;
       */
      public Builder setField(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField.Builder builderForValue) {
        if (fieldBuilder_ == null) {
          ensureFieldIsMutable();
          field_.set(index, builderForValue.build());
          onChanged();
        } else {
          fieldBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgFieldID.CMsgField field = 1;
       */
      public Builder addField(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField value) {
        if (fieldBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureFieldIsMutable();
          field_.add(value);
          onChanged();
        } else {
          fieldBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CMsgFieldID.CMsgField field = 1;
       */
      public Builder addField(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField value) {
        if (fieldBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureFieldIsMutable();
          field_.add(index, value);
          onChanged();
        } else {
          fieldBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgFieldID.CMsgField field = 1;
       */
      public Builder addField(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField.Builder builderForValue) {
        if (fieldBuilder_ == null) {
          ensureFieldIsMutable();
          field_.add(builderForValue.build());
          onChanged();
        } else {
          fieldBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgFieldID.CMsgField field = 1;
       */
      public Builder addField(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField.Builder builderForValue) {
        if (fieldBuilder_ == null) {
          ensureFieldIsMutable();
          field_.add(index, builderForValue.build());
          onChanged();
        } else {
          fieldBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgFieldID.CMsgField field = 1;
       */
      public Builder addAllField(
          java.lang.Iterable values) {
        if (fieldBuilder_ == null) {
          ensureFieldIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, field_);
          onChanged();
        } else {
          fieldBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CMsgFieldID.CMsgField field = 1;
       */
      public Builder clearField() {
        if (fieldBuilder_ == null) {
          field_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          fieldBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CMsgFieldID.CMsgField field = 1;
       */
      public Builder removeField(int index) {
        if (fieldBuilder_ == null) {
          ensureFieldIsMutable();
          field_.remove(index);
          onChanged();
        } else {
          fieldBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CMsgFieldID.CMsgField field = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField.Builder getFieldBuilder(
          int index) {
        return getFieldFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CMsgFieldID.CMsgField field = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgFieldOrBuilder getFieldOrBuilder(
          int index) {
        if (fieldBuilder_ == null) {
          return field_.get(index);  } else {
          return fieldBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CMsgFieldID.CMsgField field = 1;
       */
      public java.util.List 
           getFieldOrBuilderList() {
        if (fieldBuilder_ != null) {
          return fieldBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(field_);
        }
      }
      /**
       * repeated .CMsgFieldID.CMsgField field = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField.Builder addFieldBuilder() {
        return getFieldFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField.getDefaultInstance());
      }
      /**
       * repeated .CMsgFieldID.CMsgField field = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField.Builder addFieldBuilder(
          int index) {
        return getFieldFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField.getDefaultInstance());
      }
      /**
       * repeated .CMsgFieldID.CMsgField field = 1;
       */
      public java.util.List 
           getFieldBuilderList() {
        return getFieldFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgFieldOrBuilder> 
          getFieldFieldBuilder() {
        if (fieldBuilder_ == null) {
          fieldBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.CMsgFieldOrBuilder>(
                  field_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          field_ = null;
        }
        return fieldBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgFieldID)
    }

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

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

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

  }

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

    /**
     * optional .EValueDefinitionSource source_type = 1 [default = REFERENCE_DEFINES];
     * @return Whether the sourceType field is set.
     */
    boolean hasSourceType();
    /**
     * optional .EValueDefinitionSource source_type = 1 [default = REFERENCE_DEFINES];
     * @return The sourceType.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.EValueDefinitionSource getSourceType();

    /**
     * optional .CMsgProtoDefID defining_obj_id = 2;
     * @return Whether the definingObjId field is set.
     */
    boolean hasDefiningObjId();
    /**
     * optional .CMsgProtoDefID defining_obj_id = 2;
     * @return The definingObjId.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getDefiningObjId();
    /**
     * optional .CMsgProtoDefID defining_obj_id = 2;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getDefiningObjIdOrBuilder();

    /**
     * optional .CMsgFieldID field_id = 3;
     * @return Whether the fieldId field is set.
     */
    boolean hasFieldId();
    /**
     * optional .CMsgFieldID field_id = 3;
     * @return The fieldId.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID getFieldId();
    /**
     * optional .CMsgFieldID field_id = 3;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldIDOrBuilder getFieldIdOrBuilder();
  }
  /**
   * Protobuf type {@code CMsgUniversalFieldID}
   */
  public static final class CMsgUniversalFieldID extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgUniversalFieldID)
      CMsgUniversalFieldIDOrBuilder {
  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= */ "",
        CMsgUniversalFieldID.class.getName());
    }
    // Use CMsgUniversalFieldID.newBuilder() to construct.
    private CMsgUniversalFieldID(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgUniversalFieldID() {
      sourceType_ = 0;
    }

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

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

    private int bitField0_;
    public static final int SOURCE_TYPE_FIELD_NUMBER = 1;
    private int sourceType_ = 0;
    /**
     * optional .EValueDefinitionSource source_type = 1 [default = REFERENCE_DEFINES];
     * @return Whether the sourceType field is set.
     */
    @java.lang.Override public boolean hasSourceType() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional .EValueDefinitionSource source_type = 1 [default = REFERENCE_DEFINES];
     * @return The sourceType.
     */
    @java.lang.Override public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.EValueDefinitionSource getSourceType() {
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.EValueDefinitionSource result = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.EValueDefinitionSource.forNumber(sourceType_);
      return result == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.EValueDefinitionSource.REFERENCE_DEFINES : result;
    }

    public static final int DEFINING_OBJ_ID_FIELD_NUMBER = 2;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID definingObjId_;
    /**
     * optional .CMsgProtoDefID defining_obj_id = 2;
     * @return Whether the definingObjId field is set.
     */
    @java.lang.Override
    public boolean hasDefiningObjId() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional .CMsgProtoDefID defining_obj_id = 2;
     * @return The definingObjId.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getDefiningObjId() {
      return definingObjId_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : definingObjId_;
    }
    /**
     * optional .CMsgProtoDefID defining_obj_id = 2;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getDefiningObjIdOrBuilder() {
      return definingObjId_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : definingObjId_;
    }

    public static final int FIELD_ID_FIELD_NUMBER = 3;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID fieldId_;
    /**
     * optional .CMsgFieldID field_id = 3;
     * @return Whether the fieldId field is set.
     */
    @java.lang.Override
    public boolean hasFieldId() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional .CMsgFieldID field_id = 3;
     * @return The fieldId.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID getFieldId() {
      return fieldId_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.getDefaultInstance() : fieldId_;
    }
    /**
     * optional .CMsgFieldID field_id = 3;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldIDOrBuilder getFieldIdOrBuilder() {
      return fieldId_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.getDefaultInstance() : fieldId_;
    }

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

      if (hasDefiningObjId()) {
        if (!getDefiningObjId().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeEnum(1, sourceType_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeMessage(2, getDefiningObjId());
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeMessage(3, getFieldId());
      }
      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, sourceType_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getDefiningObjId());
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getFieldId());
      }
      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.TfProtoDefMessages.CMsgUniversalFieldID)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgUniversalFieldID other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgUniversalFieldID) obj;

      if (hasSourceType() != other.hasSourceType()) return false;
      if (hasSourceType()) {
        if (sourceType_ != other.sourceType_) return false;
      }
      if (hasDefiningObjId() != other.hasDefiningObjId()) return false;
      if (hasDefiningObjId()) {
        if (!getDefiningObjId()
            .equals(other.getDefiningObjId())) return false;
      }
      if (hasFieldId() != other.hasFieldId()) return false;
      if (hasFieldId()) {
        if (!getFieldId()
            .equals(other.getFieldId())) 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 (hasSourceType()) {
        hash = (37 * hash) + SOURCE_TYPE_FIELD_NUMBER;
        hash = (53 * hash) + sourceType_;
      }
      if (hasDefiningObjId()) {
        hash = (37 * hash) + DEFINING_OBJ_ID_FIELD_NUMBER;
        hash = (53 * hash) + getDefiningObjId().hashCode();
      }
      if (hasFieldId()) {
        hash = (37 * hash) + FIELD_ID_FIELD_NUMBER;
        hash = (53 * hash) + getFieldId().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgUniversalFieldID parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgUniversalFieldID 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.TfProtoDefMessages.CMsgUniversalFieldID parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgUniversalFieldID 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.TfProtoDefMessages.CMsgUniversalFieldID parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgUniversalFieldID 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.TfProtoDefMessages.CMsgUniversalFieldID parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgUniversalFieldID 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.TfProtoDefMessages.CMsgUniversalFieldID parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgUniversalFieldID 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.TfProtoDefMessages.CMsgUniversalFieldID 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.TfProtoDefMessages.CMsgUniversalFieldID 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.TfProtoDefMessages.CMsgUniversalFieldID 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 CMsgUniversalFieldID}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgUniversalFieldID)
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgUniversalFieldIDOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgUniversalFieldID_descriptor;
      }

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

      // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgUniversalFieldID.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage
                .alwaysUseFieldBuilders) {
          getDefiningObjIdFieldBuilder();
          getFieldIdFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        sourceType_ = 0;
        definingObjId_ = null;
        if (definingObjIdBuilder_ != null) {
          definingObjIdBuilder_.dispose();
          definingObjIdBuilder_ = null;
        }
        fieldId_ = null;
        if (fieldIdBuilder_ != null) {
          fieldIdBuilder_.dispose();
          fieldIdBuilder_ = null;
        }
        return this;
      }

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

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

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

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

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgUniversalFieldID result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.sourceType_ = sourceType_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.definingObjId_ = definingObjIdBuilder_ == null
              ? definingObjId_
              : definingObjIdBuilder_.build();
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.fieldId_ = fieldIdBuilder_ == null
              ? fieldId_
              : fieldIdBuilder_.build();
          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.TfProtoDefMessages.CMsgUniversalFieldID) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgUniversalFieldID)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgUniversalFieldID other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgUniversalFieldID.getDefaultInstance()) return this;
        if (other.hasSourceType()) {
          setSourceType(other.getSourceType());
        }
        if (other.hasDefiningObjId()) {
          mergeDefiningObjId(other.getDefiningObjId());
        }
        if (other.hasFieldId()) {
          mergeFieldId(other.getFieldId());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (hasDefiningObjId()) {
          if (!getDefiningObjId().isInitialized()) {
            return false;
          }
        }
        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.TfProtoDefMessages.EValueDefinitionSource tmpValue =
                    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.EValueDefinitionSource.forNumber(tmpRaw);
                if (tmpValue == null) {
                  mergeUnknownVarintField(1, tmpRaw);
                } else {
                  sourceType_ = tmpRaw;
                  bitField0_ |= 0x00000001;
                }
                break;
              } // case 8
              case 18: {
                input.readMessage(
                    getDefiningObjIdFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              case 26: {
                input.readMessage(
                    getFieldIdFieldBuilder().getBuilder(),
                    extensionRegistry);
                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 sourceType_ = 0;
      /**
       * optional .EValueDefinitionSource source_type = 1 [default = REFERENCE_DEFINES];
       * @return Whether the sourceType field is set.
       */
      @java.lang.Override public boolean hasSourceType() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional .EValueDefinitionSource source_type = 1 [default = REFERENCE_DEFINES];
       * @return The sourceType.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.EValueDefinitionSource getSourceType() {
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.EValueDefinitionSource result = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.EValueDefinitionSource.forNumber(sourceType_);
        return result == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.EValueDefinitionSource.REFERENCE_DEFINES : result;
      }
      /**
       * optional .EValueDefinitionSource source_type = 1 [default = REFERENCE_DEFINES];
       * @param value The sourceType to set.
       * @return This builder for chaining.
       */
      public Builder setSourceType(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.EValueDefinitionSource value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000001;
        sourceType_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * optional .EValueDefinitionSource source_type = 1 [default = REFERENCE_DEFINES];
       * @return This builder for chaining.
       */
      public Builder clearSourceType() {
        bitField0_ = (bitField0_ & ~0x00000001);
        sourceType_ = 0;
        onChanged();
        return this;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID definingObjId_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> definingObjIdBuilder_;
      /**
       * optional .CMsgProtoDefID defining_obj_id = 2;
       * @return Whether the definingObjId field is set.
       */
      public boolean hasDefiningObjId() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional .CMsgProtoDefID defining_obj_id = 2;
       * @return The definingObjId.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getDefiningObjId() {
        if (definingObjIdBuilder_ == null) {
          return definingObjId_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : definingObjId_;
        } else {
          return definingObjIdBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgProtoDefID defining_obj_id = 2;
       */
      public Builder setDefiningObjId(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
        if (definingObjIdBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          definingObjId_ = value;
        } else {
          definingObjIdBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgProtoDefID defining_obj_id = 2;
       */
      public Builder setDefiningObjId(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder builderForValue) {
        if (definingObjIdBuilder_ == null) {
          definingObjId_ = builderForValue.build();
        } else {
          definingObjIdBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgProtoDefID defining_obj_id = 2;
       */
      public Builder mergeDefiningObjId(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
        if (definingObjIdBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0) &&
            definingObjId_ != null &&
            definingObjId_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance()) {
            getDefiningObjIdBuilder().mergeFrom(value);
          } else {
            definingObjId_ = value;
          }
        } else {
          definingObjIdBuilder_.mergeFrom(value);
        }
        if (definingObjId_ != null) {
          bitField0_ |= 0x00000002;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgProtoDefID defining_obj_id = 2;
       */
      public Builder clearDefiningObjId() {
        bitField0_ = (bitField0_ & ~0x00000002);
        definingObjId_ = null;
        if (definingObjIdBuilder_ != null) {
          definingObjIdBuilder_.dispose();
          definingObjIdBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgProtoDefID defining_obj_id = 2;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder getDefiningObjIdBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getDefiningObjIdFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgProtoDefID defining_obj_id = 2;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getDefiningObjIdOrBuilder() {
        if (definingObjIdBuilder_ != null) {
          return definingObjIdBuilder_.getMessageOrBuilder();
        } else {
          return definingObjId_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : definingObjId_;
        }
      }
      /**
       * optional .CMsgProtoDefID defining_obj_id = 2;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> 
          getDefiningObjIdFieldBuilder() {
        if (definingObjIdBuilder_ == null) {
          definingObjIdBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder>(
                  getDefiningObjId(),
                  getParentForChildren(),
                  isClean());
          definingObjId_ = null;
        }
        return definingObjIdBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID fieldId_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldIDOrBuilder> fieldIdBuilder_;
      /**
       * optional .CMsgFieldID field_id = 3;
       * @return Whether the fieldId field is set.
       */
      public boolean hasFieldId() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional .CMsgFieldID field_id = 3;
       * @return The fieldId.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID getFieldId() {
        if (fieldIdBuilder_ == null) {
          return fieldId_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.getDefaultInstance() : fieldId_;
        } else {
          return fieldIdBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgFieldID field_id = 3;
       */
      public Builder setFieldId(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID value) {
        if (fieldIdBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          fieldId_ = value;
        } else {
          fieldIdBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgFieldID field_id = 3;
       */
      public Builder setFieldId(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.Builder builderForValue) {
        if (fieldIdBuilder_ == null) {
          fieldId_ = builderForValue.build();
        } else {
          fieldIdBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgFieldID field_id = 3;
       */
      public Builder mergeFieldId(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID value) {
        if (fieldIdBuilder_ == null) {
          if (((bitField0_ & 0x00000004) != 0) &&
            fieldId_ != null &&
            fieldId_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.getDefaultInstance()) {
            getFieldIdBuilder().mergeFrom(value);
          } else {
            fieldId_ = value;
          }
        } else {
          fieldIdBuilder_.mergeFrom(value);
        }
        if (fieldId_ != null) {
          bitField0_ |= 0x00000004;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgFieldID field_id = 3;
       */
      public Builder clearFieldId() {
        bitField0_ = (bitField0_ & ~0x00000004);
        fieldId_ = null;
        if (fieldIdBuilder_ != null) {
          fieldIdBuilder_.dispose();
          fieldIdBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgFieldID field_id = 3;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.Builder getFieldIdBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getFieldIdFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgFieldID field_id = 3;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldIDOrBuilder getFieldIdOrBuilder() {
        if (fieldIdBuilder_ != null) {
          return fieldIdBuilder_.getMessageOrBuilder();
        } else {
          return fieldId_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.getDefaultInstance() : fieldId_;
        }
      }
      /**
       * optional .CMsgFieldID field_id = 3;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldIDOrBuilder> 
          getFieldIdFieldBuilder() {
        if (fieldIdBuilder_ == null) {
          fieldIdBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgFieldIDOrBuilder>(
                  getFieldId(),
                  getParentForChildren(),
                  isClean());
          fieldId_ = null;
        }
        return fieldIdBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgUniversalFieldID)
    }

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

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

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

  }

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

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

    /**
     * optional bool inherit = 2 [default = true];
     * @return Whether the inherit field is set.
     */
    boolean hasInherit();
    /**
     * optional bool inherit = 2 [default = true];
     * @return The inherit.
     */
    boolean getInherit();

    /**
     * optional string value = 3;
     * @return Whether the value field is set.
     */
    boolean hasValue();
    /**
     * optional string value = 3;
     * @return The value.
     */
    java.lang.String getValue();
    /**
     * optional string value = 3;
     * @return The bytes for value.
     */
    com.google.protobuf.ByteString
        getValueBytes();
  }
  /**
   * Protobuf type {@code CMsgVariableDefinition}
   */
  public static final class CMsgVariableDefinition extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgVariableDefinition)
      CMsgVariableDefinitionOrBuilder {
  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= */ "",
        CMsgVariableDefinition.class.getName());
    }
    // Use CMsgVariableDefinition.newBuilder() to construct.
    private CMsgVariableDefinition(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgVariableDefinition() {
      name_ = "";
      inherit_ = true;
      value_ = "";
    }

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

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgVariableDefinition_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition.class, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition.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 [(.merging_key_field) = true];
     * @return Whether the name field is set.
     */
    @java.lang.Override
    public boolean hasName() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional string name = 1 [(.merging_key_field) = true];
     * @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 [(.merging_key_field) = true];
     * @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 INHERIT_FIELD_NUMBER = 2;
    private boolean inherit_ = true;
    /**
     * optional bool inherit = 2 [default = true];
     * @return Whether the inherit field is set.
     */
    @java.lang.Override
    public boolean hasInherit() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional bool inherit = 2 [default = true];
     * @return The inherit.
     */
    @java.lang.Override
    public boolean getInherit() {
      return inherit_;
    }

    public static final int VALUE_FIELD_NUMBER = 3;
    @SuppressWarnings("serial")
    private volatile java.lang.Object value_ = "";
    /**
     * optional string value = 3;
     * @return Whether the value field is set.
     */
    @java.lang.Override
    public boolean hasValue() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional string value = 3;
     * @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 = 3;
     * @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)) {
        output.writeBool(2, inherit_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 3, 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.CodedOutputStream
          .computeBoolSize(2, inherit_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(3, 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.TfProtoDefMessages.CMsgVariableDefinition)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition) obj;

      if (hasName() != other.hasName()) return false;
      if (hasName()) {
        if (!getName()
            .equals(other.getName())) return false;
      }
      if (hasInherit() != other.hasInherit()) return false;
      if (hasInherit()) {
        if (getInherit()
            != other.getInherit()) 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 (hasInherit()) {
        hash = (37 * hash) + INHERIT_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getInherit());
      }
      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.TfProtoDefMessages.CMsgVariableDefinition parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition 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.TfProtoDefMessages.CMsgVariableDefinition parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition 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.TfProtoDefMessages.CMsgVariableDefinition parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition 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.TfProtoDefMessages.CMsgVariableDefinition parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition 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.TfProtoDefMessages.CMsgVariableDefinition parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition 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.TfProtoDefMessages.CMsgVariableDefinition 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.TfProtoDefMessages.CMsgVariableDefinition 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.TfProtoDefMessages.CMsgVariableDefinition 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 CMsgVariableDefinition}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgVariableDefinition)
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinitionOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgVariableDefinition_descriptor;
      }

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

      // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition.newBuilder()
      private Builder() {

      }

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

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

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

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

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

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

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition 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.inherit_ = inherit_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.value_ = value_;
          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.TfProtoDefMessages.CMsgVariableDefinition) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition.getDefaultInstance()) return this;
        if (other.hasName()) {
          name_ = other.name_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        if (other.hasInherit()) {
          setInherit(other.getInherit());
        }
        if (other.hasValue()) {
          value_ = other.value_;
          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 10: {
                name_ = input.readBytes();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 16: {
                inherit_ = input.readBool();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 26: {
                value_ = 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 java.lang.Object name_ = "";
      /**
       * optional string name = 1 [(.merging_key_field) = true];
       * @return Whether the name field is set.
       */
      public boolean hasName() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional string name = 1 [(.merging_key_field) = true];
       * @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 [(.merging_key_field) = true];
       * @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 [(.merging_key_field) = true];
       * @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 [(.merging_key_field) = true];
       * @return This builder for chaining.
       */
      public Builder clearName() {
        name_ = getDefaultInstance().getName();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * optional string name = 1 [(.merging_key_field) = true];
       * @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 boolean inherit_ = true;
      /**
       * optional bool inherit = 2 [default = true];
       * @return Whether the inherit field is set.
       */
      @java.lang.Override
      public boolean hasInherit() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional bool inherit = 2 [default = true];
       * @return The inherit.
       */
      @java.lang.Override
      public boolean getInherit() {
        return inherit_;
      }
      /**
       * optional bool inherit = 2 [default = true];
       * @param value The inherit to set.
       * @return This builder for chaining.
       */
      public Builder setInherit(boolean value) {

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

      private java.lang.Object value_ = "";
      /**
       * optional string value = 3;
       * @return Whether the value field is set.
       */
      public boolean hasValue() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional string value = 3;
       * @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 = 3;
       * @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 = 3;
       * @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_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional string value = 3;
       * @return This builder for chaining.
       */
      public Builder clearValue() {
        value_ = getDefaultInstance().getValue();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }
      /**
       * optional string value = 3;
       * @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_ |= 0x00000004;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgVariableDefinition)
    }

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

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

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

  }

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

    /**
     * required uint32 defindex = 1 [(.editable) = false, (.display_name) = "Defindex", (.comment) = "Autogenerated", (.self_inherit_only) = true];
     * @return Whether the defindex field is set.
     */
    boolean hasDefindex();
    /**
     * required uint32 defindex = 1 [(.editable) = false, (.display_name) = "Defindex", (.comment) = "Autogenerated", (.self_inherit_only) = true];
     * @return The defindex.
     */
    int getDefindex();

    /**
     * optional string name = 2 [(.display_name) = "Name", (.comment) = "Name to show in the editor", (.self_inherit_only) = true];
     * @return Whether the name field is set.
     */
    boolean hasName();
    /**
     * optional string name = 2 [(.display_name) = "Name", (.comment) = "Name to show in the editor", (.self_inherit_only) = true];
     * @return The name.
     */
    java.lang.String getName();
    /**
     * optional string name = 2 [(.display_name) = "Name", (.comment) = "Name to show in the editor", (.self_inherit_only) = true];
     * @return The bytes for name.
     */
    com.google.protobuf.ByteString
        getNameBytes();

    /**
     * repeated .CMsgProtoDefID prefabs = 3 [(.display_name) = "Prefab", (.comment) = "Inherit the values of these definitions, in order from top to bottom.", (.panel_class_override) = "CPrefabFieldEditingPanel", (.self_inherit_only) = true];
     */
    java.util.List 
        getPrefabsList();
    /**
     * repeated .CMsgProtoDefID prefabs = 3 [(.display_name) = "Prefab", (.comment) = "Inherit the values of these definitions, in order from top to bottom.", (.panel_class_override) = "CPrefabFieldEditingPanel", (.self_inherit_only) = true];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getPrefabs(int index);
    /**
     * repeated .CMsgProtoDefID prefabs = 3 [(.display_name) = "Prefab", (.comment) = "Inherit the values of these definitions, in order from top to bottom.", (.panel_class_override) = "CPrefabFieldEditingPanel", (.self_inherit_only) = true];
     */
    int getPrefabsCount();
    /**
     * repeated .CMsgProtoDefID prefabs = 3 [(.display_name) = "Prefab", (.comment) = "Inherit the values of these definitions, in order from top to bottom.", (.panel_class_override) = "CPrefabFieldEditingPanel", (.self_inherit_only) = true];
     */
    java.util.List 
        getPrefabsOrBuilderList();
    /**
     * repeated .CMsgProtoDefID prefabs = 3 [(.display_name) = "Prefab", (.comment) = "Inherit the values of these definitions, in order from top to bottom.", (.panel_class_override) = "CPrefabFieldEditingPanel", (.self_inherit_only) = true];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getPrefabsOrBuilder(
        int index);

    /**
     * repeated string tags = 4 [(.display_name) = "Tags", (.comment) = "Strings used to describe this definition while searching.  ie. \'class\', \'shotgun\', \'easy\'"];
     * @return A list containing the tags.
     */
    java.util.List
        getTagsList();
    /**
     * repeated string tags = 4 [(.display_name) = "Tags", (.comment) = "Strings used to describe this definition while searching.  ie. \'class\', \'shotgun\', \'easy\'"];
     * @return The count of tags.
     */
    int getTagsCount();
    /**
     * repeated string tags = 4 [(.display_name) = "Tags", (.comment) = "Strings used to describe this definition while searching.  ie. \'class\', \'shotgun\', \'easy\'"];
     * @param index The index of the element to return.
     * @return The tags at the given index.
     */
    java.lang.String getTags(int index);
    /**
     * repeated string tags = 4 [(.display_name) = "Tags", (.comment) = "Strings used to describe this definition while searching.  ie. \'class\', \'shotgun\', \'easy\'"];
     * @param index The index of the value to return.
     * @return The bytes of the tags at the given index.
     */
    com.google.protobuf.ByteString
        getTagsBytes(int index);

    /**
     * optional bool prefab_only = 5 [default = false, (.display_name) = "Pure Prefab", (.comment) = "If true, this is only a prefab and will not be made into an object", (.self_inherit_only) = true];
     * @return Whether the prefabOnly field is set.
     */
    boolean hasPrefabOnly();
    /**
     * optional bool prefab_only = 5 [default = false, (.display_name) = "Pure Prefab", (.comment) = "If true, this is only a prefab and will not be made into an object", (.self_inherit_only) = true];
     * @return The prefabOnly.
     */
    boolean getPrefabOnly();

    /**
     * repeated .CMsgVariableDefinition variables = 6 [(.display_name) = "Variables", (.comment) = "Variable value definitions", (.message_inherhitance_key_field_name) = "name"];
     */
    java.util.List 
        getVariablesList();
    /**
     * repeated .CMsgVariableDefinition variables = 6 [(.display_name) = "Variables", (.comment) = "Variable value definitions", (.message_inherhitance_key_field_name) = "name"];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition getVariables(int index);
    /**
     * repeated .CMsgVariableDefinition variables = 6 [(.display_name) = "Variables", (.comment) = "Variable value definitions", (.message_inherhitance_key_field_name) = "name"];
     */
    int getVariablesCount();
    /**
     * repeated .CMsgVariableDefinition variables = 6 [(.display_name) = "Variables", (.comment) = "Variable value definitions", (.message_inherhitance_key_field_name) = "name"];
     */
    java.util.List 
        getVariablesOrBuilderList();
    /**
     * repeated .CMsgVariableDefinition variables = 6 [(.display_name) = "Variables", (.comment) = "Variable value definitions", (.message_inherhitance_key_field_name) = "name"];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinitionOrBuilder getVariablesOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code CMsgProtoDefHeader}
   */
  public static final class CMsgProtoDefHeader extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgProtoDefHeader)
      CMsgProtoDefHeaderOrBuilder {
  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= */ "",
        CMsgProtoDefHeader.class.getName());
    }
    // Use CMsgProtoDefHeader.newBuilder() to construct.
    private CMsgProtoDefHeader(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgProtoDefHeader() {
      name_ = "";
      prefabs_ = java.util.Collections.emptyList();
      tags_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
      variables_ = java.util.Collections.emptyList();
    }

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

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

    private int bitField0_;
    public static final int DEFINDEX_FIELD_NUMBER = 1;
    private int defindex_ = 0;
    /**
     * required uint32 defindex = 1 [(.editable) = false, (.display_name) = "Defindex", (.comment) = "Autogenerated", (.self_inherit_only) = true];
     * @return Whether the defindex field is set.
     */
    @java.lang.Override
    public boolean hasDefindex() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * required uint32 defindex = 1 [(.editable) = false, (.display_name) = "Defindex", (.comment) = "Autogenerated", (.self_inherit_only) = true];
     * @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 [(.display_name) = "Name", (.comment) = "Name to show in the editor", (.self_inherit_only) = true];
     * @return Whether the name field is set.
     */
    @java.lang.Override
    public boolean hasName() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional string name = 2 [(.display_name) = "Name", (.comment) = "Name to show in the editor", (.self_inherit_only) = true];
     * @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 [(.display_name) = "Name", (.comment) = "Name to show in the editor", (.self_inherit_only) = true];
     * @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 PREFABS_FIELD_NUMBER = 3;
    @SuppressWarnings("serial")
    private java.util.List prefabs_;
    /**
     * repeated .CMsgProtoDefID prefabs = 3 [(.display_name) = "Prefab", (.comment) = "Inherit the values of these definitions, in order from top to bottom.", (.panel_class_override) = "CPrefabFieldEditingPanel", (.self_inherit_only) = true];
     */
    @java.lang.Override
    public java.util.List getPrefabsList() {
      return prefabs_;
    }
    /**
     * repeated .CMsgProtoDefID prefabs = 3 [(.display_name) = "Prefab", (.comment) = "Inherit the values of these definitions, in order from top to bottom.", (.panel_class_override) = "CPrefabFieldEditingPanel", (.self_inherit_only) = true];
     */
    @java.lang.Override
    public java.util.List 
        getPrefabsOrBuilderList() {
      return prefabs_;
    }
    /**
     * repeated .CMsgProtoDefID prefabs = 3 [(.display_name) = "Prefab", (.comment) = "Inherit the values of these definitions, in order from top to bottom.", (.panel_class_override) = "CPrefabFieldEditingPanel", (.self_inherit_only) = true];
     */
    @java.lang.Override
    public int getPrefabsCount() {
      return prefabs_.size();
    }
    /**
     * repeated .CMsgProtoDefID prefabs = 3 [(.display_name) = "Prefab", (.comment) = "Inherit the values of these definitions, in order from top to bottom.", (.panel_class_override) = "CPrefabFieldEditingPanel", (.self_inherit_only) = true];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getPrefabs(int index) {
      return prefabs_.get(index);
    }
    /**
     * repeated .CMsgProtoDefID prefabs = 3 [(.display_name) = "Prefab", (.comment) = "Inherit the values of these definitions, in order from top to bottom.", (.panel_class_override) = "CPrefabFieldEditingPanel", (.self_inherit_only) = true];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getPrefabsOrBuilder(
        int index) {
      return prefabs_.get(index);
    }

    public static final int TAGS_FIELD_NUMBER = 4;
    @SuppressWarnings("serial")
    private com.google.protobuf.LazyStringArrayList tags_ =
        com.google.protobuf.LazyStringArrayList.emptyList();
    /**
     * repeated string tags = 4 [(.display_name) = "Tags", (.comment) = "Strings used to describe this definition while searching.  ie. \'class\', \'shotgun\', \'easy\'"];
     * @return A list containing the tags.
     */
    public com.google.protobuf.ProtocolStringList
        getTagsList() {
      return tags_;
    }
    /**
     * repeated string tags = 4 [(.display_name) = "Tags", (.comment) = "Strings used to describe this definition while searching.  ie. \'class\', \'shotgun\', \'easy\'"];
     * @return The count of tags.
     */
    public int getTagsCount() {
      return tags_.size();
    }
    /**
     * repeated string tags = 4 [(.display_name) = "Tags", (.comment) = "Strings used to describe this definition while searching.  ie. \'class\', \'shotgun\', \'easy\'"];
     * @param index The index of the element to return.
     * @return The tags at the given index.
     */
    public java.lang.String getTags(int index) {
      return tags_.get(index);
    }
    /**
     * repeated string tags = 4 [(.display_name) = "Tags", (.comment) = "Strings used to describe this definition while searching.  ie. \'class\', \'shotgun\', \'easy\'"];
     * @param index The index of the value to return.
     * @return The bytes of the tags at the given index.
     */
    public com.google.protobuf.ByteString
        getTagsBytes(int index) {
      return tags_.getByteString(index);
    }

    public static final int PREFAB_ONLY_FIELD_NUMBER = 5;
    private boolean prefabOnly_ = false;
    /**
     * optional bool prefab_only = 5 [default = false, (.display_name) = "Pure Prefab", (.comment) = "If true, this is only a prefab and will not be made into an object", (.self_inherit_only) = true];
     * @return Whether the prefabOnly field is set.
     */
    @java.lang.Override
    public boolean hasPrefabOnly() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional bool prefab_only = 5 [default = false, (.display_name) = "Pure Prefab", (.comment) = "If true, this is only a prefab and will not be made into an object", (.self_inherit_only) = true];
     * @return The prefabOnly.
     */
    @java.lang.Override
    public boolean getPrefabOnly() {
      return prefabOnly_;
    }

    public static final int VARIABLES_FIELD_NUMBER = 6;
    @SuppressWarnings("serial")
    private java.util.List variables_;
    /**
     * repeated .CMsgVariableDefinition variables = 6 [(.display_name) = "Variables", (.comment) = "Variable value definitions", (.message_inherhitance_key_field_name) = "name"];
     */
    @java.lang.Override
    public java.util.List getVariablesList() {
      return variables_;
    }
    /**
     * repeated .CMsgVariableDefinition variables = 6 [(.display_name) = "Variables", (.comment) = "Variable value definitions", (.message_inherhitance_key_field_name) = "name"];
     */
    @java.lang.Override
    public java.util.List 
        getVariablesOrBuilderList() {
      return variables_;
    }
    /**
     * repeated .CMsgVariableDefinition variables = 6 [(.display_name) = "Variables", (.comment) = "Variable value definitions", (.message_inherhitance_key_field_name) = "name"];
     */
    @java.lang.Override
    public int getVariablesCount() {
      return variables_.size();
    }
    /**
     * repeated .CMsgVariableDefinition variables = 6 [(.display_name) = "Variables", (.comment) = "Variable value definitions", (.message_inherhitance_key_field_name) = "name"];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition getVariables(int index) {
      return variables_.get(index);
    }
    /**
     * repeated .CMsgVariableDefinition variables = 6 [(.display_name) = "Variables", (.comment) = "Variable value definitions", (.message_inherhitance_key_field_name) = "name"];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinitionOrBuilder getVariablesOrBuilder(
        int index) {
      return variables_.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;

      if (!hasDefindex()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getPrefabsCount(); i++) {
        if (!getPrefabs(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt32(1, defindex_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 2, name_);
      }
      for (int i = 0; i < prefabs_.size(); i++) {
        output.writeMessage(3, prefabs_.get(i));
      }
      for (int i = 0; i < tags_.size(); i++) {
        com.google.protobuf.GeneratedMessage.writeString(output, 4, tags_.getRaw(i));
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeBool(5, prefabOnly_);
      }
      for (int i = 0; i < variables_.size(); i++) {
        output.writeMessage(6, variables_.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, defindex_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(2, name_);
      }
      for (int i = 0; i < prefabs_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, prefabs_.get(i));
      }
      {
        int dataSize = 0;
        for (int i = 0; i < tags_.size(); i++) {
          dataSize += computeStringSizeNoTag(tags_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getTagsList().size();
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(5, prefabOnly_);
      }
      for (int i = 0; i < variables_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, variables_.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.TfProtoDefMessages.CMsgProtoDefHeader)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader) 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 (!getPrefabsList()
          .equals(other.getPrefabsList())) return false;
      if (!getTagsList()
          .equals(other.getTagsList())) return false;
      if (hasPrefabOnly() != other.hasPrefabOnly()) return false;
      if (hasPrefabOnly()) {
        if (getPrefabOnly()
            != other.getPrefabOnly()) return false;
      }
      if (!getVariablesList()
          .equals(other.getVariablesList())) 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) + DEFINDEX_FIELD_NUMBER;
        hash = (53 * hash) + getDefindex();
      }
      if (hasName()) {
        hash = (37 * hash) + NAME_FIELD_NUMBER;
        hash = (53 * hash) + getName().hashCode();
      }
      if (getPrefabsCount() > 0) {
        hash = (37 * hash) + PREFABS_FIELD_NUMBER;
        hash = (53 * hash) + getPrefabsList().hashCode();
      }
      if (getTagsCount() > 0) {
        hash = (37 * hash) + TAGS_FIELD_NUMBER;
        hash = (53 * hash) + getTagsList().hashCode();
      }
      if (hasPrefabOnly()) {
        hash = (37 * hash) + PREFAB_ONLY_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getPrefabOnly());
      }
      if (getVariablesCount() > 0) {
        hash = (37 * hash) + VARIABLES_FIELD_NUMBER;
        hash = (53 * hash) + getVariablesList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader 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.TfProtoDefMessages.CMsgProtoDefHeader parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader 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.TfProtoDefMessages.CMsgProtoDefHeader parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader 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.TfProtoDefMessages.CMsgProtoDefHeader parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader 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.TfProtoDefMessages.CMsgProtoDefHeader parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader 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.TfProtoDefMessages.CMsgProtoDefHeader 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.TfProtoDefMessages.CMsgProtoDefHeader 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.TfProtoDefMessages.CMsgProtoDefHeader 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 CMsgProtoDefHeader}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgProtoDefHeader)
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgProtoDefHeader_descriptor;
      }

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

      // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.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_ = "";
        if (prefabsBuilder_ == null) {
          prefabs_ = java.util.Collections.emptyList();
        } else {
          prefabs_ = null;
          prefabsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        tags_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
        prefabOnly_ = false;
        if (variablesBuilder_ == null) {
          variables_ = java.util.Collections.emptyList();
        } else {
          variables_ = null;
          variablesBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000020);
        return this;
      }

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

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

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

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

      private void buildPartialRepeatedFields(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader result) {
        if (prefabsBuilder_ == null) {
          if (((bitField0_ & 0x00000004) != 0)) {
            prefabs_ = java.util.Collections.unmodifiableList(prefabs_);
            bitField0_ = (bitField0_ & ~0x00000004);
          }
          result.prefabs_ = prefabs_;
        } else {
          result.prefabs_ = prefabsBuilder_.build();
        }
        if (variablesBuilder_ == null) {
          if (((bitField0_ & 0x00000020) != 0)) {
            variables_ = java.util.Collections.unmodifiableList(variables_);
            bitField0_ = (bitField0_ & ~0x00000020);
          }
          result.variables_ = variables_;
        } else {
          result.variables_ = variablesBuilder_.build();
        }
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader 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_ & 0x00000008) != 0)) {
          tags_.makeImmutable();
          result.tags_ = tags_;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.prefabOnly_ = prefabOnly_;
          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.TfProtoDefMessages.CMsgProtoDefHeader) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance()) return this;
        if (other.hasDefindex()) {
          setDefindex(other.getDefindex());
        }
        if (other.hasName()) {
          name_ = other.name_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        if (prefabsBuilder_ == null) {
          if (!other.prefabs_.isEmpty()) {
            if (prefabs_.isEmpty()) {
              prefabs_ = other.prefabs_;
              bitField0_ = (bitField0_ & ~0x00000004);
            } else {
              ensurePrefabsIsMutable();
              prefabs_.addAll(other.prefabs_);
            }
            onChanged();
          }
        } else {
          if (!other.prefabs_.isEmpty()) {
            if (prefabsBuilder_.isEmpty()) {
              prefabsBuilder_.dispose();
              prefabsBuilder_ = null;
              prefabs_ = other.prefabs_;
              bitField0_ = (bitField0_ & ~0x00000004);
              prefabsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getPrefabsFieldBuilder() : null;
            } else {
              prefabsBuilder_.addAllMessages(other.prefabs_);
            }
          }
        }
        if (!other.tags_.isEmpty()) {
          if (tags_.isEmpty()) {
            tags_ = other.tags_;
            bitField0_ |= 0x00000008;
          } else {
            ensureTagsIsMutable();
            tags_.addAll(other.tags_);
          }
          onChanged();
        }
        if (other.hasPrefabOnly()) {
          setPrefabOnly(other.getPrefabOnly());
        }
        if (variablesBuilder_ == null) {
          if (!other.variables_.isEmpty()) {
            if (variables_.isEmpty()) {
              variables_ = other.variables_;
              bitField0_ = (bitField0_ & ~0x00000020);
            } else {
              ensureVariablesIsMutable();
              variables_.addAll(other.variables_);
            }
            onChanged();
          }
        } else {
          if (!other.variables_.isEmpty()) {
            if (variablesBuilder_.isEmpty()) {
              variablesBuilder_.dispose();
              variablesBuilder_ = null;
              variables_ = other.variables_;
              bitField0_ = (bitField0_ & ~0x00000020);
              variablesBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getVariablesFieldBuilder() : null;
            } else {
              variablesBuilder_.addAllMessages(other.variables_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasDefindex()) {
          return false;
        }
        for (int i = 0; i < getPrefabsCount(); i++) {
          if (!getPrefabs(i).isInitialized()) {
            return false;
          }
        }
        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: {
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.parser(),
                        extensionRegistry);
                if (prefabsBuilder_ == null) {
                  ensurePrefabsIsMutable();
                  prefabs_.add(m);
                } else {
                  prefabsBuilder_.addMessage(m);
                }
                break;
              } // case 26
              case 34: {
                com.google.protobuf.ByteString bs = input.readBytes();
                ensureTagsIsMutable();
                tags_.add(bs);
                break;
              } // case 34
              case 40: {
                prefabOnly_ = input.readBool();
                bitField0_ |= 0x00000010;
                break;
              } // case 40
              case 50: {
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition.parser(),
                        extensionRegistry);
                if (variablesBuilder_ == null) {
                  ensureVariablesIsMutable();
                  variables_.add(m);
                } else {
                  variablesBuilder_.addMessage(m);
                }
                break;
              } // case 50
              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_ ;
      /**
       * required uint32 defindex = 1 [(.editable) = false, (.display_name) = "Defindex", (.comment) = "Autogenerated", (.self_inherit_only) = true];
       * @return Whether the defindex field is set.
       */
      @java.lang.Override
      public boolean hasDefindex() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * required uint32 defindex = 1 [(.editable) = false, (.display_name) = "Defindex", (.comment) = "Autogenerated", (.self_inherit_only) = true];
       * @return The defindex.
       */
      @java.lang.Override
      public int getDefindex() {
        return defindex_;
      }
      /**
       * required uint32 defindex = 1 [(.editable) = false, (.display_name) = "Defindex", (.comment) = "Autogenerated", (.self_inherit_only) = true];
       * @param value The defindex to set.
       * @return This builder for chaining.
       */
      public Builder setDefindex(int value) {

        defindex_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * required uint32 defindex = 1 [(.editable) = false, (.display_name) = "Defindex", (.comment) = "Autogenerated", (.self_inherit_only) = true];
       * @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 [(.display_name) = "Name", (.comment) = "Name to show in the editor", (.self_inherit_only) = true];
       * @return Whether the name field is set.
       */
      public boolean hasName() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional string name = 2 [(.display_name) = "Name", (.comment) = "Name to show in the editor", (.self_inherit_only) = true];
       * @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 [(.display_name) = "Name", (.comment) = "Name to show in the editor", (.self_inherit_only) = true];
       * @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 [(.display_name) = "Name", (.comment) = "Name to show in the editor", (.self_inherit_only) = true];
       * @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 [(.display_name) = "Name", (.comment) = "Name to show in the editor", (.self_inherit_only) = true];
       * @return This builder for chaining.
       */
      public Builder clearName() {
        name_ = getDefaultInstance().getName();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * optional string name = 2 [(.display_name) = "Name", (.comment) = "Name to show in the editor", (.self_inherit_only) = true];
       * @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.util.List prefabs_ =
        java.util.Collections.emptyList();
      private void ensurePrefabsIsMutable() {
        if (!((bitField0_ & 0x00000004) != 0)) {
          prefabs_ = new java.util.ArrayList(prefabs_);
          bitField0_ |= 0x00000004;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> prefabsBuilder_;

      /**
       * repeated .CMsgProtoDefID prefabs = 3 [(.display_name) = "Prefab", (.comment) = "Inherit the values of these definitions, in order from top to bottom.", (.panel_class_override) = "CPrefabFieldEditingPanel", (.self_inherit_only) = true];
       */
      public java.util.List getPrefabsList() {
        if (prefabsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(prefabs_);
        } else {
          return prefabsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CMsgProtoDefID prefabs = 3 [(.display_name) = "Prefab", (.comment) = "Inherit the values of these definitions, in order from top to bottom.", (.panel_class_override) = "CPrefabFieldEditingPanel", (.self_inherit_only) = true];
       */
      public int getPrefabsCount() {
        if (prefabsBuilder_ == null) {
          return prefabs_.size();
        } else {
          return prefabsBuilder_.getCount();
        }
      }
      /**
       * repeated .CMsgProtoDefID prefabs = 3 [(.display_name) = "Prefab", (.comment) = "Inherit the values of these definitions, in order from top to bottom.", (.panel_class_override) = "CPrefabFieldEditingPanel", (.self_inherit_only) = true];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getPrefabs(int index) {
        if (prefabsBuilder_ == null) {
          return prefabs_.get(index);
        } else {
          return prefabsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CMsgProtoDefID prefabs = 3 [(.display_name) = "Prefab", (.comment) = "Inherit the values of these definitions, in order from top to bottom.", (.panel_class_override) = "CPrefabFieldEditingPanel", (.self_inherit_only) = true];
       */
      public Builder setPrefabs(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
        if (prefabsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrefabsIsMutable();
          prefabs_.set(index, value);
          onChanged();
        } else {
          prefabsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgProtoDefID prefabs = 3 [(.display_name) = "Prefab", (.comment) = "Inherit the values of these definitions, in order from top to bottom.", (.panel_class_override) = "CPrefabFieldEditingPanel", (.self_inherit_only) = true];
       */
      public Builder setPrefabs(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder builderForValue) {
        if (prefabsBuilder_ == null) {
          ensurePrefabsIsMutable();
          prefabs_.set(index, builderForValue.build());
          onChanged();
        } else {
          prefabsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgProtoDefID prefabs = 3 [(.display_name) = "Prefab", (.comment) = "Inherit the values of these definitions, in order from top to bottom.", (.panel_class_override) = "CPrefabFieldEditingPanel", (.self_inherit_only) = true];
       */
      public Builder addPrefabs(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
        if (prefabsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrefabsIsMutable();
          prefabs_.add(value);
          onChanged();
        } else {
          prefabsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CMsgProtoDefID prefabs = 3 [(.display_name) = "Prefab", (.comment) = "Inherit the values of these definitions, in order from top to bottom.", (.panel_class_override) = "CPrefabFieldEditingPanel", (.self_inherit_only) = true];
       */
      public Builder addPrefabs(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
        if (prefabsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrefabsIsMutable();
          prefabs_.add(index, value);
          onChanged();
        } else {
          prefabsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgProtoDefID prefabs = 3 [(.display_name) = "Prefab", (.comment) = "Inherit the values of these definitions, in order from top to bottom.", (.panel_class_override) = "CPrefabFieldEditingPanel", (.self_inherit_only) = true];
       */
      public Builder addPrefabs(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder builderForValue) {
        if (prefabsBuilder_ == null) {
          ensurePrefabsIsMutable();
          prefabs_.add(builderForValue.build());
          onChanged();
        } else {
          prefabsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgProtoDefID prefabs = 3 [(.display_name) = "Prefab", (.comment) = "Inherit the values of these definitions, in order from top to bottom.", (.panel_class_override) = "CPrefabFieldEditingPanel", (.self_inherit_only) = true];
       */
      public Builder addPrefabs(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder builderForValue) {
        if (prefabsBuilder_ == null) {
          ensurePrefabsIsMutable();
          prefabs_.add(index, builderForValue.build());
          onChanged();
        } else {
          prefabsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgProtoDefID prefabs = 3 [(.display_name) = "Prefab", (.comment) = "Inherit the values of these definitions, in order from top to bottom.", (.panel_class_override) = "CPrefabFieldEditingPanel", (.self_inherit_only) = true];
       */
      public Builder addAllPrefabs(
          java.lang.Iterable values) {
        if (prefabsBuilder_ == null) {
          ensurePrefabsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, prefabs_);
          onChanged();
        } else {
          prefabsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CMsgProtoDefID prefabs = 3 [(.display_name) = "Prefab", (.comment) = "Inherit the values of these definitions, in order from top to bottom.", (.panel_class_override) = "CPrefabFieldEditingPanel", (.self_inherit_only) = true];
       */
      public Builder clearPrefabs() {
        if (prefabsBuilder_ == null) {
          prefabs_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
        } else {
          prefabsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CMsgProtoDefID prefabs = 3 [(.display_name) = "Prefab", (.comment) = "Inherit the values of these definitions, in order from top to bottom.", (.panel_class_override) = "CPrefabFieldEditingPanel", (.self_inherit_only) = true];
       */
      public Builder removePrefabs(int index) {
        if (prefabsBuilder_ == null) {
          ensurePrefabsIsMutable();
          prefabs_.remove(index);
          onChanged();
        } else {
          prefabsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CMsgProtoDefID prefabs = 3 [(.display_name) = "Prefab", (.comment) = "Inherit the values of these definitions, in order from top to bottom.", (.panel_class_override) = "CPrefabFieldEditingPanel", (.self_inherit_only) = true];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder getPrefabsBuilder(
          int index) {
        return getPrefabsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CMsgProtoDefID prefabs = 3 [(.display_name) = "Prefab", (.comment) = "Inherit the values of these definitions, in order from top to bottom.", (.panel_class_override) = "CPrefabFieldEditingPanel", (.self_inherit_only) = true];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getPrefabsOrBuilder(
          int index) {
        if (prefabsBuilder_ == null) {
          return prefabs_.get(index);  } else {
          return prefabsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CMsgProtoDefID prefabs = 3 [(.display_name) = "Prefab", (.comment) = "Inherit the values of these definitions, in order from top to bottom.", (.panel_class_override) = "CPrefabFieldEditingPanel", (.self_inherit_only) = true];
       */
      public java.util.List 
           getPrefabsOrBuilderList() {
        if (prefabsBuilder_ != null) {
          return prefabsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(prefabs_);
        }
      }
      /**
       * repeated .CMsgProtoDefID prefabs = 3 [(.display_name) = "Prefab", (.comment) = "Inherit the values of these definitions, in order from top to bottom.", (.panel_class_override) = "CPrefabFieldEditingPanel", (.self_inherit_only) = true];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder addPrefabsBuilder() {
        return getPrefabsFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance());
      }
      /**
       * repeated .CMsgProtoDefID prefabs = 3 [(.display_name) = "Prefab", (.comment) = "Inherit the values of these definitions, in order from top to bottom.", (.panel_class_override) = "CPrefabFieldEditingPanel", (.self_inherit_only) = true];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder addPrefabsBuilder(
          int index) {
        return getPrefabsFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance());
      }
      /**
       * repeated .CMsgProtoDefID prefabs = 3 [(.display_name) = "Prefab", (.comment) = "Inherit the values of these definitions, in order from top to bottom.", (.panel_class_override) = "CPrefabFieldEditingPanel", (.self_inherit_only) = true];
       */
      public java.util.List 
           getPrefabsBuilderList() {
        return getPrefabsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> 
          getPrefabsFieldBuilder() {
        if (prefabsBuilder_ == null) {
          prefabsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder>(
                  prefabs_,
                  ((bitField0_ & 0x00000004) != 0),
                  getParentForChildren(),
                  isClean());
          prefabs_ = null;
        }
        return prefabsBuilder_;
      }

      private com.google.protobuf.LazyStringArrayList tags_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
      private void ensureTagsIsMutable() {
        if (!tags_.isModifiable()) {
          tags_ = new com.google.protobuf.LazyStringArrayList(tags_);
        }
        bitField0_ |= 0x00000008;
      }
      /**
       * repeated string tags = 4 [(.display_name) = "Tags", (.comment) = "Strings used to describe this definition while searching.  ie. \'class\', \'shotgun\', \'easy\'"];
       * @return A list containing the tags.
       */
      public com.google.protobuf.ProtocolStringList
          getTagsList() {
        tags_.makeImmutable();
        return tags_;
      }
      /**
       * repeated string tags = 4 [(.display_name) = "Tags", (.comment) = "Strings used to describe this definition while searching.  ie. \'class\', \'shotgun\', \'easy\'"];
       * @return The count of tags.
       */
      public int getTagsCount() {
        return tags_.size();
      }
      /**
       * repeated string tags = 4 [(.display_name) = "Tags", (.comment) = "Strings used to describe this definition while searching.  ie. \'class\', \'shotgun\', \'easy\'"];
       * @param index The index of the element to return.
       * @return The tags at the given index.
       */
      public java.lang.String getTags(int index) {
        return tags_.get(index);
      }
      /**
       * repeated string tags = 4 [(.display_name) = "Tags", (.comment) = "Strings used to describe this definition while searching.  ie. \'class\', \'shotgun\', \'easy\'"];
       * @param index The index of the value to return.
       * @return The bytes of the tags at the given index.
       */
      public com.google.protobuf.ByteString
          getTagsBytes(int index) {
        return tags_.getByteString(index);
      }
      /**
       * repeated string tags = 4 [(.display_name) = "Tags", (.comment) = "Strings used to describe this definition while searching.  ie. \'class\', \'shotgun\', \'easy\'"];
       * @param index The index to set the value at.
       * @param value The tags to set.
       * @return This builder for chaining.
       */
      public Builder setTags(
          int index, java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureTagsIsMutable();
        tags_.set(index, value);
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * repeated string tags = 4 [(.display_name) = "Tags", (.comment) = "Strings used to describe this definition while searching.  ie. \'class\', \'shotgun\', \'easy\'"];
       * @param value The tags to add.
       * @return This builder for chaining.
       */
      public Builder addTags(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureTagsIsMutable();
        tags_.add(value);
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * repeated string tags = 4 [(.display_name) = "Tags", (.comment) = "Strings used to describe this definition while searching.  ie. \'class\', \'shotgun\', \'easy\'"];
       * @param values The tags to add.
       * @return This builder for chaining.
       */
      public Builder addAllTags(
          java.lang.Iterable values) {
        ensureTagsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, tags_);
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * repeated string tags = 4 [(.display_name) = "Tags", (.comment) = "Strings used to describe this definition while searching.  ie. \'class\', \'shotgun\', \'easy\'"];
       * @return This builder for chaining.
       */
      public Builder clearTags() {
        tags_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
        bitField0_ = (bitField0_ & ~0x00000008);;
        onChanged();
        return this;
      }
      /**
       * repeated string tags = 4 [(.display_name) = "Tags", (.comment) = "Strings used to describe this definition while searching.  ie. \'class\', \'shotgun\', \'easy\'"];
       * @param value The bytes of the tags to add.
       * @return This builder for chaining.
       */
      public Builder addTagsBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        ensureTagsIsMutable();
        tags_.add(value);
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }

      private boolean prefabOnly_ ;
      /**
       * optional bool prefab_only = 5 [default = false, (.display_name) = "Pure Prefab", (.comment) = "If true, this is only a prefab and will not be made into an object", (.self_inherit_only) = true];
       * @return Whether the prefabOnly field is set.
       */
      @java.lang.Override
      public boolean hasPrefabOnly() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * optional bool prefab_only = 5 [default = false, (.display_name) = "Pure Prefab", (.comment) = "If true, this is only a prefab and will not be made into an object", (.self_inherit_only) = true];
       * @return The prefabOnly.
       */
      @java.lang.Override
      public boolean getPrefabOnly() {
        return prefabOnly_;
      }
      /**
       * optional bool prefab_only = 5 [default = false, (.display_name) = "Pure Prefab", (.comment) = "If true, this is only a prefab and will not be made into an object", (.self_inherit_only) = true];
       * @param value The prefabOnly to set.
       * @return This builder for chaining.
       */
      public Builder setPrefabOnly(boolean value) {

        prefabOnly_ = value;
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * optional bool prefab_only = 5 [default = false, (.display_name) = "Pure Prefab", (.comment) = "If true, this is only a prefab and will not be made into an object", (.self_inherit_only) = true];
       * @return This builder for chaining.
       */
      public Builder clearPrefabOnly() {
        bitField0_ = (bitField0_ & ~0x00000010);
        prefabOnly_ = false;
        onChanged();
        return this;
      }

      private java.util.List variables_ =
        java.util.Collections.emptyList();
      private void ensureVariablesIsMutable() {
        if (!((bitField0_ & 0x00000020) != 0)) {
          variables_ = new java.util.ArrayList(variables_);
          bitField0_ |= 0x00000020;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinitionOrBuilder> variablesBuilder_;

      /**
       * repeated .CMsgVariableDefinition variables = 6 [(.display_name) = "Variables", (.comment) = "Variable value definitions", (.message_inherhitance_key_field_name) = "name"];
       */
      public java.util.List getVariablesList() {
        if (variablesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(variables_);
        } else {
          return variablesBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CMsgVariableDefinition variables = 6 [(.display_name) = "Variables", (.comment) = "Variable value definitions", (.message_inherhitance_key_field_name) = "name"];
       */
      public int getVariablesCount() {
        if (variablesBuilder_ == null) {
          return variables_.size();
        } else {
          return variablesBuilder_.getCount();
        }
      }
      /**
       * repeated .CMsgVariableDefinition variables = 6 [(.display_name) = "Variables", (.comment) = "Variable value definitions", (.message_inherhitance_key_field_name) = "name"];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition getVariables(int index) {
        if (variablesBuilder_ == null) {
          return variables_.get(index);
        } else {
          return variablesBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CMsgVariableDefinition variables = 6 [(.display_name) = "Variables", (.comment) = "Variable value definitions", (.message_inherhitance_key_field_name) = "name"];
       */
      public Builder setVariables(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition value) {
        if (variablesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureVariablesIsMutable();
          variables_.set(index, value);
          onChanged();
        } else {
          variablesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgVariableDefinition variables = 6 [(.display_name) = "Variables", (.comment) = "Variable value definitions", (.message_inherhitance_key_field_name) = "name"];
       */
      public Builder setVariables(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition.Builder builderForValue) {
        if (variablesBuilder_ == null) {
          ensureVariablesIsMutable();
          variables_.set(index, builderForValue.build());
          onChanged();
        } else {
          variablesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgVariableDefinition variables = 6 [(.display_name) = "Variables", (.comment) = "Variable value definitions", (.message_inherhitance_key_field_name) = "name"];
       */
      public Builder addVariables(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition value) {
        if (variablesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureVariablesIsMutable();
          variables_.add(value);
          onChanged();
        } else {
          variablesBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CMsgVariableDefinition variables = 6 [(.display_name) = "Variables", (.comment) = "Variable value definitions", (.message_inherhitance_key_field_name) = "name"];
       */
      public Builder addVariables(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition value) {
        if (variablesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureVariablesIsMutable();
          variables_.add(index, value);
          onChanged();
        } else {
          variablesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgVariableDefinition variables = 6 [(.display_name) = "Variables", (.comment) = "Variable value definitions", (.message_inherhitance_key_field_name) = "name"];
       */
      public Builder addVariables(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition.Builder builderForValue) {
        if (variablesBuilder_ == null) {
          ensureVariablesIsMutable();
          variables_.add(builderForValue.build());
          onChanged();
        } else {
          variablesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgVariableDefinition variables = 6 [(.display_name) = "Variables", (.comment) = "Variable value definitions", (.message_inherhitance_key_field_name) = "name"];
       */
      public Builder addVariables(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition.Builder builderForValue) {
        if (variablesBuilder_ == null) {
          ensureVariablesIsMutable();
          variables_.add(index, builderForValue.build());
          onChanged();
        } else {
          variablesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgVariableDefinition variables = 6 [(.display_name) = "Variables", (.comment) = "Variable value definitions", (.message_inherhitance_key_field_name) = "name"];
       */
      public Builder addAllVariables(
          java.lang.Iterable values) {
        if (variablesBuilder_ == null) {
          ensureVariablesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, variables_);
          onChanged();
        } else {
          variablesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CMsgVariableDefinition variables = 6 [(.display_name) = "Variables", (.comment) = "Variable value definitions", (.message_inherhitance_key_field_name) = "name"];
       */
      public Builder clearVariables() {
        if (variablesBuilder_ == null) {
          variables_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000020);
          onChanged();
        } else {
          variablesBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CMsgVariableDefinition variables = 6 [(.display_name) = "Variables", (.comment) = "Variable value definitions", (.message_inherhitance_key_field_name) = "name"];
       */
      public Builder removeVariables(int index) {
        if (variablesBuilder_ == null) {
          ensureVariablesIsMutable();
          variables_.remove(index);
          onChanged();
        } else {
          variablesBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CMsgVariableDefinition variables = 6 [(.display_name) = "Variables", (.comment) = "Variable value definitions", (.message_inherhitance_key_field_name) = "name"];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition.Builder getVariablesBuilder(
          int index) {
        return getVariablesFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CMsgVariableDefinition variables = 6 [(.display_name) = "Variables", (.comment) = "Variable value definitions", (.message_inherhitance_key_field_name) = "name"];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinitionOrBuilder getVariablesOrBuilder(
          int index) {
        if (variablesBuilder_ == null) {
          return variables_.get(index);  } else {
          return variablesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CMsgVariableDefinition variables = 6 [(.display_name) = "Variables", (.comment) = "Variable value definitions", (.message_inherhitance_key_field_name) = "name"];
       */
      public java.util.List 
           getVariablesOrBuilderList() {
        if (variablesBuilder_ != null) {
          return variablesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(variables_);
        }
      }
      /**
       * repeated .CMsgVariableDefinition variables = 6 [(.display_name) = "Variables", (.comment) = "Variable value definitions", (.message_inherhitance_key_field_name) = "name"];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition.Builder addVariablesBuilder() {
        return getVariablesFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition.getDefaultInstance());
      }
      /**
       * repeated .CMsgVariableDefinition variables = 6 [(.display_name) = "Variables", (.comment) = "Variable value definitions", (.message_inherhitance_key_field_name) = "name"];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition.Builder addVariablesBuilder(
          int index) {
        return getVariablesFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition.getDefaultInstance());
      }
      /**
       * repeated .CMsgVariableDefinition variables = 6 [(.display_name) = "Variables", (.comment) = "Variable value definitions", (.message_inherhitance_key_field_name) = "name"];
       */
      public java.util.List 
           getVariablesBuilderList() {
        return getVariablesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinitionOrBuilder> 
          getVariablesFieldBuilder() {
        if (variablesBuilder_ == null) {
          variablesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinition.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVariableDefinitionOrBuilder>(
                  variables_,
                  ((bitField0_ & 0x00000020) != 0),
                  getParentForChildren(),
                  isClean());
          variables_ = null;
        }
        return variablesBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgProtoDefHeader)
    }

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

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

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

  }

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

    /**
     * repeated .ProtoDefTypes types = 1;
     * @return A list containing the types.
     */
    java.util.List getTypesList();
    /**
     * repeated .ProtoDefTypes types = 1;
     * @return The count of types.
     */
    int getTypesCount();
    /**
     * repeated .ProtoDefTypes types = 1;
     * @param index The index of the element to return.
     * @return The types at the given index.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes getTypes(int index);
  }
  /**
   * Protobuf type {@code CMsgValidTypes}
   */
  public static final class CMsgValidTypes extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgValidTypes)
      CMsgValidTypesOrBuilder {
  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= */ "",
        CMsgValidTypes.class.getName());
    }
    // Use CMsgValidTypes.newBuilder() to construct.
    private CMsgValidTypes(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgValidTypes() {
      types_ = emptyIntList();
    }

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

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

    public static final int TYPES_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private com.google.protobuf.Internal.IntList types_;
    private static final com.google.protobuf.Internal.IntListAdapter.IntConverter<
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes> types_converter_ =
            new com.google.protobuf.Internal.IntListAdapter.IntConverter<
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes>() {
              public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes convert(int from) {
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes result = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes.forNumber(from);
                return result == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes.DEF_TYPE_QUEST_MAP_NODE : result;
              }
            };
    /**
     * repeated .ProtoDefTypes types = 1;
     * @return A list containing the types.
     */
    @java.lang.Override
    public java.util.List getTypesList() {
      return new com.google.protobuf.Internal.IntListAdapter<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes>(types_, types_converter_);
    }
    /**
     * repeated .ProtoDefTypes types = 1;
     * @return The count of types.
     */
    @java.lang.Override
    public int getTypesCount() {
      return types_.size();
    }
    /**
     * repeated .ProtoDefTypes types = 1;
     * @param index The index of the element to return.
     * @return The types at the given index.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes getTypes(int index) {
      return types_converter_.convert(types_.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 {
      for (int i = 0; i < types_.size(); i++) {
        output.writeEnum(1, types_.getInt(i));
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      {
        int dataSize = 0;
        for (int i = 0; i < types_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeEnumSizeNoTag(types_.getInt(i));
        }
        size += dataSize;
        size += 1 * types_.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.TfProtoDefMessages.CMsgValidTypes)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgValidTypes other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgValidTypes) obj;

      if (!types_.equals(other.types_)) 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 (getTypesCount() > 0) {
        hash = (37 * hash) + TYPES_FIELD_NUMBER;
        hash = (53 * hash) + types_.hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgValidTypes parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgValidTypes 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.TfProtoDefMessages.CMsgValidTypes parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgValidTypes 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.TfProtoDefMessages.CMsgValidTypes parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgValidTypes 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.TfProtoDefMessages.CMsgValidTypes parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgValidTypes 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.TfProtoDefMessages.CMsgValidTypes parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgValidTypes 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.TfProtoDefMessages.CMsgValidTypes 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.TfProtoDefMessages.CMsgValidTypes 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.TfProtoDefMessages.CMsgValidTypes 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 CMsgValidTypes}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgValidTypes)
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgValidTypesOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgValidTypes_descriptor;
      }

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

      // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgValidTypes.newBuilder()
      private Builder() {

      }

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

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        types_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

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

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

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

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

      private void buildPartialRepeatedFields(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgValidTypes result) {
        if (((bitField0_ & 0x00000001) != 0)) {
          types_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.types_ = types_;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgValidTypes result) {
        int from_bitField0_ = bitField0_;
      }

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

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgValidTypes other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgValidTypes.getDefaultInstance()) return this;
        if (!other.types_.isEmpty()) {
          if (types_.isEmpty()) {
            types_ = other.types_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureTypesIsMutable();
            types_.addAll(other.types_);
          }
          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: {
                int tmpRaw = input.readEnum();
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes tmpValue =
                    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes.forNumber(tmpRaw);
                if (tmpValue == null) {
                  mergeUnknownVarintField(1, tmpRaw);
                } else {
                  ensureTypesIsMutable();
                  types_.addInt(tmpRaw);
                }
                break;
              } // case 8
              case 10: {
                int length = input.readRawVarint32();
                int oldLimit = input.pushLimit(length);
                while(input.getBytesUntilLimit() > 0) {
                  int tmpRaw = input.readEnum();
                  in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes tmpValue =
                      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes.forNumber(tmpRaw);
                  if (tmpValue == null) {
                    mergeUnknownVarintField(1, tmpRaw);
                  } else {
                    ensureTypesIsMutable();
                    types_.addInt(tmpRaw);
                  }
                }
                input.popLimit(oldLimit);
                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.IntList types_ =
        emptyIntList();
      private void ensureTypesIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          types_ = makeMutableCopy(types_);
          bitField0_ |= 0x00000001;
        }
      }
      /**
       * repeated .ProtoDefTypes types = 1;
       * @return A list containing the types.
       */
      public java.util.List getTypesList() {
        return new com.google.protobuf.Internal.IntListAdapter<
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes>(types_, types_converter_);
      }
      /**
       * repeated .ProtoDefTypes types = 1;
       * @return The count of types.
       */
      public int getTypesCount() {
        return types_.size();
      }
      /**
       * repeated .ProtoDefTypes types = 1;
       * @param index The index of the element to return.
       * @return The types at the given index.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes getTypes(int index) {
        return types_converter_.convert(types_.getInt(index));
      }
      /**
       * repeated .ProtoDefTypes types = 1;
       * @param index The index to set the value at.
       * @param value The types to set.
       * @return This builder for chaining.
       */
      public Builder setTypes(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes value) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureTypesIsMutable();
        types_.setInt(index, value.getNumber());
        onChanged();
        return this;
      }
      /**
       * repeated .ProtoDefTypes types = 1;
       * @param value The types to add.
       * @return This builder for chaining.
       */
      public Builder addTypes(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes value) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureTypesIsMutable();
        types_.addInt(value.getNumber());
        onChanged();
        return this;
      }
      /**
       * repeated .ProtoDefTypes types = 1;
       * @param values The types to add.
       * @return This builder for chaining.
       */
      public Builder addAllTypes(
          java.lang.Iterable values) {
        ensureTypesIsMutable();
        for (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes value : values) {
          types_.addInt(value.getNumber());
        }
        onChanged();
        return this;
      }
      /**
       * repeated .ProtoDefTypes types = 1;
       * @return This builder for chaining.
       */
      public Builder clearTypes() {
        types_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgValidTypes)
    }

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

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

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

  }

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

    /**
     * optional uint32 defindex = 1;
     * @return Whether the defindex field is set.
     */
    boolean hasDefindex();
    /**
     * optional uint32 defindex = 1;
     * @return The defindex.
     */
    int getDefindex();

    /**
     * optional .ProtoDefTypes type = 2 [default = DEF_TYPE_QUEST_MAP_NODE];
     * @return Whether the type field is set.
     */
    boolean hasType();
    /**
     * optional .ProtoDefTypes type = 2 [default = DEF_TYPE_QUEST_MAP_NODE];
     * @return The type.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes getType();

    /**
     * .CMsgQuestMapNodeDef instance_def_type_quest_map_node = 3;
     * @return Whether the instanceDefTypeQuestMapNode field is set.
     */
    boolean hasInstanceDefTypeQuestMapNode();
    /**
     * .CMsgQuestMapNodeDef instance_def_type_quest_map_node = 3;
     * @return The instanceDefTypeQuestMapNode.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef getInstanceDefTypeQuestMapNode();
    /**
     * .CMsgQuestMapNodeDef instance_def_type_quest_map_node = 3;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDefOrBuilder getInstanceDefTypeQuestMapNodeOrBuilder();

    /**
     * .CMsgQuestTheme instance_def_type_quest_theme = 5;
     * @return Whether the instanceDefTypeQuestTheme field is set.
     */
    boolean hasInstanceDefTypeQuestTheme();
    /**
     * .CMsgQuestTheme instance_def_type_quest_theme = 5;
     * @return The instanceDefTypeQuestTheme.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme getInstanceDefTypeQuestTheme();
    /**
     * .CMsgQuestTheme instance_def_type_quest_theme = 5;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestThemeOrBuilder getInstanceDefTypeQuestThemeOrBuilder();

    /**
     * .CMsgQuestMapRegionDef instance_def_type_quest_map_region = 6;
     * @return Whether the instanceDefTypeQuestMapRegion field is set.
     */
    boolean hasInstanceDefTypeQuestMapRegion();
    /**
     * .CMsgQuestMapRegionDef instance_def_type_quest_map_region = 6;
     * @return The instanceDefTypeQuestMapRegion.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef getInstanceDefTypeQuestMapRegion();
    /**
     * .CMsgQuestMapRegionDef instance_def_type_quest_map_region = 6;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDefOrBuilder getInstanceDefTypeQuestMapRegionOrBuilder();

    /**
     * .CMsgQuestDef instance_def_type_quest = 7;
     * @return Whether the instanceDefTypeQuest field is set.
     */
    boolean hasInstanceDefTypeQuest();
    /**
     * .CMsgQuestDef instance_def_type_quest = 7;
     * @return The instanceDefTypeQuest.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef getInstanceDefTypeQuest();
    /**
     * .CMsgQuestDef instance_def_type_quest = 7;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDefOrBuilder getInstanceDefTypeQuestOrBuilder();

    /**
     * .CMsgQuestObjectiveDef instance_def_type_quest_objective = 8;
     * @return Whether the instanceDefTypeQuestObjective field is set.
     */
    boolean hasInstanceDefTypeQuestObjective();
    /**
     * .CMsgQuestObjectiveDef instance_def_type_quest_objective = 8;
     * @return The instanceDefTypeQuestObjective.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef getInstanceDefTypeQuestObjective();
    /**
     * .CMsgQuestObjectiveDef instance_def_type_quest_objective = 8;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDefOrBuilder getInstanceDefTypeQuestObjectiveOrBuilder();

    /**
     * .CMsgPaintKit_Variables instance_def_type_paintkit_variables = 9;
     * @return Whether the instanceDefTypePaintkitVariables field is set.
     */
    boolean hasInstanceDefTypePaintkitVariables();
    /**
     * .CMsgPaintKit_Variables instance_def_type_paintkit_variables = 9;
     * @return The instanceDefTypePaintkitVariables.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables getInstanceDefTypePaintkitVariables();
    /**
     * .CMsgPaintKit_Variables instance_def_type_paintkit_variables = 9;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_VariablesOrBuilder getInstanceDefTypePaintkitVariablesOrBuilder();

    /**
     * .CMsgPaintKit_Operation instance_def_type_paintkit_operation = 10;
     * @return Whether the instanceDefTypePaintkitOperation field is set.
     */
    boolean hasInstanceDefTypePaintkitOperation();
    /**
     * .CMsgPaintKit_Operation instance_def_type_paintkit_operation = 10;
     * @return The instanceDefTypePaintkitOperation.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation getInstanceDefTypePaintkitOperation();
    /**
     * .CMsgPaintKit_Operation instance_def_type_paintkit_operation = 10;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationOrBuilder getInstanceDefTypePaintkitOperationOrBuilder();

    /**
     * .CMsgPaintKit_ItemDefinition instance_def_type_paintkit_item_definition = 11;
     * @return Whether the instanceDefTypePaintkitItemDefinition field is set.
     */
    boolean hasInstanceDefTypePaintkitItemDefinition();
    /**
     * .CMsgPaintKit_ItemDefinition instance_def_type_paintkit_item_definition = 11;
     * @return The instanceDefTypePaintkitItemDefinition.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition getInstanceDefTypePaintkitItemDefinition();
    /**
     * .CMsgPaintKit_ItemDefinition instance_def_type_paintkit_item_definition = 11;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinitionOrBuilder getInstanceDefTypePaintkitItemDefinitionOrBuilder();

    /**
     * .CMsgPaintKit_Definition instance_def_type_paintkit_definition = 12;
     * @return Whether the instanceDefTypePaintkitDefinition field is set.
     */
    boolean hasInstanceDefTypePaintkitDefinition();
    /**
     * .CMsgPaintKit_Definition instance_def_type_paintkit_definition = 12;
     * @return The instanceDefTypePaintkitDefinition.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition getInstanceDefTypePaintkitDefinition();
    /**
     * .CMsgPaintKit_Definition instance_def_type_paintkit_definition = 12;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_DefinitionOrBuilder getInstanceDefTypePaintkitDefinitionOrBuilder();

    /**
     * .CMsgHeaderOnly instance_def_type_header_only = 13;
     * @return Whether the instanceDefTypeHeaderOnly field is set.
     */
    boolean hasInstanceDefTypeHeaderOnly();
    /**
     * .CMsgHeaderOnly instance_def_type_header_only = 13;
     * @return The instanceDefTypeHeaderOnly.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly getInstanceDefTypeHeaderOnly();
    /**
     * .CMsgHeaderOnly instance_def_type_header_only = 13;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnlyOrBuilder getInstanceDefTypeHeaderOnlyOrBuilder();

    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.InstanceCase getInstanceCase();
  }
  /**
   * Protobuf type {@code CMsgProtoDefID}
   */
  public static final class CMsgProtoDefID extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgProtoDefID)
      CMsgProtoDefIDOrBuilder {
  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= */ "",
        CMsgProtoDefID.class.getName());
    }
    // Use CMsgProtoDefID.newBuilder() to construct.
    private CMsgProtoDefID(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgProtoDefID() {
      type_ = 0;
    }

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

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

    private int bitField0_;
    private int instanceCase_ = 0;
    @SuppressWarnings("serial")
    private java.lang.Object instance_;
    public enum InstanceCase
        implements com.google.protobuf.Internal.EnumLite,
            com.google.protobuf.AbstractMessage.InternalOneOfEnum {
      INSTANCE_DEF_TYPE_QUEST_MAP_NODE(3),
      INSTANCE_DEF_TYPE_QUEST_THEME(5),
      INSTANCE_DEF_TYPE_QUEST_MAP_REGION(6),
      INSTANCE_DEF_TYPE_QUEST(7),
      INSTANCE_DEF_TYPE_QUEST_OBJECTIVE(8),
      INSTANCE_DEF_TYPE_PAINTKIT_VARIABLES(9),
      INSTANCE_DEF_TYPE_PAINTKIT_OPERATION(10),
      INSTANCE_DEF_TYPE_PAINTKIT_ITEM_DEFINITION(11),
      INSTANCE_DEF_TYPE_PAINTKIT_DEFINITION(12),
      INSTANCE_DEF_TYPE_HEADER_ONLY(13),
      INSTANCE_NOT_SET(0);
      private final int value;
      private InstanceCase(int value) {
        this.value = value;
      }
      /**
       * @param value The number of the enum to look for.
       * @return The enum associated with the given number.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static InstanceCase valueOf(int value) {
        return forNumber(value);
      }

      public static InstanceCase forNumber(int value) {
        switch (value) {
          case 3: return INSTANCE_DEF_TYPE_QUEST_MAP_NODE;
          case 5: return INSTANCE_DEF_TYPE_QUEST_THEME;
          case 6: return INSTANCE_DEF_TYPE_QUEST_MAP_REGION;
          case 7: return INSTANCE_DEF_TYPE_QUEST;
          case 8: return INSTANCE_DEF_TYPE_QUEST_OBJECTIVE;
          case 9: return INSTANCE_DEF_TYPE_PAINTKIT_VARIABLES;
          case 10: return INSTANCE_DEF_TYPE_PAINTKIT_OPERATION;
          case 11: return INSTANCE_DEF_TYPE_PAINTKIT_ITEM_DEFINITION;
          case 12: return INSTANCE_DEF_TYPE_PAINTKIT_DEFINITION;
          case 13: return INSTANCE_DEF_TYPE_HEADER_ONLY;
          case 0: return INSTANCE_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    public InstanceCase
    getInstanceCase() {
      return InstanceCase.forNumber(
          instanceCase_);
    }

    public static final int DEFINDEX_FIELD_NUMBER = 1;
    private int defindex_ = 0;
    /**
     * optional uint32 defindex = 1;
     * @return Whether the defindex field is set.
     */
    @java.lang.Override
    public boolean hasDefindex() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 defindex = 1;
     * @return The defindex.
     */
    @java.lang.Override
    public int getDefindex() {
      return defindex_;
    }

    public static final int TYPE_FIELD_NUMBER = 2;
    private int type_ = 0;
    /**
     * optional .ProtoDefTypes type = 2 [default = DEF_TYPE_QUEST_MAP_NODE];
     * @return Whether the type field is set.
     */
    @java.lang.Override public boolean hasType() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional .ProtoDefTypes type = 2 [default = DEF_TYPE_QUEST_MAP_NODE];
     * @return The type.
     */
    @java.lang.Override public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes getType() {
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes result = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes.forNumber(type_);
      return result == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes.DEF_TYPE_QUEST_MAP_NODE : result;
    }

    public static final int INSTANCE_DEF_TYPE_QUEST_MAP_NODE_FIELD_NUMBER = 3;
    /**
     * .CMsgQuestMapNodeDef instance_def_type_quest_map_node = 3;
     * @return Whether the instanceDefTypeQuestMapNode field is set.
     */
    @java.lang.Override
    public boolean hasInstanceDefTypeQuestMapNode() {
      return instanceCase_ == 3;
    }
    /**
     * .CMsgQuestMapNodeDef instance_def_type_quest_map_node = 3;
     * @return The instanceDefTypeQuestMapNode.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef getInstanceDefTypeQuestMapNode() {
      if (instanceCase_ == 3) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef) instance_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef.getDefaultInstance();
    }
    /**
     * .CMsgQuestMapNodeDef instance_def_type_quest_map_node = 3;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDefOrBuilder getInstanceDefTypeQuestMapNodeOrBuilder() {
      if (instanceCase_ == 3) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef) instance_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef.getDefaultInstance();
    }

    public static final int INSTANCE_DEF_TYPE_QUEST_THEME_FIELD_NUMBER = 5;
    /**
     * .CMsgQuestTheme instance_def_type_quest_theme = 5;
     * @return Whether the instanceDefTypeQuestTheme field is set.
     */
    @java.lang.Override
    public boolean hasInstanceDefTypeQuestTheme() {
      return instanceCase_ == 5;
    }
    /**
     * .CMsgQuestTheme instance_def_type_quest_theme = 5;
     * @return The instanceDefTypeQuestTheme.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme getInstanceDefTypeQuestTheme() {
      if (instanceCase_ == 5) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme) instance_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.getDefaultInstance();
    }
    /**
     * .CMsgQuestTheme instance_def_type_quest_theme = 5;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestThemeOrBuilder getInstanceDefTypeQuestThemeOrBuilder() {
      if (instanceCase_ == 5) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme) instance_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.getDefaultInstance();
    }

    public static final int INSTANCE_DEF_TYPE_QUEST_MAP_REGION_FIELD_NUMBER = 6;
    /**
     * .CMsgQuestMapRegionDef instance_def_type_quest_map_region = 6;
     * @return Whether the instanceDefTypeQuestMapRegion field is set.
     */
    @java.lang.Override
    public boolean hasInstanceDefTypeQuestMapRegion() {
      return instanceCase_ == 6;
    }
    /**
     * .CMsgQuestMapRegionDef instance_def_type_quest_map_region = 6;
     * @return The instanceDefTypeQuestMapRegion.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef getInstanceDefTypeQuestMapRegion() {
      if (instanceCase_ == 6) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef) instance_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.getDefaultInstance();
    }
    /**
     * .CMsgQuestMapRegionDef instance_def_type_quest_map_region = 6;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDefOrBuilder getInstanceDefTypeQuestMapRegionOrBuilder() {
      if (instanceCase_ == 6) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef) instance_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.getDefaultInstance();
    }

    public static final int INSTANCE_DEF_TYPE_QUEST_FIELD_NUMBER = 7;
    /**
     * .CMsgQuestDef instance_def_type_quest = 7;
     * @return Whether the instanceDefTypeQuest field is set.
     */
    @java.lang.Override
    public boolean hasInstanceDefTypeQuest() {
      return instanceCase_ == 7;
    }
    /**
     * .CMsgQuestDef instance_def_type_quest = 7;
     * @return The instanceDefTypeQuest.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef getInstanceDefTypeQuest() {
      if (instanceCase_ == 7) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef) instance_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.getDefaultInstance();
    }
    /**
     * .CMsgQuestDef instance_def_type_quest = 7;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDefOrBuilder getInstanceDefTypeQuestOrBuilder() {
      if (instanceCase_ == 7) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef) instance_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.getDefaultInstance();
    }

    public static final int INSTANCE_DEF_TYPE_QUEST_OBJECTIVE_FIELD_NUMBER = 8;
    /**
     * .CMsgQuestObjectiveDef instance_def_type_quest_objective = 8;
     * @return Whether the instanceDefTypeQuestObjective field is set.
     */
    @java.lang.Override
    public boolean hasInstanceDefTypeQuestObjective() {
      return instanceCase_ == 8;
    }
    /**
     * .CMsgQuestObjectiveDef instance_def_type_quest_objective = 8;
     * @return The instanceDefTypeQuestObjective.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef getInstanceDefTypeQuestObjective() {
      if (instanceCase_ == 8) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef) instance_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.getDefaultInstance();
    }
    /**
     * .CMsgQuestObjectiveDef instance_def_type_quest_objective = 8;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDefOrBuilder getInstanceDefTypeQuestObjectiveOrBuilder() {
      if (instanceCase_ == 8) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef) instance_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.getDefaultInstance();
    }

    public static final int INSTANCE_DEF_TYPE_PAINTKIT_VARIABLES_FIELD_NUMBER = 9;
    /**
     * .CMsgPaintKit_Variables instance_def_type_paintkit_variables = 9;
     * @return Whether the instanceDefTypePaintkitVariables field is set.
     */
    @java.lang.Override
    public boolean hasInstanceDefTypePaintkitVariables() {
      return instanceCase_ == 9;
    }
    /**
     * .CMsgPaintKit_Variables instance_def_type_paintkit_variables = 9;
     * @return The instanceDefTypePaintkitVariables.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables getInstanceDefTypePaintkitVariables() {
      if (instanceCase_ == 9) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables) instance_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables.getDefaultInstance();
    }
    /**
     * .CMsgPaintKit_Variables instance_def_type_paintkit_variables = 9;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_VariablesOrBuilder getInstanceDefTypePaintkitVariablesOrBuilder() {
      if (instanceCase_ == 9) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables) instance_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables.getDefaultInstance();
    }

    public static final int INSTANCE_DEF_TYPE_PAINTKIT_OPERATION_FIELD_NUMBER = 10;
    /**
     * .CMsgPaintKit_Operation instance_def_type_paintkit_operation = 10;
     * @return Whether the instanceDefTypePaintkitOperation field is set.
     */
    @java.lang.Override
    public boolean hasInstanceDefTypePaintkitOperation() {
      return instanceCase_ == 10;
    }
    /**
     * .CMsgPaintKit_Operation instance_def_type_paintkit_operation = 10;
     * @return The instanceDefTypePaintkitOperation.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation getInstanceDefTypePaintkitOperation() {
      if (instanceCase_ == 10) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation) instance_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation.getDefaultInstance();
    }
    /**
     * .CMsgPaintKit_Operation instance_def_type_paintkit_operation = 10;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationOrBuilder getInstanceDefTypePaintkitOperationOrBuilder() {
      if (instanceCase_ == 10) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation) instance_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation.getDefaultInstance();
    }

    public static final int INSTANCE_DEF_TYPE_PAINTKIT_ITEM_DEFINITION_FIELD_NUMBER = 11;
    /**
     * .CMsgPaintKit_ItemDefinition instance_def_type_paintkit_item_definition = 11;
     * @return Whether the instanceDefTypePaintkitItemDefinition field is set.
     */
    @java.lang.Override
    public boolean hasInstanceDefTypePaintkitItemDefinition() {
      return instanceCase_ == 11;
    }
    /**
     * .CMsgPaintKit_ItemDefinition instance_def_type_paintkit_item_definition = 11;
     * @return The instanceDefTypePaintkitItemDefinition.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition getInstanceDefTypePaintkitItemDefinition() {
      if (instanceCase_ == 11) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition) instance_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.getDefaultInstance();
    }
    /**
     * .CMsgPaintKit_ItemDefinition instance_def_type_paintkit_item_definition = 11;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinitionOrBuilder getInstanceDefTypePaintkitItemDefinitionOrBuilder() {
      if (instanceCase_ == 11) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition) instance_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.getDefaultInstance();
    }

    public static final int INSTANCE_DEF_TYPE_PAINTKIT_DEFINITION_FIELD_NUMBER = 12;
    /**
     * .CMsgPaintKit_Definition instance_def_type_paintkit_definition = 12;
     * @return Whether the instanceDefTypePaintkitDefinition field is set.
     */
    @java.lang.Override
    public boolean hasInstanceDefTypePaintkitDefinition() {
      return instanceCase_ == 12;
    }
    /**
     * .CMsgPaintKit_Definition instance_def_type_paintkit_definition = 12;
     * @return The instanceDefTypePaintkitDefinition.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition getInstanceDefTypePaintkitDefinition() {
      if (instanceCase_ == 12) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition) instance_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.getDefaultInstance();
    }
    /**
     * .CMsgPaintKit_Definition instance_def_type_paintkit_definition = 12;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_DefinitionOrBuilder getInstanceDefTypePaintkitDefinitionOrBuilder() {
      if (instanceCase_ == 12) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition) instance_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.getDefaultInstance();
    }

    public static final int INSTANCE_DEF_TYPE_HEADER_ONLY_FIELD_NUMBER = 13;
    /**
     * .CMsgHeaderOnly instance_def_type_header_only = 13;
     * @return Whether the instanceDefTypeHeaderOnly field is set.
     */
    @java.lang.Override
    public boolean hasInstanceDefTypeHeaderOnly() {
      return instanceCase_ == 13;
    }
    /**
     * .CMsgHeaderOnly instance_def_type_header_only = 13;
     * @return The instanceDefTypeHeaderOnly.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly getInstanceDefTypeHeaderOnly() {
      if (instanceCase_ == 13) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly) instance_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly.getDefaultInstance();
    }
    /**
     * .CMsgHeaderOnly instance_def_type_header_only = 13;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnlyOrBuilder getInstanceDefTypeHeaderOnlyOrBuilder() {
      if (instanceCase_ == 13) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly) instance_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly.getDefaultInstance();
    }

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

      if (hasInstanceDefTypeQuestMapNode()) {
        if (!getInstanceDefTypeQuestMapNode().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasInstanceDefTypeQuestTheme()) {
        if (!getInstanceDefTypeQuestTheme().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasInstanceDefTypeQuestMapRegion()) {
        if (!getInstanceDefTypeQuestMapRegion().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasInstanceDefTypeQuest()) {
        if (!getInstanceDefTypeQuest().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasInstanceDefTypeQuestObjective()) {
        if (!getInstanceDefTypeQuestObjective().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasInstanceDefTypePaintkitVariables()) {
        if (!getInstanceDefTypePaintkitVariables().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasInstanceDefTypePaintkitOperation()) {
        if (!getInstanceDefTypePaintkitOperation().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasInstanceDefTypePaintkitItemDefinition()) {
        if (!getInstanceDefTypePaintkitItemDefinition().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasInstanceDefTypePaintkitDefinition()) {
        if (!getInstanceDefTypePaintkitDefinition().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasInstanceDefTypeHeaderOnly()) {
        if (!getInstanceDefTypeHeaderOnly().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt32(1, defindex_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeEnum(2, type_);
      }
      if (instanceCase_ == 3) {
        output.writeMessage(3, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef) instance_);
      }
      if (instanceCase_ == 5) {
        output.writeMessage(5, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme) instance_);
      }
      if (instanceCase_ == 6) {
        output.writeMessage(6, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef) instance_);
      }
      if (instanceCase_ == 7) {
        output.writeMessage(7, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef) instance_);
      }
      if (instanceCase_ == 8) {
        output.writeMessage(8, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef) instance_);
      }
      if (instanceCase_ == 9) {
        output.writeMessage(9, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables) instance_);
      }
      if (instanceCase_ == 10) {
        output.writeMessage(10, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation) instance_);
      }
      if (instanceCase_ == 11) {
        output.writeMessage(11, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition) instance_);
      }
      if (instanceCase_ == 12) {
        output.writeMessage(12, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition) instance_);
      }
      if (instanceCase_ == 13) {
        output.writeMessage(13, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly) instance_);
      }
      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
          .computeEnumSize(2, type_);
      }
      if (instanceCase_ == 3) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef) instance_);
      }
      if (instanceCase_ == 5) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme) instance_);
      }
      if (instanceCase_ == 6) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef) instance_);
      }
      if (instanceCase_ == 7) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(7, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef) instance_);
      }
      if (instanceCase_ == 8) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(8, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef) instance_);
      }
      if (instanceCase_ == 9) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(9, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables) instance_);
      }
      if (instanceCase_ == 10) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(10, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation) instance_);
      }
      if (instanceCase_ == 11) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(11, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition) instance_);
      }
      if (instanceCase_ == 12) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(12, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition) instance_);
      }
      if (instanceCase_ == 13) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(13, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly) instance_);
      }
      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.TfProtoDefMessages.CMsgProtoDefID)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID) obj;

      if (hasDefindex() != other.hasDefindex()) return false;
      if (hasDefindex()) {
        if (getDefindex()
            != other.getDefindex()) return false;
      }
      if (hasType() != other.hasType()) return false;
      if (hasType()) {
        if (type_ != other.type_) return false;
      }
      if (!getInstanceCase().equals(other.getInstanceCase())) return false;
      switch (instanceCase_) {
        case 3:
          if (!getInstanceDefTypeQuestMapNode()
              .equals(other.getInstanceDefTypeQuestMapNode())) return false;
          break;
        case 5:
          if (!getInstanceDefTypeQuestTheme()
              .equals(other.getInstanceDefTypeQuestTheme())) return false;
          break;
        case 6:
          if (!getInstanceDefTypeQuestMapRegion()
              .equals(other.getInstanceDefTypeQuestMapRegion())) return false;
          break;
        case 7:
          if (!getInstanceDefTypeQuest()
              .equals(other.getInstanceDefTypeQuest())) return false;
          break;
        case 8:
          if (!getInstanceDefTypeQuestObjective()
              .equals(other.getInstanceDefTypeQuestObjective())) return false;
          break;
        case 9:
          if (!getInstanceDefTypePaintkitVariables()
              .equals(other.getInstanceDefTypePaintkitVariables())) return false;
          break;
        case 10:
          if (!getInstanceDefTypePaintkitOperation()
              .equals(other.getInstanceDefTypePaintkitOperation())) return false;
          break;
        case 11:
          if (!getInstanceDefTypePaintkitItemDefinition()
              .equals(other.getInstanceDefTypePaintkitItemDefinition())) return false;
          break;
        case 12:
          if (!getInstanceDefTypePaintkitDefinition()
              .equals(other.getInstanceDefTypePaintkitDefinition())) return false;
          break;
        case 13:
          if (!getInstanceDefTypeHeaderOnly()
              .equals(other.getInstanceDefTypeHeaderOnly())) return false;
          break;
        case 0:
        default:
      }
      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) + DEFINDEX_FIELD_NUMBER;
        hash = (53 * hash) + getDefindex();
      }
      if (hasType()) {
        hash = (37 * hash) + TYPE_FIELD_NUMBER;
        hash = (53 * hash) + type_;
      }
      switch (instanceCase_) {
        case 3:
          hash = (37 * hash) + INSTANCE_DEF_TYPE_QUEST_MAP_NODE_FIELD_NUMBER;
          hash = (53 * hash) + getInstanceDefTypeQuestMapNode().hashCode();
          break;
        case 5:
          hash = (37 * hash) + INSTANCE_DEF_TYPE_QUEST_THEME_FIELD_NUMBER;
          hash = (53 * hash) + getInstanceDefTypeQuestTheme().hashCode();
          break;
        case 6:
          hash = (37 * hash) + INSTANCE_DEF_TYPE_QUEST_MAP_REGION_FIELD_NUMBER;
          hash = (53 * hash) + getInstanceDefTypeQuestMapRegion().hashCode();
          break;
        case 7:
          hash = (37 * hash) + INSTANCE_DEF_TYPE_QUEST_FIELD_NUMBER;
          hash = (53 * hash) + getInstanceDefTypeQuest().hashCode();
          break;
        case 8:
          hash = (37 * hash) + INSTANCE_DEF_TYPE_QUEST_OBJECTIVE_FIELD_NUMBER;
          hash = (53 * hash) + getInstanceDefTypeQuestObjective().hashCode();
          break;
        case 9:
          hash = (37 * hash) + INSTANCE_DEF_TYPE_PAINTKIT_VARIABLES_FIELD_NUMBER;
          hash = (53 * hash) + getInstanceDefTypePaintkitVariables().hashCode();
          break;
        case 10:
          hash = (37 * hash) + INSTANCE_DEF_TYPE_PAINTKIT_OPERATION_FIELD_NUMBER;
          hash = (53 * hash) + getInstanceDefTypePaintkitOperation().hashCode();
          break;
        case 11:
          hash = (37 * hash) + INSTANCE_DEF_TYPE_PAINTKIT_ITEM_DEFINITION_FIELD_NUMBER;
          hash = (53 * hash) + getInstanceDefTypePaintkitItemDefinition().hashCode();
          break;
        case 12:
          hash = (37 * hash) + INSTANCE_DEF_TYPE_PAINTKIT_DEFINITION_FIELD_NUMBER;
          hash = (53 * hash) + getInstanceDefTypePaintkitDefinition().hashCode();
          break;
        case 13:
          hash = (37 * hash) + INSTANCE_DEF_TYPE_HEADER_ONLY_FIELD_NUMBER;
          hash = (53 * hash) + getInstanceDefTypeHeaderOnly().hashCode();
          break;
        case 0:
        default:
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID 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.TfProtoDefMessages.CMsgProtoDefID parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID 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.TfProtoDefMessages.CMsgProtoDefID parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID 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.TfProtoDefMessages.CMsgProtoDefID parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID 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.TfProtoDefMessages.CMsgProtoDefID parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID 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.TfProtoDefMessages.CMsgProtoDefID 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.TfProtoDefMessages.CMsgProtoDefID 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.TfProtoDefMessages.CMsgProtoDefID 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 CMsgProtoDefID}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgProtoDefID)
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgProtoDefID_descriptor;
      }

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

      // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.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;
        type_ = 0;
        if (instanceDefTypeQuestMapNodeBuilder_ != null) {
          instanceDefTypeQuestMapNodeBuilder_.clear();
        }
        if (instanceDefTypeQuestThemeBuilder_ != null) {
          instanceDefTypeQuestThemeBuilder_.clear();
        }
        if (instanceDefTypeQuestMapRegionBuilder_ != null) {
          instanceDefTypeQuestMapRegionBuilder_.clear();
        }
        if (instanceDefTypeQuestBuilder_ != null) {
          instanceDefTypeQuestBuilder_.clear();
        }
        if (instanceDefTypeQuestObjectiveBuilder_ != null) {
          instanceDefTypeQuestObjectiveBuilder_.clear();
        }
        if (instanceDefTypePaintkitVariablesBuilder_ != null) {
          instanceDefTypePaintkitVariablesBuilder_.clear();
        }
        if (instanceDefTypePaintkitOperationBuilder_ != null) {
          instanceDefTypePaintkitOperationBuilder_.clear();
        }
        if (instanceDefTypePaintkitItemDefinitionBuilder_ != null) {
          instanceDefTypePaintkitItemDefinitionBuilder_.clear();
        }
        if (instanceDefTypePaintkitDefinitionBuilder_ != null) {
          instanceDefTypePaintkitDefinitionBuilder_.clear();
        }
        if (instanceDefTypeHeaderOnlyBuilder_ != null) {
          instanceDefTypeHeaderOnlyBuilder_.clear();
        }
        instanceCase_ = 0;
        instance_ = null;
        return this;
      }

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

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

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

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

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID 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.type_ = type_;
          to_bitField0_ |= 0x00000002;
        }
        result.bitField0_ |= to_bitField0_;
      }

      private void buildPartialOneofs(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID result) {
        result.instanceCase_ = instanceCase_;
        result.instance_ = this.instance_;
        if (instanceCase_ == 3 &&
            instanceDefTypeQuestMapNodeBuilder_ != null) {
          result.instance_ = instanceDefTypeQuestMapNodeBuilder_.build();
        }
        if (instanceCase_ == 5 &&
            instanceDefTypeQuestThemeBuilder_ != null) {
          result.instance_ = instanceDefTypeQuestThemeBuilder_.build();
        }
        if (instanceCase_ == 6 &&
            instanceDefTypeQuestMapRegionBuilder_ != null) {
          result.instance_ = instanceDefTypeQuestMapRegionBuilder_.build();
        }
        if (instanceCase_ == 7 &&
            instanceDefTypeQuestBuilder_ != null) {
          result.instance_ = instanceDefTypeQuestBuilder_.build();
        }
        if (instanceCase_ == 8 &&
            instanceDefTypeQuestObjectiveBuilder_ != null) {
          result.instance_ = instanceDefTypeQuestObjectiveBuilder_.build();
        }
        if (instanceCase_ == 9 &&
            instanceDefTypePaintkitVariablesBuilder_ != null) {
          result.instance_ = instanceDefTypePaintkitVariablesBuilder_.build();
        }
        if (instanceCase_ == 10 &&
            instanceDefTypePaintkitOperationBuilder_ != null) {
          result.instance_ = instanceDefTypePaintkitOperationBuilder_.build();
        }
        if (instanceCase_ == 11 &&
            instanceDefTypePaintkitItemDefinitionBuilder_ != null) {
          result.instance_ = instanceDefTypePaintkitItemDefinitionBuilder_.build();
        }
        if (instanceCase_ == 12 &&
            instanceDefTypePaintkitDefinitionBuilder_ != null) {
          result.instance_ = instanceDefTypePaintkitDefinitionBuilder_.build();
        }
        if (instanceCase_ == 13 &&
            instanceDefTypeHeaderOnlyBuilder_ != null) {
          result.instance_ = instanceDefTypeHeaderOnlyBuilder_.build();
        }
      }

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

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance()) return this;
        if (other.hasDefindex()) {
          setDefindex(other.getDefindex());
        }
        if (other.hasType()) {
          setType(other.getType());
        }
        switch (other.getInstanceCase()) {
          case INSTANCE_DEF_TYPE_QUEST_MAP_NODE: {
            mergeInstanceDefTypeQuestMapNode(other.getInstanceDefTypeQuestMapNode());
            break;
          }
          case INSTANCE_DEF_TYPE_QUEST_THEME: {
            mergeInstanceDefTypeQuestTheme(other.getInstanceDefTypeQuestTheme());
            break;
          }
          case INSTANCE_DEF_TYPE_QUEST_MAP_REGION: {
            mergeInstanceDefTypeQuestMapRegion(other.getInstanceDefTypeQuestMapRegion());
            break;
          }
          case INSTANCE_DEF_TYPE_QUEST: {
            mergeInstanceDefTypeQuest(other.getInstanceDefTypeQuest());
            break;
          }
          case INSTANCE_DEF_TYPE_QUEST_OBJECTIVE: {
            mergeInstanceDefTypeQuestObjective(other.getInstanceDefTypeQuestObjective());
            break;
          }
          case INSTANCE_DEF_TYPE_PAINTKIT_VARIABLES: {
            mergeInstanceDefTypePaintkitVariables(other.getInstanceDefTypePaintkitVariables());
            break;
          }
          case INSTANCE_DEF_TYPE_PAINTKIT_OPERATION: {
            mergeInstanceDefTypePaintkitOperation(other.getInstanceDefTypePaintkitOperation());
            break;
          }
          case INSTANCE_DEF_TYPE_PAINTKIT_ITEM_DEFINITION: {
            mergeInstanceDefTypePaintkitItemDefinition(other.getInstanceDefTypePaintkitItemDefinition());
            break;
          }
          case INSTANCE_DEF_TYPE_PAINTKIT_DEFINITION: {
            mergeInstanceDefTypePaintkitDefinition(other.getInstanceDefTypePaintkitDefinition());
            break;
          }
          case INSTANCE_DEF_TYPE_HEADER_ONLY: {
            mergeInstanceDefTypeHeaderOnly(other.getInstanceDefTypeHeaderOnly());
            break;
          }
          case INSTANCE_NOT_SET: {
            break;
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (hasInstanceDefTypeQuestMapNode()) {
          if (!getInstanceDefTypeQuestMapNode().isInitialized()) {
            return false;
          }
        }
        if (hasInstanceDefTypeQuestTheme()) {
          if (!getInstanceDefTypeQuestTheme().isInitialized()) {
            return false;
          }
        }
        if (hasInstanceDefTypeQuestMapRegion()) {
          if (!getInstanceDefTypeQuestMapRegion().isInitialized()) {
            return false;
          }
        }
        if (hasInstanceDefTypeQuest()) {
          if (!getInstanceDefTypeQuest().isInitialized()) {
            return false;
          }
        }
        if (hasInstanceDefTypeQuestObjective()) {
          if (!getInstanceDefTypeQuestObjective().isInitialized()) {
            return false;
          }
        }
        if (hasInstanceDefTypePaintkitVariables()) {
          if (!getInstanceDefTypePaintkitVariables().isInitialized()) {
            return false;
          }
        }
        if (hasInstanceDefTypePaintkitOperation()) {
          if (!getInstanceDefTypePaintkitOperation().isInitialized()) {
            return false;
          }
        }
        if (hasInstanceDefTypePaintkitItemDefinition()) {
          if (!getInstanceDefTypePaintkitItemDefinition().isInitialized()) {
            return false;
          }
        }
        if (hasInstanceDefTypePaintkitDefinition()) {
          if (!getInstanceDefTypePaintkitDefinition().isInitialized()) {
            return false;
          }
        }
        if (hasInstanceDefTypeHeaderOnly()) {
          if (!getInstanceDefTypeHeaderOnly().isInitialized()) {
            return false;
          }
        }
        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: {
                int tmpRaw = input.readEnum();
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes tmpValue =
                    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes.forNumber(tmpRaw);
                if (tmpValue == null) {
                  mergeUnknownVarintField(2, tmpRaw);
                } else {
                  type_ = tmpRaw;
                  bitField0_ |= 0x00000002;
                }
                break;
              } // case 16
              case 26: {
                input.readMessage(
                    getInstanceDefTypeQuestMapNodeFieldBuilder().getBuilder(),
                    extensionRegistry);
                instanceCase_ = 3;
                break;
              } // case 26
              case 42: {
                input.readMessage(
                    getInstanceDefTypeQuestThemeFieldBuilder().getBuilder(),
                    extensionRegistry);
                instanceCase_ = 5;
                break;
              } // case 42
              case 50: {
                input.readMessage(
                    getInstanceDefTypeQuestMapRegionFieldBuilder().getBuilder(),
                    extensionRegistry);
                instanceCase_ = 6;
                break;
              } // case 50
              case 58: {
                input.readMessage(
                    getInstanceDefTypeQuestFieldBuilder().getBuilder(),
                    extensionRegistry);
                instanceCase_ = 7;
                break;
              } // case 58
              case 66: {
                input.readMessage(
                    getInstanceDefTypeQuestObjectiveFieldBuilder().getBuilder(),
                    extensionRegistry);
                instanceCase_ = 8;
                break;
              } // case 66
              case 74: {
                input.readMessage(
                    getInstanceDefTypePaintkitVariablesFieldBuilder().getBuilder(),
                    extensionRegistry);
                instanceCase_ = 9;
                break;
              } // case 74
              case 82: {
                input.readMessage(
                    getInstanceDefTypePaintkitOperationFieldBuilder().getBuilder(),
                    extensionRegistry);
                instanceCase_ = 10;
                break;
              } // case 82
              case 90: {
                input.readMessage(
                    getInstanceDefTypePaintkitItemDefinitionFieldBuilder().getBuilder(),
                    extensionRegistry);
                instanceCase_ = 11;
                break;
              } // case 90
              case 98: {
                input.readMessage(
                    getInstanceDefTypePaintkitDefinitionFieldBuilder().getBuilder(),
                    extensionRegistry);
                instanceCase_ = 12;
                break;
              } // case 98
              case 106: {
                input.readMessage(
                    getInstanceDefTypeHeaderOnlyFieldBuilder().getBuilder(),
                    extensionRegistry);
                instanceCase_ = 13;
                break;
              } // case 106
              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 instanceCase_ = 0;
      private java.lang.Object instance_;
      public InstanceCase
          getInstanceCase() {
        return InstanceCase.forNumber(
            instanceCase_);
      }

      public Builder clearInstance() {
        instanceCase_ = 0;
        instance_ = null;
        onChanged();
        return this;
      }

      private int bitField0_;

      private int defindex_ ;
      /**
       * optional uint32 defindex = 1;
       * @return Whether the defindex field is set.
       */
      @java.lang.Override
      public boolean hasDefindex() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 defindex = 1;
       * @return The defindex.
       */
      @java.lang.Override
      public int getDefindex() {
        return defindex_;
      }
      /**
       * optional uint32 defindex = 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 defindex = 1;
       * @return This builder for chaining.
       */
      public Builder clearDefindex() {
        bitField0_ = (bitField0_ & ~0x00000001);
        defindex_ = 0;
        onChanged();
        return this;
      }

      private int type_ = 0;
      /**
       * optional .ProtoDefTypes type = 2 [default = DEF_TYPE_QUEST_MAP_NODE];
       * @return Whether the type field is set.
       */
      @java.lang.Override public boolean hasType() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional .ProtoDefTypes type = 2 [default = DEF_TYPE_QUEST_MAP_NODE];
       * @return The type.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes getType() {
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes result = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes.forNumber(type_);
        return result == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes.DEF_TYPE_QUEST_MAP_NODE : result;
      }
      /**
       * optional .ProtoDefTypes type = 2 [default = DEF_TYPE_QUEST_MAP_NODE];
       * @param value The type to set.
       * @return This builder for chaining.
       */
      public Builder setType(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000002;
        type_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * optional .ProtoDefTypes type = 2 [default = DEF_TYPE_QUEST_MAP_NODE];
       * @return This builder for chaining.
       */
      public Builder clearType() {
        bitField0_ = (bitField0_ & ~0x00000002);
        type_ = 0;
        onChanged();
        return this;
      }

      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDefOrBuilder> instanceDefTypeQuestMapNodeBuilder_;
      /**
       * .CMsgQuestMapNodeDef instance_def_type_quest_map_node = 3;
       * @return Whether the instanceDefTypeQuestMapNode field is set.
       */
      @java.lang.Override
      public boolean hasInstanceDefTypeQuestMapNode() {
        return instanceCase_ == 3;
      }
      /**
       * .CMsgQuestMapNodeDef instance_def_type_quest_map_node = 3;
       * @return The instanceDefTypeQuestMapNode.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef getInstanceDefTypeQuestMapNode() {
        if (instanceDefTypeQuestMapNodeBuilder_ == null) {
          if (instanceCase_ == 3) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef) instance_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef.getDefaultInstance();
        } else {
          if (instanceCase_ == 3) {
            return instanceDefTypeQuestMapNodeBuilder_.getMessage();
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef.getDefaultInstance();
        }
      }
      /**
       * .CMsgQuestMapNodeDef instance_def_type_quest_map_node = 3;
       */
      public Builder setInstanceDefTypeQuestMapNode(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef value) {
        if (instanceDefTypeQuestMapNodeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          instance_ = value;
          onChanged();
        } else {
          instanceDefTypeQuestMapNodeBuilder_.setMessage(value);
        }
        instanceCase_ = 3;
        return this;
      }
      /**
       * .CMsgQuestMapNodeDef instance_def_type_quest_map_node = 3;
       */
      public Builder setInstanceDefTypeQuestMapNode(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef.Builder builderForValue) {
        if (instanceDefTypeQuestMapNodeBuilder_ == null) {
          instance_ = builderForValue.build();
          onChanged();
        } else {
          instanceDefTypeQuestMapNodeBuilder_.setMessage(builderForValue.build());
        }
        instanceCase_ = 3;
        return this;
      }
      /**
       * .CMsgQuestMapNodeDef instance_def_type_quest_map_node = 3;
       */
      public Builder mergeInstanceDefTypeQuestMapNode(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef value) {
        if (instanceDefTypeQuestMapNodeBuilder_ == null) {
          if (instanceCase_ == 3 &&
              instance_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef.getDefaultInstance()) {
            instance_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef.newBuilder((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef) instance_)
                .mergeFrom(value).buildPartial();
          } else {
            instance_ = value;
          }
          onChanged();
        } else {
          if (instanceCase_ == 3) {
            instanceDefTypeQuestMapNodeBuilder_.mergeFrom(value);
          } else {
            instanceDefTypeQuestMapNodeBuilder_.setMessage(value);
          }
        }
        instanceCase_ = 3;
        return this;
      }
      /**
       * .CMsgQuestMapNodeDef instance_def_type_quest_map_node = 3;
       */
      public Builder clearInstanceDefTypeQuestMapNode() {
        if (instanceDefTypeQuestMapNodeBuilder_ == null) {
          if (instanceCase_ == 3) {
            instanceCase_ = 0;
            instance_ = null;
            onChanged();
          }
        } else {
          if (instanceCase_ == 3) {
            instanceCase_ = 0;
            instance_ = null;
          }
          instanceDefTypeQuestMapNodeBuilder_.clear();
        }
        return this;
      }
      /**
       * .CMsgQuestMapNodeDef instance_def_type_quest_map_node = 3;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef.Builder getInstanceDefTypeQuestMapNodeBuilder() {
        return getInstanceDefTypeQuestMapNodeFieldBuilder().getBuilder();
      }
      /**
       * .CMsgQuestMapNodeDef instance_def_type_quest_map_node = 3;
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDefOrBuilder getInstanceDefTypeQuestMapNodeOrBuilder() {
        if ((instanceCase_ == 3) && (instanceDefTypeQuestMapNodeBuilder_ != null)) {
          return instanceDefTypeQuestMapNodeBuilder_.getMessageOrBuilder();
        } else {
          if (instanceCase_ == 3) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef) instance_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef.getDefaultInstance();
        }
      }
      /**
       * .CMsgQuestMapNodeDef instance_def_type_quest_map_node = 3;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDefOrBuilder> 
          getInstanceDefTypeQuestMapNodeFieldBuilder() {
        if (instanceDefTypeQuestMapNodeBuilder_ == null) {
          if (!(instanceCase_ == 3)) {
            instance_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef.getDefaultInstance();
          }
          instanceDefTypeQuestMapNodeBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDefOrBuilder>(
                  (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef) instance_,
                  getParentForChildren(),
                  isClean());
          instance_ = null;
        }
        instanceCase_ = 3;
        onChanged();
        return instanceDefTypeQuestMapNodeBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestThemeOrBuilder> instanceDefTypeQuestThemeBuilder_;
      /**
       * .CMsgQuestTheme instance_def_type_quest_theme = 5;
       * @return Whether the instanceDefTypeQuestTheme field is set.
       */
      @java.lang.Override
      public boolean hasInstanceDefTypeQuestTheme() {
        return instanceCase_ == 5;
      }
      /**
       * .CMsgQuestTheme instance_def_type_quest_theme = 5;
       * @return The instanceDefTypeQuestTheme.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme getInstanceDefTypeQuestTheme() {
        if (instanceDefTypeQuestThemeBuilder_ == null) {
          if (instanceCase_ == 5) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme) instance_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.getDefaultInstance();
        } else {
          if (instanceCase_ == 5) {
            return instanceDefTypeQuestThemeBuilder_.getMessage();
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.getDefaultInstance();
        }
      }
      /**
       * .CMsgQuestTheme instance_def_type_quest_theme = 5;
       */
      public Builder setInstanceDefTypeQuestTheme(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme value) {
        if (instanceDefTypeQuestThemeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          instance_ = value;
          onChanged();
        } else {
          instanceDefTypeQuestThemeBuilder_.setMessage(value);
        }
        instanceCase_ = 5;
        return this;
      }
      /**
       * .CMsgQuestTheme instance_def_type_quest_theme = 5;
       */
      public Builder setInstanceDefTypeQuestTheme(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.Builder builderForValue) {
        if (instanceDefTypeQuestThemeBuilder_ == null) {
          instance_ = builderForValue.build();
          onChanged();
        } else {
          instanceDefTypeQuestThemeBuilder_.setMessage(builderForValue.build());
        }
        instanceCase_ = 5;
        return this;
      }
      /**
       * .CMsgQuestTheme instance_def_type_quest_theme = 5;
       */
      public Builder mergeInstanceDefTypeQuestTheme(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme value) {
        if (instanceDefTypeQuestThemeBuilder_ == null) {
          if (instanceCase_ == 5 &&
              instance_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.getDefaultInstance()) {
            instance_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.newBuilder((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme) instance_)
                .mergeFrom(value).buildPartial();
          } else {
            instance_ = value;
          }
          onChanged();
        } else {
          if (instanceCase_ == 5) {
            instanceDefTypeQuestThemeBuilder_.mergeFrom(value);
          } else {
            instanceDefTypeQuestThemeBuilder_.setMessage(value);
          }
        }
        instanceCase_ = 5;
        return this;
      }
      /**
       * .CMsgQuestTheme instance_def_type_quest_theme = 5;
       */
      public Builder clearInstanceDefTypeQuestTheme() {
        if (instanceDefTypeQuestThemeBuilder_ == null) {
          if (instanceCase_ == 5) {
            instanceCase_ = 0;
            instance_ = null;
            onChanged();
          }
        } else {
          if (instanceCase_ == 5) {
            instanceCase_ = 0;
            instance_ = null;
          }
          instanceDefTypeQuestThemeBuilder_.clear();
        }
        return this;
      }
      /**
       * .CMsgQuestTheme instance_def_type_quest_theme = 5;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.Builder getInstanceDefTypeQuestThemeBuilder() {
        return getInstanceDefTypeQuestThemeFieldBuilder().getBuilder();
      }
      /**
       * .CMsgQuestTheme instance_def_type_quest_theme = 5;
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestThemeOrBuilder getInstanceDefTypeQuestThemeOrBuilder() {
        if ((instanceCase_ == 5) && (instanceDefTypeQuestThemeBuilder_ != null)) {
          return instanceDefTypeQuestThemeBuilder_.getMessageOrBuilder();
        } else {
          if (instanceCase_ == 5) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme) instance_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.getDefaultInstance();
        }
      }
      /**
       * .CMsgQuestTheme instance_def_type_quest_theme = 5;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestThemeOrBuilder> 
          getInstanceDefTypeQuestThemeFieldBuilder() {
        if (instanceDefTypeQuestThemeBuilder_ == null) {
          if (!(instanceCase_ == 5)) {
            instance_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.getDefaultInstance();
          }
          instanceDefTypeQuestThemeBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestThemeOrBuilder>(
                  (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme) instance_,
                  getParentForChildren(),
                  isClean());
          instance_ = null;
        }
        instanceCase_ = 5;
        onChanged();
        return instanceDefTypeQuestThemeBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDefOrBuilder> instanceDefTypeQuestMapRegionBuilder_;
      /**
       * .CMsgQuestMapRegionDef instance_def_type_quest_map_region = 6;
       * @return Whether the instanceDefTypeQuestMapRegion field is set.
       */
      @java.lang.Override
      public boolean hasInstanceDefTypeQuestMapRegion() {
        return instanceCase_ == 6;
      }
      /**
       * .CMsgQuestMapRegionDef instance_def_type_quest_map_region = 6;
       * @return The instanceDefTypeQuestMapRegion.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef getInstanceDefTypeQuestMapRegion() {
        if (instanceDefTypeQuestMapRegionBuilder_ == null) {
          if (instanceCase_ == 6) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef) instance_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.getDefaultInstance();
        } else {
          if (instanceCase_ == 6) {
            return instanceDefTypeQuestMapRegionBuilder_.getMessage();
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.getDefaultInstance();
        }
      }
      /**
       * .CMsgQuestMapRegionDef instance_def_type_quest_map_region = 6;
       */
      public Builder setInstanceDefTypeQuestMapRegion(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef value) {
        if (instanceDefTypeQuestMapRegionBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          instance_ = value;
          onChanged();
        } else {
          instanceDefTypeQuestMapRegionBuilder_.setMessage(value);
        }
        instanceCase_ = 6;
        return this;
      }
      /**
       * .CMsgQuestMapRegionDef instance_def_type_quest_map_region = 6;
       */
      public Builder setInstanceDefTypeQuestMapRegion(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.Builder builderForValue) {
        if (instanceDefTypeQuestMapRegionBuilder_ == null) {
          instance_ = builderForValue.build();
          onChanged();
        } else {
          instanceDefTypeQuestMapRegionBuilder_.setMessage(builderForValue.build());
        }
        instanceCase_ = 6;
        return this;
      }
      /**
       * .CMsgQuestMapRegionDef instance_def_type_quest_map_region = 6;
       */
      public Builder mergeInstanceDefTypeQuestMapRegion(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef value) {
        if (instanceDefTypeQuestMapRegionBuilder_ == null) {
          if (instanceCase_ == 6 &&
              instance_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.getDefaultInstance()) {
            instance_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.newBuilder((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef) instance_)
                .mergeFrom(value).buildPartial();
          } else {
            instance_ = value;
          }
          onChanged();
        } else {
          if (instanceCase_ == 6) {
            instanceDefTypeQuestMapRegionBuilder_.mergeFrom(value);
          } else {
            instanceDefTypeQuestMapRegionBuilder_.setMessage(value);
          }
        }
        instanceCase_ = 6;
        return this;
      }
      /**
       * .CMsgQuestMapRegionDef instance_def_type_quest_map_region = 6;
       */
      public Builder clearInstanceDefTypeQuestMapRegion() {
        if (instanceDefTypeQuestMapRegionBuilder_ == null) {
          if (instanceCase_ == 6) {
            instanceCase_ = 0;
            instance_ = null;
            onChanged();
          }
        } else {
          if (instanceCase_ == 6) {
            instanceCase_ = 0;
            instance_ = null;
          }
          instanceDefTypeQuestMapRegionBuilder_.clear();
        }
        return this;
      }
      /**
       * .CMsgQuestMapRegionDef instance_def_type_quest_map_region = 6;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.Builder getInstanceDefTypeQuestMapRegionBuilder() {
        return getInstanceDefTypeQuestMapRegionFieldBuilder().getBuilder();
      }
      /**
       * .CMsgQuestMapRegionDef instance_def_type_quest_map_region = 6;
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDefOrBuilder getInstanceDefTypeQuestMapRegionOrBuilder() {
        if ((instanceCase_ == 6) && (instanceDefTypeQuestMapRegionBuilder_ != null)) {
          return instanceDefTypeQuestMapRegionBuilder_.getMessageOrBuilder();
        } else {
          if (instanceCase_ == 6) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef) instance_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.getDefaultInstance();
        }
      }
      /**
       * .CMsgQuestMapRegionDef instance_def_type_quest_map_region = 6;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDefOrBuilder> 
          getInstanceDefTypeQuestMapRegionFieldBuilder() {
        if (instanceDefTypeQuestMapRegionBuilder_ == null) {
          if (!(instanceCase_ == 6)) {
            instance_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.getDefaultInstance();
          }
          instanceDefTypeQuestMapRegionBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDefOrBuilder>(
                  (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef) instance_,
                  getParentForChildren(),
                  isClean());
          instance_ = null;
        }
        instanceCase_ = 6;
        onChanged();
        return instanceDefTypeQuestMapRegionBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDefOrBuilder> instanceDefTypeQuestBuilder_;
      /**
       * .CMsgQuestDef instance_def_type_quest = 7;
       * @return Whether the instanceDefTypeQuest field is set.
       */
      @java.lang.Override
      public boolean hasInstanceDefTypeQuest() {
        return instanceCase_ == 7;
      }
      /**
       * .CMsgQuestDef instance_def_type_quest = 7;
       * @return The instanceDefTypeQuest.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef getInstanceDefTypeQuest() {
        if (instanceDefTypeQuestBuilder_ == null) {
          if (instanceCase_ == 7) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef) instance_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.getDefaultInstance();
        } else {
          if (instanceCase_ == 7) {
            return instanceDefTypeQuestBuilder_.getMessage();
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.getDefaultInstance();
        }
      }
      /**
       * .CMsgQuestDef instance_def_type_quest = 7;
       */
      public Builder setInstanceDefTypeQuest(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef value) {
        if (instanceDefTypeQuestBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          instance_ = value;
          onChanged();
        } else {
          instanceDefTypeQuestBuilder_.setMessage(value);
        }
        instanceCase_ = 7;
        return this;
      }
      /**
       * .CMsgQuestDef instance_def_type_quest = 7;
       */
      public Builder setInstanceDefTypeQuest(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.Builder builderForValue) {
        if (instanceDefTypeQuestBuilder_ == null) {
          instance_ = builderForValue.build();
          onChanged();
        } else {
          instanceDefTypeQuestBuilder_.setMessage(builderForValue.build());
        }
        instanceCase_ = 7;
        return this;
      }
      /**
       * .CMsgQuestDef instance_def_type_quest = 7;
       */
      public Builder mergeInstanceDefTypeQuest(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef value) {
        if (instanceDefTypeQuestBuilder_ == null) {
          if (instanceCase_ == 7 &&
              instance_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.getDefaultInstance()) {
            instance_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.newBuilder((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef) instance_)
                .mergeFrom(value).buildPartial();
          } else {
            instance_ = value;
          }
          onChanged();
        } else {
          if (instanceCase_ == 7) {
            instanceDefTypeQuestBuilder_.mergeFrom(value);
          } else {
            instanceDefTypeQuestBuilder_.setMessage(value);
          }
        }
        instanceCase_ = 7;
        return this;
      }
      /**
       * .CMsgQuestDef instance_def_type_quest = 7;
       */
      public Builder clearInstanceDefTypeQuest() {
        if (instanceDefTypeQuestBuilder_ == null) {
          if (instanceCase_ == 7) {
            instanceCase_ = 0;
            instance_ = null;
            onChanged();
          }
        } else {
          if (instanceCase_ == 7) {
            instanceCase_ = 0;
            instance_ = null;
          }
          instanceDefTypeQuestBuilder_.clear();
        }
        return this;
      }
      /**
       * .CMsgQuestDef instance_def_type_quest = 7;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.Builder getInstanceDefTypeQuestBuilder() {
        return getInstanceDefTypeQuestFieldBuilder().getBuilder();
      }
      /**
       * .CMsgQuestDef instance_def_type_quest = 7;
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDefOrBuilder getInstanceDefTypeQuestOrBuilder() {
        if ((instanceCase_ == 7) && (instanceDefTypeQuestBuilder_ != null)) {
          return instanceDefTypeQuestBuilder_.getMessageOrBuilder();
        } else {
          if (instanceCase_ == 7) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef) instance_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.getDefaultInstance();
        }
      }
      /**
       * .CMsgQuestDef instance_def_type_quest = 7;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDefOrBuilder> 
          getInstanceDefTypeQuestFieldBuilder() {
        if (instanceDefTypeQuestBuilder_ == null) {
          if (!(instanceCase_ == 7)) {
            instance_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.getDefaultInstance();
          }
          instanceDefTypeQuestBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDefOrBuilder>(
                  (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef) instance_,
                  getParentForChildren(),
                  isClean());
          instance_ = null;
        }
        instanceCase_ = 7;
        onChanged();
        return instanceDefTypeQuestBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDefOrBuilder> instanceDefTypeQuestObjectiveBuilder_;
      /**
       * .CMsgQuestObjectiveDef instance_def_type_quest_objective = 8;
       * @return Whether the instanceDefTypeQuestObjective field is set.
       */
      @java.lang.Override
      public boolean hasInstanceDefTypeQuestObjective() {
        return instanceCase_ == 8;
      }
      /**
       * .CMsgQuestObjectiveDef instance_def_type_quest_objective = 8;
       * @return The instanceDefTypeQuestObjective.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef getInstanceDefTypeQuestObjective() {
        if (instanceDefTypeQuestObjectiveBuilder_ == null) {
          if (instanceCase_ == 8) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef) instance_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.getDefaultInstance();
        } else {
          if (instanceCase_ == 8) {
            return instanceDefTypeQuestObjectiveBuilder_.getMessage();
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.getDefaultInstance();
        }
      }
      /**
       * .CMsgQuestObjectiveDef instance_def_type_quest_objective = 8;
       */
      public Builder setInstanceDefTypeQuestObjective(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef value) {
        if (instanceDefTypeQuestObjectiveBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          instance_ = value;
          onChanged();
        } else {
          instanceDefTypeQuestObjectiveBuilder_.setMessage(value);
        }
        instanceCase_ = 8;
        return this;
      }
      /**
       * .CMsgQuestObjectiveDef instance_def_type_quest_objective = 8;
       */
      public Builder setInstanceDefTypeQuestObjective(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.Builder builderForValue) {
        if (instanceDefTypeQuestObjectiveBuilder_ == null) {
          instance_ = builderForValue.build();
          onChanged();
        } else {
          instanceDefTypeQuestObjectiveBuilder_.setMessage(builderForValue.build());
        }
        instanceCase_ = 8;
        return this;
      }
      /**
       * .CMsgQuestObjectiveDef instance_def_type_quest_objective = 8;
       */
      public Builder mergeInstanceDefTypeQuestObjective(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef value) {
        if (instanceDefTypeQuestObjectiveBuilder_ == null) {
          if (instanceCase_ == 8 &&
              instance_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.getDefaultInstance()) {
            instance_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.newBuilder((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef) instance_)
                .mergeFrom(value).buildPartial();
          } else {
            instance_ = value;
          }
          onChanged();
        } else {
          if (instanceCase_ == 8) {
            instanceDefTypeQuestObjectiveBuilder_.mergeFrom(value);
          } else {
            instanceDefTypeQuestObjectiveBuilder_.setMessage(value);
          }
        }
        instanceCase_ = 8;
        return this;
      }
      /**
       * .CMsgQuestObjectiveDef instance_def_type_quest_objective = 8;
       */
      public Builder clearInstanceDefTypeQuestObjective() {
        if (instanceDefTypeQuestObjectiveBuilder_ == null) {
          if (instanceCase_ == 8) {
            instanceCase_ = 0;
            instance_ = null;
            onChanged();
          }
        } else {
          if (instanceCase_ == 8) {
            instanceCase_ = 0;
            instance_ = null;
          }
          instanceDefTypeQuestObjectiveBuilder_.clear();
        }
        return this;
      }
      /**
       * .CMsgQuestObjectiveDef instance_def_type_quest_objective = 8;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.Builder getInstanceDefTypeQuestObjectiveBuilder() {
        return getInstanceDefTypeQuestObjectiveFieldBuilder().getBuilder();
      }
      /**
       * .CMsgQuestObjectiveDef instance_def_type_quest_objective = 8;
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDefOrBuilder getInstanceDefTypeQuestObjectiveOrBuilder() {
        if ((instanceCase_ == 8) && (instanceDefTypeQuestObjectiveBuilder_ != null)) {
          return instanceDefTypeQuestObjectiveBuilder_.getMessageOrBuilder();
        } else {
          if (instanceCase_ == 8) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef) instance_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.getDefaultInstance();
        }
      }
      /**
       * .CMsgQuestObjectiveDef instance_def_type_quest_objective = 8;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDefOrBuilder> 
          getInstanceDefTypeQuestObjectiveFieldBuilder() {
        if (instanceDefTypeQuestObjectiveBuilder_ == null) {
          if (!(instanceCase_ == 8)) {
            instance_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.getDefaultInstance();
          }
          instanceDefTypeQuestObjectiveBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDefOrBuilder>(
                  (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef) instance_,
                  getParentForChildren(),
                  isClean());
          instance_ = null;
        }
        instanceCase_ = 8;
        onChanged();
        return instanceDefTypeQuestObjectiveBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_VariablesOrBuilder> instanceDefTypePaintkitVariablesBuilder_;
      /**
       * .CMsgPaintKit_Variables instance_def_type_paintkit_variables = 9;
       * @return Whether the instanceDefTypePaintkitVariables field is set.
       */
      @java.lang.Override
      public boolean hasInstanceDefTypePaintkitVariables() {
        return instanceCase_ == 9;
      }
      /**
       * .CMsgPaintKit_Variables instance_def_type_paintkit_variables = 9;
       * @return The instanceDefTypePaintkitVariables.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables getInstanceDefTypePaintkitVariables() {
        if (instanceDefTypePaintkitVariablesBuilder_ == null) {
          if (instanceCase_ == 9) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables) instance_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables.getDefaultInstance();
        } else {
          if (instanceCase_ == 9) {
            return instanceDefTypePaintkitVariablesBuilder_.getMessage();
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables.getDefaultInstance();
        }
      }
      /**
       * .CMsgPaintKit_Variables instance_def_type_paintkit_variables = 9;
       */
      public Builder setInstanceDefTypePaintkitVariables(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables value) {
        if (instanceDefTypePaintkitVariablesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          instance_ = value;
          onChanged();
        } else {
          instanceDefTypePaintkitVariablesBuilder_.setMessage(value);
        }
        instanceCase_ = 9;
        return this;
      }
      /**
       * .CMsgPaintKit_Variables instance_def_type_paintkit_variables = 9;
       */
      public Builder setInstanceDefTypePaintkitVariables(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables.Builder builderForValue) {
        if (instanceDefTypePaintkitVariablesBuilder_ == null) {
          instance_ = builderForValue.build();
          onChanged();
        } else {
          instanceDefTypePaintkitVariablesBuilder_.setMessage(builderForValue.build());
        }
        instanceCase_ = 9;
        return this;
      }
      /**
       * .CMsgPaintKit_Variables instance_def_type_paintkit_variables = 9;
       */
      public Builder mergeInstanceDefTypePaintkitVariables(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables value) {
        if (instanceDefTypePaintkitVariablesBuilder_ == null) {
          if (instanceCase_ == 9 &&
              instance_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables.getDefaultInstance()) {
            instance_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables.newBuilder((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables) instance_)
                .mergeFrom(value).buildPartial();
          } else {
            instance_ = value;
          }
          onChanged();
        } else {
          if (instanceCase_ == 9) {
            instanceDefTypePaintkitVariablesBuilder_.mergeFrom(value);
          } else {
            instanceDefTypePaintkitVariablesBuilder_.setMessage(value);
          }
        }
        instanceCase_ = 9;
        return this;
      }
      /**
       * .CMsgPaintKit_Variables instance_def_type_paintkit_variables = 9;
       */
      public Builder clearInstanceDefTypePaintkitVariables() {
        if (instanceDefTypePaintkitVariablesBuilder_ == null) {
          if (instanceCase_ == 9) {
            instanceCase_ = 0;
            instance_ = null;
            onChanged();
          }
        } else {
          if (instanceCase_ == 9) {
            instanceCase_ = 0;
            instance_ = null;
          }
          instanceDefTypePaintkitVariablesBuilder_.clear();
        }
        return this;
      }
      /**
       * .CMsgPaintKit_Variables instance_def_type_paintkit_variables = 9;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables.Builder getInstanceDefTypePaintkitVariablesBuilder() {
        return getInstanceDefTypePaintkitVariablesFieldBuilder().getBuilder();
      }
      /**
       * .CMsgPaintKit_Variables instance_def_type_paintkit_variables = 9;
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_VariablesOrBuilder getInstanceDefTypePaintkitVariablesOrBuilder() {
        if ((instanceCase_ == 9) && (instanceDefTypePaintkitVariablesBuilder_ != null)) {
          return instanceDefTypePaintkitVariablesBuilder_.getMessageOrBuilder();
        } else {
          if (instanceCase_ == 9) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables) instance_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables.getDefaultInstance();
        }
      }
      /**
       * .CMsgPaintKit_Variables instance_def_type_paintkit_variables = 9;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_VariablesOrBuilder> 
          getInstanceDefTypePaintkitVariablesFieldBuilder() {
        if (instanceDefTypePaintkitVariablesBuilder_ == null) {
          if (!(instanceCase_ == 9)) {
            instance_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables.getDefaultInstance();
          }
          instanceDefTypePaintkitVariablesBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_VariablesOrBuilder>(
                  (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables) instance_,
                  getParentForChildren(),
                  isClean());
          instance_ = null;
        }
        instanceCase_ = 9;
        onChanged();
        return instanceDefTypePaintkitVariablesBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationOrBuilder> instanceDefTypePaintkitOperationBuilder_;
      /**
       * .CMsgPaintKit_Operation instance_def_type_paintkit_operation = 10;
       * @return Whether the instanceDefTypePaintkitOperation field is set.
       */
      @java.lang.Override
      public boolean hasInstanceDefTypePaintkitOperation() {
        return instanceCase_ == 10;
      }
      /**
       * .CMsgPaintKit_Operation instance_def_type_paintkit_operation = 10;
       * @return The instanceDefTypePaintkitOperation.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation getInstanceDefTypePaintkitOperation() {
        if (instanceDefTypePaintkitOperationBuilder_ == null) {
          if (instanceCase_ == 10) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation) instance_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation.getDefaultInstance();
        } else {
          if (instanceCase_ == 10) {
            return instanceDefTypePaintkitOperationBuilder_.getMessage();
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation.getDefaultInstance();
        }
      }
      /**
       * .CMsgPaintKit_Operation instance_def_type_paintkit_operation = 10;
       */
      public Builder setInstanceDefTypePaintkitOperation(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation value) {
        if (instanceDefTypePaintkitOperationBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          instance_ = value;
          onChanged();
        } else {
          instanceDefTypePaintkitOperationBuilder_.setMessage(value);
        }
        instanceCase_ = 10;
        return this;
      }
      /**
       * .CMsgPaintKit_Operation instance_def_type_paintkit_operation = 10;
       */
      public Builder setInstanceDefTypePaintkitOperation(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation.Builder builderForValue) {
        if (instanceDefTypePaintkitOperationBuilder_ == null) {
          instance_ = builderForValue.build();
          onChanged();
        } else {
          instanceDefTypePaintkitOperationBuilder_.setMessage(builderForValue.build());
        }
        instanceCase_ = 10;
        return this;
      }
      /**
       * .CMsgPaintKit_Operation instance_def_type_paintkit_operation = 10;
       */
      public Builder mergeInstanceDefTypePaintkitOperation(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation value) {
        if (instanceDefTypePaintkitOperationBuilder_ == null) {
          if (instanceCase_ == 10 &&
              instance_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation.getDefaultInstance()) {
            instance_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation.newBuilder((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation) instance_)
                .mergeFrom(value).buildPartial();
          } else {
            instance_ = value;
          }
          onChanged();
        } else {
          if (instanceCase_ == 10) {
            instanceDefTypePaintkitOperationBuilder_.mergeFrom(value);
          } else {
            instanceDefTypePaintkitOperationBuilder_.setMessage(value);
          }
        }
        instanceCase_ = 10;
        return this;
      }
      /**
       * .CMsgPaintKit_Operation instance_def_type_paintkit_operation = 10;
       */
      public Builder clearInstanceDefTypePaintkitOperation() {
        if (instanceDefTypePaintkitOperationBuilder_ == null) {
          if (instanceCase_ == 10) {
            instanceCase_ = 0;
            instance_ = null;
            onChanged();
          }
        } else {
          if (instanceCase_ == 10) {
            instanceCase_ = 0;
            instance_ = null;
          }
          instanceDefTypePaintkitOperationBuilder_.clear();
        }
        return this;
      }
      /**
       * .CMsgPaintKit_Operation instance_def_type_paintkit_operation = 10;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation.Builder getInstanceDefTypePaintkitOperationBuilder() {
        return getInstanceDefTypePaintkitOperationFieldBuilder().getBuilder();
      }
      /**
       * .CMsgPaintKit_Operation instance_def_type_paintkit_operation = 10;
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationOrBuilder getInstanceDefTypePaintkitOperationOrBuilder() {
        if ((instanceCase_ == 10) && (instanceDefTypePaintkitOperationBuilder_ != null)) {
          return instanceDefTypePaintkitOperationBuilder_.getMessageOrBuilder();
        } else {
          if (instanceCase_ == 10) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation) instance_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation.getDefaultInstance();
        }
      }
      /**
       * .CMsgPaintKit_Operation instance_def_type_paintkit_operation = 10;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationOrBuilder> 
          getInstanceDefTypePaintkitOperationFieldBuilder() {
        if (instanceDefTypePaintkitOperationBuilder_ == null) {
          if (!(instanceCase_ == 10)) {
            instance_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation.getDefaultInstance();
          }
          instanceDefTypePaintkitOperationBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationOrBuilder>(
                  (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation) instance_,
                  getParentForChildren(),
                  isClean());
          instance_ = null;
        }
        instanceCase_ = 10;
        onChanged();
        return instanceDefTypePaintkitOperationBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinitionOrBuilder> instanceDefTypePaintkitItemDefinitionBuilder_;
      /**
       * .CMsgPaintKit_ItemDefinition instance_def_type_paintkit_item_definition = 11;
       * @return Whether the instanceDefTypePaintkitItemDefinition field is set.
       */
      @java.lang.Override
      public boolean hasInstanceDefTypePaintkitItemDefinition() {
        return instanceCase_ == 11;
      }
      /**
       * .CMsgPaintKit_ItemDefinition instance_def_type_paintkit_item_definition = 11;
       * @return The instanceDefTypePaintkitItemDefinition.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition getInstanceDefTypePaintkitItemDefinition() {
        if (instanceDefTypePaintkitItemDefinitionBuilder_ == null) {
          if (instanceCase_ == 11) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition) instance_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.getDefaultInstance();
        } else {
          if (instanceCase_ == 11) {
            return instanceDefTypePaintkitItemDefinitionBuilder_.getMessage();
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.getDefaultInstance();
        }
      }
      /**
       * .CMsgPaintKit_ItemDefinition instance_def_type_paintkit_item_definition = 11;
       */
      public Builder setInstanceDefTypePaintkitItemDefinition(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition value) {
        if (instanceDefTypePaintkitItemDefinitionBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          instance_ = value;
          onChanged();
        } else {
          instanceDefTypePaintkitItemDefinitionBuilder_.setMessage(value);
        }
        instanceCase_ = 11;
        return this;
      }
      /**
       * .CMsgPaintKit_ItemDefinition instance_def_type_paintkit_item_definition = 11;
       */
      public Builder setInstanceDefTypePaintkitItemDefinition(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Builder builderForValue) {
        if (instanceDefTypePaintkitItemDefinitionBuilder_ == null) {
          instance_ = builderForValue.build();
          onChanged();
        } else {
          instanceDefTypePaintkitItemDefinitionBuilder_.setMessage(builderForValue.build());
        }
        instanceCase_ = 11;
        return this;
      }
      /**
       * .CMsgPaintKit_ItemDefinition instance_def_type_paintkit_item_definition = 11;
       */
      public Builder mergeInstanceDefTypePaintkitItemDefinition(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition value) {
        if (instanceDefTypePaintkitItemDefinitionBuilder_ == null) {
          if (instanceCase_ == 11 &&
              instance_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.getDefaultInstance()) {
            instance_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.newBuilder((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition) instance_)
                .mergeFrom(value).buildPartial();
          } else {
            instance_ = value;
          }
          onChanged();
        } else {
          if (instanceCase_ == 11) {
            instanceDefTypePaintkitItemDefinitionBuilder_.mergeFrom(value);
          } else {
            instanceDefTypePaintkitItemDefinitionBuilder_.setMessage(value);
          }
        }
        instanceCase_ = 11;
        return this;
      }
      /**
       * .CMsgPaintKit_ItemDefinition instance_def_type_paintkit_item_definition = 11;
       */
      public Builder clearInstanceDefTypePaintkitItemDefinition() {
        if (instanceDefTypePaintkitItemDefinitionBuilder_ == null) {
          if (instanceCase_ == 11) {
            instanceCase_ = 0;
            instance_ = null;
            onChanged();
          }
        } else {
          if (instanceCase_ == 11) {
            instanceCase_ = 0;
            instance_ = null;
          }
          instanceDefTypePaintkitItemDefinitionBuilder_.clear();
        }
        return this;
      }
      /**
       * .CMsgPaintKit_ItemDefinition instance_def_type_paintkit_item_definition = 11;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Builder getInstanceDefTypePaintkitItemDefinitionBuilder() {
        return getInstanceDefTypePaintkitItemDefinitionFieldBuilder().getBuilder();
      }
      /**
       * .CMsgPaintKit_ItemDefinition instance_def_type_paintkit_item_definition = 11;
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinitionOrBuilder getInstanceDefTypePaintkitItemDefinitionOrBuilder() {
        if ((instanceCase_ == 11) && (instanceDefTypePaintkitItemDefinitionBuilder_ != null)) {
          return instanceDefTypePaintkitItemDefinitionBuilder_.getMessageOrBuilder();
        } else {
          if (instanceCase_ == 11) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition) instance_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.getDefaultInstance();
        }
      }
      /**
       * .CMsgPaintKit_ItemDefinition instance_def_type_paintkit_item_definition = 11;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinitionOrBuilder> 
          getInstanceDefTypePaintkitItemDefinitionFieldBuilder() {
        if (instanceDefTypePaintkitItemDefinitionBuilder_ == null) {
          if (!(instanceCase_ == 11)) {
            instance_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.getDefaultInstance();
          }
          instanceDefTypePaintkitItemDefinitionBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinitionOrBuilder>(
                  (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition) instance_,
                  getParentForChildren(),
                  isClean());
          instance_ = null;
        }
        instanceCase_ = 11;
        onChanged();
        return instanceDefTypePaintkitItemDefinitionBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_DefinitionOrBuilder> instanceDefTypePaintkitDefinitionBuilder_;
      /**
       * .CMsgPaintKit_Definition instance_def_type_paintkit_definition = 12;
       * @return Whether the instanceDefTypePaintkitDefinition field is set.
       */
      @java.lang.Override
      public boolean hasInstanceDefTypePaintkitDefinition() {
        return instanceCase_ == 12;
      }
      /**
       * .CMsgPaintKit_Definition instance_def_type_paintkit_definition = 12;
       * @return The instanceDefTypePaintkitDefinition.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition getInstanceDefTypePaintkitDefinition() {
        if (instanceDefTypePaintkitDefinitionBuilder_ == null) {
          if (instanceCase_ == 12) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition) instance_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.getDefaultInstance();
        } else {
          if (instanceCase_ == 12) {
            return instanceDefTypePaintkitDefinitionBuilder_.getMessage();
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.getDefaultInstance();
        }
      }
      /**
       * .CMsgPaintKit_Definition instance_def_type_paintkit_definition = 12;
       */
      public Builder setInstanceDefTypePaintkitDefinition(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition value) {
        if (instanceDefTypePaintkitDefinitionBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          instance_ = value;
          onChanged();
        } else {
          instanceDefTypePaintkitDefinitionBuilder_.setMessage(value);
        }
        instanceCase_ = 12;
        return this;
      }
      /**
       * .CMsgPaintKit_Definition instance_def_type_paintkit_definition = 12;
       */
      public Builder setInstanceDefTypePaintkitDefinition(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Builder builderForValue) {
        if (instanceDefTypePaintkitDefinitionBuilder_ == null) {
          instance_ = builderForValue.build();
          onChanged();
        } else {
          instanceDefTypePaintkitDefinitionBuilder_.setMessage(builderForValue.build());
        }
        instanceCase_ = 12;
        return this;
      }
      /**
       * .CMsgPaintKit_Definition instance_def_type_paintkit_definition = 12;
       */
      public Builder mergeInstanceDefTypePaintkitDefinition(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition value) {
        if (instanceDefTypePaintkitDefinitionBuilder_ == null) {
          if (instanceCase_ == 12 &&
              instance_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.getDefaultInstance()) {
            instance_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.newBuilder((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition) instance_)
                .mergeFrom(value).buildPartial();
          } else {
            instance_ = value;
          }
          onChanged();
        } else {
          if (instanceCase_ == 12) {
            instanceDefTypePaintkitDefinitionBuilder_.mergeFrom(value);
          } else {
            instanceDefTypePaintkitDefinitionBuilder_.setMessage(value);
          }
        }
        instanceCase_ = 12;
        return this;
      }
      /**
       * .CMsgPaintKit_Definition instance_def_type_paintkit_definition = 12;
       */
      public Builder clearInstanceDefTypePaintkitDefinition() {
        if (instanceDefTypePaintkitDefinitionBuilder_ == null) {
          if (instanceCase_ == 12) {
            instanceCase_ = 0;
            instance_ = null;
            onChanged();
          }
        } else {
          if (instanceCase_ == 12) {
            instanceCase_ = 0;
            instance_ = null;
          }
          instanceDefTypePaintkitDefinitionBuilder_.clear();
        }
        return this;
      }
      /**
       * .CMsgPaintKit_Definition instance_def_type_paintkit_definition = 12;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Builder getInstanceDefTypePaintkitDefinitionBuilder() {
        return getInstanceDefTypePaintkitDefinitionFieldBuilder().getBuilder();
      }
      /**
       * .CMsgPaintKit_Definition instance_def_type_paintkit_definition = 12;
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_DefinitionOrBuilder getInstanceDefTypePaintkitDefinitionOrBuilder() {
        if ((instanceCase_ == 12) && (instanceDefTypePaintkitDefinitionBuilder_ != null)) {
          return instanceDefTypePaintkitDefinitionBuilder_.getMessageOrBuilder();
        } else {
          if (instanceCase_ == 12) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition) instance_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.getDefaultInstance();
        }
      }
      /**
       * .CMsgPaintKit_Definition instance_def_type_paintkit_definition = 12;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_DefinitionOrBuilder> 
          getInstanceDefTypePaintkitDefinitionFieldBuilder() {
        if (instanceDefTypePaintkitDefinitionBuilder_ == null) {
          if (!(instanceCase_ == 12)) {
            instance_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.getDefaultInstance();
          }
          instanceDefTypePaintkitDefinitionBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_DefinitionOrBuilder>(
                  (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition) instance_,
                  getParentForChildren(),
                  isClean());
          instance_ = null;
        }
        instanceCase_ = 12;
        onChanged();
        return instanceDefTypePaintkitDefinitionBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnlyOrBuilder> instanceDefTypeHeaderOnlyBuilder_;
      /**
       * .CMsgHeaderOnly instance_def_type_header_only = 13;
       * @return Whether the instanceDefTypeHeaderOnly field is set.
       */
      @java.lang.Override
      public boolean hasInstanceDefTypeHeaderOnly() {
        return instanceCase_ == 13;
      }
      /**
       * .CMsgHeaderOnly instance_def_type_header_only = 13;
       * @return The instanceDefTypeHeaderOnly.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly getInstanceDefTypeHeaderOnly() {
        if (instanceDefTypeHeaderOnlyBuilder_ == null) {
          if (instanceCase_ == 13) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly) instance_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly.getDefaultInstance();
        } else {
          if (instanceCase_ == 13) {
            return instanceDefTypeHeaderOnlyBuilder_.getMessage();
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly.getDefaultInstance();
        }
      }
      /**
       * .CMsgHeaderOnly instance_def_type_header_only = 13;
       */
      public Builder setInstanceDefTypeHeaderOnly(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly value) {
        if (instanceDefTypeHeaderOnlyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          instance_ = value;
          onChanged();
        } else {
          instanceDefTypeHeaderOnlyBuilder_.setMessage(value);
        }
        instanceCase_ = 13;
        return this;
      }
      /**
       * .CMsgHeaderOnly instance_def_type_header_only = 13;
       */
      public Builder setInstanceDefTypeHeaderOnly(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly.Builder builderForValue) {
        if (instanceDefTypeHeaderOnlyBuilder_ == null) {
          instance_ = builderForValue.build();
          onChanged();
        } else {
          instanceDefTypeHeaderOnlyBuilder_.setMessage(builderForValue.build());
        }
        instanceCase_ = 13;
        return this;
      }
      /**
       * .CMsgHeaderOnly instance_def_type_header_only = 13;
       */
      public Builder mergeInstanceDefTypeHeaderOnly(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly value) {
        if (instanceDefTypeHeaderOnlyBuilder_ == null) {
          if (instanceCase_ == 13 &&
              instance_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly.getDefaultInstance()) {
            instance_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly.newBuilder((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly) instance_)
                .mergeFrom(value).buildPartial();
          } else {
            instance_ = value;
          }
          onChanged();
        } else {
          if (instanceCase_ == 13) {
            instanceDefTypeHeaderOnlyBuilder_.mergeFrom(value);
          } else {
            instanceDefTypeHeaderOnlyBuilder_.setMessage(value);
          }
        }
        instanceCase_ = 13;
        return this;
      }
      /**
       * .CMsgHeaderOnly instance_def_type_header_only = 13;
       */
      public Builder clearInstanceDefTypeHeaderOnly() {
        if (instanceDefTypeHeaderOnlyBuilder_ == null) {
          if (instanceCase_ == 13) {
            instanceCase_ = 0;
            instance_ = null;
            onChanged();
          }
        } else {
          if (instanceCase_ == 13) {
            instanceCase_ = 0;
            instance_ = null;
          }
          instanceDefTypeHeaderOnlyBuilder_.clear();
        }
        return this;
      }
      /**
       * .CMsgHeaderOnly instance_def_type_header_only = 13;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly.Builder getInstanceDefTypeHeaderOnlyBuilder() {
        return getInstanceDefTypeHeaderOnlyFieldBuilder().getBuilder();
      }
      /**
       * .CMsgHeaderOnly instance_def_type_header_only = 13;
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnlyOrBuilder getInstanceDefTypeHeaderOnlyOrBuilder() {
        if ((instanceCase_ == 13) && (instanceDefTypeHeaderOnlyBuilder_ != null)) {
          return instanceDefTypeHeaderOnlyBuilder_.getMessageOrBuilder();
        } else {
          if (instanceCase_ == 13) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly) instance_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly.getDefaultInstance();
        }
      }
      /**
       * .CMsgHeaderOnly instance_def_type_header_only = 13;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnlyOrBuilder> 
          getInstanceDefTypeHeaderOnlyFieldBuilder() {
        if (instanceDefTypeHeaderOnlyBuilder_ == null) {
          if (!(instanceCase_ == 13)) {
            instance_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly.getDefaultInstance();
          }
          instanceDefTypeHeaderOnlyBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnlyOrBuilder>(
                  (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly) instance_,
                  getParentForChildren(),
                  isClean());
          instance_ = null;
        }
        instanceCase_ = 13;
        onChanged();
        return instanceDefTypeHeaderOnlyBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgProtoDefID)
    }

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

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

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

  }

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

    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return Whether the header field is set.
     */
    boolean hasHeader();
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return The header.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader();
    /**
     * required .CMsgProtoDefHeader header = 1;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder();

    /**
     * optional string loc_desctoken = 2 [(.localized) = true];
     * @return Whether the locDesctoken field is set.
     */
    boolean hasLocDesctoken();
    /**
     * optional string loc_desctoken = 2 [(.localized) = true];
     * @return The locDesctoken.
     */
    java.lang.String getLocDesctoken();
    /**
     * optional string loc_desctoken = 2 [(.localized) = true];
     * @return The bytes for locDesctoken.
     */
    com.google.protobuf.ByteString
        getLocDesctokenBytes();

    /**
     * optional uint32 points = 3;
     * @return Whether the points field is set.
     */
    boolean hasPoints();
    /**
     * optional uint32 points = 3;
     * @return The points.
     */
    int getPoints();

    /**
     * optional uint32 conditions_defindex = 5;
     * @return Whether the conditionsDefindex field is set.
     */
    boolean hasConditionsDefindex();
    /**
     * optional uint32 conditions_defindex = 5;
     * @return The conditionsDefindex.
     */
    int getConditionsDefindex();

    /**
     * repeated string map = 8 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
     * @return A list containing the map.
     */
    java.util.List
        getMapList();
    /**
     * repeated string map = 8 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
     * @return The count of map.
     */
    int getMapCount();
    /**
     * repeated string map = 8 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
     * @param index The index of the element to return.
     * @return The map at the given index.
     */
    java.lang.String getMap(int index);
    /**
     * repeated string map = 8 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
     * @param index The index of the value to return.
     * @return The bytes of the map at the given index.
     */
    com.google.protobuf.ByteString
        getMapBytes(int index);

    /**
     * repeated .CMsgQuestObjectiveDef.ETF2GameModes game_mode = 9 [(.display_name) = "Game Mode Modifier", (.comment) = "If set, the player must be in one of the listed game modes to get credit."];
     * @return A list containing the gameMode.
     */
    java.util.List getGameModeList();
    /**
     * repeated .CMsgQuestObjectiveDef.ETF2GameModes game_mode = 9 [(.display_name) = "Game Mode Modifier", (.comment) = "If set, the player must be in one of the listed game modes to get credit."];
     * @return The count of gameMode.
     */
    int getGameModeCount();
    /**
     * repeated .CMsgQuestObjectiveDef.ETF2GameModes game_mode = 9 [(.display_name) = "Game Mode Modifier", (.comment) = "If set, the player must be in one of the listed game modes to get credit."];
     * @param index The index of the element to return.
     * @return The gameMode at the given index.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2GameModes getGameMode(int index);

    /**
     * optional .CMsgQuestObjectiveDef.ETF2Team team = 10 [default = TF_TEAM_RED, (.display_name) = "Team Modifier", (.comment) = "If set, the player must be on the specified team to get credit."];
     * @return Whether the team field is set.
     */
    boolean hasTeam();
    /**
     * optional .CMsgQuestObjectiveDef.ETF2Team team = 10 [default = TF_TEAM_RED, (.display_name) = "Team Modifier", (.comment) = "If set, the player must be on the specified team to get credit."];
     * @return The team.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2Team getTeam();

    /**
     * repeated .CMsgVarField condition_vars = 11 [(.display_name) = "Objective Vars", (.var_field_type) = VAR_TYPE_STRING];
     */
    java.util.List 
        getConditionVarsList();
    /**
     * repeated .CMsgVarField condition_vars = 11 [(.display_name) = "Objective Vars", (.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getConditionVars(int index);
    /**
     * repeated .CMsgVarField condition_vars = 11 [(.display_name) = "Objective Vars", (.var_field_type) = VAR_TYPE_STRING];
     */
    int getConditionVarsCount();
    /**
     * repeated .CMsgVarField condition_vars = 11 [(.display_name) = "Objective Vars", (.var_field_type) = VAR_TYPE_STRING];
     */
    java.util.List 
        getConditionVarsOrBuilderList();
    /**
     * repeated .CMsgVarField condition_vars = 11 [(.display_name) = "Objective Vars", (.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getConditionVarsOrBuilder(
        int index);

    /**
     * repeated .CMsgVarField classes_vars = 12 [(.display_name) = "Class Modifier", (.var_field_type) = VAR_TYPE_STRING];
     */
    java.util.List 
        getClassesVarsList();
    /**
     * repeated .CMsgVarField classes_vars = 12 [(.display_name) = "Class Modifier", (.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getClassesVars(int index);
    /**
     * repeated .CMsgVarField classes_vars = 12 [(.display_name) = "Class Modifier", (.var_field_type) = VAR_TYPE_STRING];
     */
    int getClassesVarsCount();
    /**
     * repeated .CMsgVarField classes_vars = 12 [(.display_name) = "Class Modifier", (.var_field_type) = VAR_TYPE_STRING];
     */
    java.util.List 
        getClassesVarsOrBuilderList();
    /**
     * repeated .CMsgVarField classes_vars = 12 [(.display_name) = "Class Modifier", (.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getClassesVarsOrBuilder(
        int index);

    /**
     * repeated .CMsgQuestObjectiveDef.ETF2Conditions conditions = 13 [(.display_name) = "Required Conds"];
     * @return A list containing the conditions.
     */
    java.util.List getConditionsList();
    /**
     * repeated .CMsgQuestObjectiveDef.ETF2Conditions conditions = 13 [(.display_name) = "Required Conds"];
     * @return The count of conditions.
     */
    int getConditionsCount();
    /**
     * repeated .CMsgQuestObjectiveDef.ETF2Conditions conditions = 13 [(.display_name) = "Required Conds"];
     * @param index The index of the element to return.
     * @return The conditions at the given index.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2Conditions getConditions(int index);

    /**
     * optional .LogicalOperation condition_logic = 14 [default = AND, (.display_name) = "Condition Logic", (.comment) = "What kind of logic to use when evaluating the player\'s conditions."];
     * @return Whether the conditionLogic field is set.
     */
    boolean hasConditionLogic();
    /**
     * optional .LogicalOperation condition_logic = 14 [default = AND, (.display_name) = "Condition Logic", (.comment) = "What kind of logic to use when evaluating the player\'s conditions."];
     * @return The conditionLogic.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation getConditionLogic();

    /**
     * repeated string item_name = 15 [(.display_name) = "Required equipped item", (.comment) = "Require that this item be equipped in any slot."];
     * @return A list containing the itemName.
     */
    java.util.List
        getItemNameList();
    /**
     * repeated string item_name = 15 [(.display_name) = "Required equipped item", (.comment) = "Require that this item be equipped in any slot."];
     * @return The count of itemName.
     */
    int getItemNameCount();
    /**
     * repeated string item_name = 15 [(.display_name) = "Required equipped item", (.comment) = "Require that this item be equipped in any slot."];
     * @param index The index of the element to return.
     * @return The itemName at the given index.
     */
    java.lang.String getItemName(int index);
    /**
     * repeated string item_name = 15 [(.display_name) = "Required equipped item", (.comment) = "Require that this item be equipped in any slot."];
     * @param index The index of the value to return.
     * @return The bytes of the itemName at the given index.
     */
    com.google.protobuf.ByteString
        getItemNameBytes(int index);

    /**
     * optional .LogicalOperation item_logic = 16 [default = AND, (.display_name) = "Item logic", (.comment) = "What kind of logic to use when evaluating the player\'s items."];
     * @return Whether the itemLogic field is set.
     */
    boolean hasItemLogic();
    /**
     * optional .LogicalOperation item_logic = 16 [default = AND, (.display_name) = "Item logic", (.comment) = "What kind of logic to use when evaluating the player\'s items."];
     * @return The itemLogic.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation getItemLogic();

    /**
     * optional uint32 jump_state = 17 [(.display_name) = "Jump logic", (.comment) = "What state of jumping the player needs to be in."];
     * @return Whether the jumpState field is set.
     */
    boolean hasJumpState();
    /**
     * optional uint32 jump_state = 17 [(.display_name) = "Jump logic", (.comment) = "What state of jumping the player needs to be in."];
     * @return The jumpState.
     */
    int getJumpState();
  }
  /**
   * Protobuf type {@code CMsgQuestObjectiveDef}
   */
  public static final class CMsgQuestObjectiveDef extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgQuestObjectiveDef)
      CMsgQuestObjectiveDefOrBuilder {
  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= */ "",
        CMsgQuestObjectiveDef.class.getName());
    }
    // Use CMsgQuestObjectiveDef.newBuilder() to construct.
    private CMsgQuestObjectiveDef(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgQuestObjectiveDef() {
      locDesctoken_ = "";
      map_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
      gameMode_ = emptyIntList();
      team_ = 2;
      conditionVars_ = java.util.Collections.emptyList();
      classesVars_ = java.util.Collections.emptyList();
      conditions_ = emptyIntList();
      conditionLogic_ = 0;
      itemName_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
      itemLogic_ = 0;
    }

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

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

    /**
     * Protobuf enum {@code CMsgQuestObjectiveDef.ETF2GameModes}
     */
    public enum ETF2GameModes
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * kGameCategory_Escort = 0;
       */
      kGameCategory_Escort(0),
      /**
       * kGameCategory_CTF = 1;
       */
      kGameCategory_CTF(1),
      /**
       * kGameCategory_AttackDefense = 2;
       */
      kGameCategory_AttackDefense(2),
      /**
       * kGameCategory_Koth = 3;
       */
      kGameCategory_Koth(3),
      /**
       * kGameCategory_CP = 4;
       */
      kGameCategory_CP(4),
      /**
       * kGameCategory_EscortRace = 5;
       */
      kGameCategory_EscortRace(5),
      /**
       * kGameCategory_EventMix = 6;
       */
      kGameCategory_EventMix(6),
      /**
       * kGameCategory_SD = 7;
       */
      kGameCategory_SD(7),
      /**
       * kGameCategory_Quickplay = 8;
       */
      kGameCategory_Quickplay(8),
      /**
       * kGameCategory_Event247 = 9;
       */
      kGameCategory_Event247(9),
      /**
       * kGameCategory_Arena = 10;
       */
      kGameCategory_Arena(10),
      /**
       * kGameCategory_RobotDestruction = 11;
       */
      kGameCategory_RobotDestruction(11),
      /**
       * kGameCategory_Powerup = 12;
       */
      kGameCategory_Powerup(12),
      /**
       * kGameCategory_Featured = 13;
       */
      kGameCategory_Featured(13),
      /**
       * kGameCategory_Passtime = 14;
       */
      kGameCategory_Passtime(14),
      /**
       * kGameCategory_Community_Update = 15;
       */
      kGameCategory_Community_Update(15),
      /**
       * kGameCategory_Misc = 16;
       */
      kGameCategory_Misc(16),
      /**
       * kGameCategory_Competitive_6v6 = 17;
       */
      kGameCategory_Competitive_6v6(17),
      /**
       * kGameCategory_Other = 18;
       */
      kGameCategory_Other(18),
      /**
       * kGameCategory_Halloween = 19;
       */
      kGameCategory_Halloween(19),
      ;

      static {
        com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
          com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
          /* major= */ 4,
          /* minor= */ 28,
          /* patch= */ 0,
          /* suffix= */ "",
          ETF2GameModes.class.getName());
      }
      /**
       * kGameCategory_Escort = 0;
       */
      public static final int kGameCategory_Escort_VALUE = 0;
      /**
       * kGameCategory_CTF = 1;
       */
      public static final int kGameCategory_CTF_VALUE = 1;
      /**
       * kGameCategory_AttackDefense = 2;
       */
      public static final int kGameCategory_AttackDefense_VALUE = 2;
      /**
       * kGameCategory_Koth = 3;
       */
      public static final int kGameCategory_Koth_VALUE = 3;
      /**
       * kGameCategory_CP = 4;
       */
      public static final int kGameCategory_CP_VALUE = 4;
      /**
       * kGameCategory_EscortRace = 5;
       */
      public static final int kGameCategory_EscortRace_VALUE = 5;
      /**
       * kGameCategory_EventMix = 6;
       */
      public static final int kGameCategory_EventMix_VALUE = 6;
      /**
       * kGameCategory_SD = 7;
       */
      public static final int kGameCategory_SD_VALUE = 7;
      /**
       * kGameCategory_Quickplay = 8;
       */
      public static final int kGameCategory_Quickplay_VALUE = 8;
      /**
       * kGameCategory_Event247 = 9;
       */
      public static final int kGameCategory_Event247_VALUE = 9;
      /**
       * kGameCategory_Arena = 10;
       */
      public static final int kGameCategory_Arena_VALUE = 10;
      /**
       * kGameCategory_RobotDestruction = 11;
       */
      public static final int kGameCategory_RobotDestruction_VALUE = 11;
      /**
       * kGameCategory_Powerup = 12;
       */
      public static final int kGameCategory_Powerup_VALUE = 12;
      /**
       * kGameCategory_Featured = 13;
       */
      public static final int kGameCategory_Featured_VALUE = 13;
      /**
       * kGameCategory_Passtime = 14;
       */
      public static final int kGameCategory_Passtime_VALUE = 14;
      /**
       * kGameCategory_Community_Update = 15;
       */
      public static final int kGameCategory_Community_Update_VALUE = 15;
      /**
       * kGameCategory_Misc = 16;
       */
      public static final int kGameCategory_Misc_VALUE = 16;
      /**
       * kGameCategory_Competitive_6v6 = 17;
       */
      public static final int kGameCategory_Competitive_6v6_VALUE = 17;
      /**
       * kGameCategory_Other = 18;
       */
      public static final int kGameCategory_Other_VALUE = 18;
      /**
       * kGameCategory_Halloween = 19;
       */
      public static final int kGameCategory_Halloween_VALUE = 19;


      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 ETF2GameModes 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 ETF2GameModes forNumber(int value) {
        switch (value) {
          case 0: return kGameCategory_Escort;
          case 1: return kGameCategory_CTF;
          case 2: return kGameCategory_AttackDefense;
          case 3: return kGameCategory_Koth;
          case 4: return kGameCategory_CP;
          case 5: return kGameCategory_EscortRace;
          case 6: return kGameCategory_EventMix;
          case 7: return kGameCategory_SD;
          case 8: return kGameCategory_Quickplay;
          case 9: return kGameCategory_Event247;
          case 10: return kGameCategory_Arena;
          case 11: return kGameCategory_RobotDestruction;
          case 12: return kGameCategory_Powerup;
          case 13: return kGameCategory_Featured;
          case 14: return kGameCategory_Passtime;
          case 15: return kGameCategory_Community_Update;
          case 16: return kGameCategory_Misc;
          case 17: return kGameCategory_Competitive_6v6;
          case 18: return kGameCategory_Other;
          case 19: return kGameCategory_Halloween;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          ETF2GameModes> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap() {
              public ETF2GameModes findValueByNumber(int number) {
                return ETF2GameModes.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.TfProtoDefMessages.CMsgQuestObjectiveDef.getDescriptor().getEnumTypes().get(0);
      }

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

      public static ETF2GameModes 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 ETF2GameModes(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:CMsgQuestObjectiveDef.ETF2GameModes)
    }

    /**
     * Protobuf enum {@code CMsgQuestObjectiveDef.ETF2Conditions}
     */
    public enum ETF2Conditions
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * TF_COND_AIMING = 0;
       */
      TF_COND_AIMING(0),
      /**
       * TF_COND_ZOOMED = 1;
       */
      TF_COND_ZOOMED(1),
      /**
       * TF_COND_DISGUISING = 2;
       */
      TF_COND_DISGUISING(2),
      /**
       * TF_COND_DISGUISED = 3;
       */
      TF_COND_DISGUISED(3),
      /**
       * TF_COND_STEALTHED = 4;
       */
      TF_COND_STEALTHED(4),
      /**
       * TF_COND_INVULNERABLE = 5;
       */
      TF_COND_INVULNERABLE(5),
      /**
       * TF_COND_TELEPORTED = 6;
       */
      TF_COND_TELEPORTED(6),
      /**
       * TF_COND_TAUNTING = 7;
       */
      TF_COND_TAUNTING(7),
      /**
       * TF_COND_INVULNERABLE_WEARINGOFF = 8;
       */
      TF_COND_INVULNERABLE_WEARINGOFF(8),
      /**
       * TF_COND_STEALTHED_BLINK = 9;
       */
      TF_COND_STEALTHED_BLINK(9),
      /**
       * TF_COND_SELECTED_TO_TELEPORT = 10;
       */
      TF_COND_SELECTED_TO_TELEPORT(10),
      /**
       * TF_COND_CRITBOOSTED = 11;
       */
      TF_COND_CRITBOOSTED(11),
      /**
       * TF_COND_TMPDAMAGEBONUS = 12;
       */
      TF_COND_TMPDAMAGEBONUS(12),
      /**
       * TF_COND_FEIGN_DEATH = 13;
       */
      TF_COND_FEIGN_DEATH(13),
      /**
       * TF_COND_PHASE = 14;
       */
      TF_COND_PHASE(14),
      /**
       * TF_COND_STUNNED = 15;
       */
      TF_COND_STUNNED(15),
      /**
       * TF_COND_OFFENSEBUFF = 16;
       */
      TF_COND_OFFENSEBUFF(16),
      /**
       * TF_COND_SHIELD_CHARGE = 17;
       */
      TF_COND_SHIELD_CHARGE(17),
      /**
       * TF_COND_DEMO_BUFF = 18;
       */
      TF_COND_DEMO_BUFF(18),
      /**
       * TF_COND_ENERGY_BUFF = 19;
       */
      TF_COND_ENERGY_BUFF(19),
      /**
       * TF_COND_RADIUSHEAL = 20;
       */
      TF_COND_RADIUSHEAL(20),
      /**
       * TF_COND_HEALTH_BUFF = 21;
       */
      TF_COND_HEALTH_BUFF(21),
      /**
       * TF_COND_BURNING = 22;
       */
      TF_COND_BURNING(22),
      /**
       * TF_COND_HEALTH_OVERHEALED = 23;
       */
      TF_COND_HEALTH_OVERHEALED(23),
      /**
       * TF_COND_URINE = 24;
       */
      TF_COND_URINE(24),
      /**
       * TF_COND_BLEEDING = 25;
       */
      TF_COND_BLEEDING(25),
      /**
       * TF_COND_DEFENSEBUFF = 26;
       */
      TF_COND_DEFENSEBUFF(26),
      /**
       * TF_COND_MAD_MILK = 27;
       */
      TF_COND_MAD_MILK(27),
      /**
       * TF_COND_MEGAHEAL = 28;
       */
      TF_COND_MEGAHEAL(28),
      /**
       * TF_COND_REGENONDAMAGEBUFF = 29;
       */
      TF_COND_REGENONDAMAGEBUFF(29),
      /**
       * TF_COND_MARKEDFORDEATH = 30;
       */
      TF_COND_MARKEDFORDEATH(30),
      /**
       * TF_COND_NOHEALINGDAMAGEBUFF = 31;
       */
      TF_COND_NOHEALINGDAMAGEBUFF(31),
      /**
       * TF_COND_SPEED_BOOST = 32;
       */
      TF_COND_SPEED_BOOST(32),
      /**
       * TF_COND_CRITBOOSTED_PUMPKIN = 33;
       */
      TF_COND_CRITBOOSTED_PUMPKIN(33),
      /**
       * TF_COND_CRITBOOSTED_USER_BUFF = 34;
       */
      TF_COND_CRITBOOSTED_USER_BUFF(34),
      /**
       * TF_COND_CRITBOOSTED_DEMO_CHARGE = 35;
       */
      TF_COND_CRITBOOSTED_DEMO_CHARGE(35),
      /**
       * TF_COND_SODAPOPPER_HYPE = 36;
       */
      TF_COND_SODAPOPPER_HYPE(36),
      /**
       * TF_COND_CRITBOOSTED_FIRST_BLOOD = 37;
       */
      TF_COND_CRITBOOSTED_FIRST_BLOOD(37),
      /**
       * TF_COND_CRITBOOSTED_BONUS_TIME = 38;
       */
      TF_COND_CRITBOOSTED_BONUS_TIME(38),
      /**
       * TF_COND_CRITBOOSTED_CTF_CAPTURE = 39;
       */
      TF_COND_CRITBOOSTED_CTF_CAPTURE(39),
      /**
       * TF_COND_CRITBOOSTED_ON_KILL = 40;
       */
      TF_COND_CRITBOOSTED_ON_KILL(40),
      /**
       * TF_COND_CANNOT_SWITCH_FROM_MELEE = 41;
       */
      TF_COND_CANNOT_SWITCH_FROM_MELEE(41),
      /**
       * TF_COND_DEFENSEBUFF_NO_CRIT_BLOCK = 42;
       */
      TF_COND_DEFENSEBUFF_NO_CRIT_BLOCK(42),
      /**
       * TF_COND_REPROGRAMMED = 43;
       */
      TF_COND_REPROGRAMMED(43),
      /**
       * TF_COND_CRITBOOSTED_RAGE_BUFF = 44;
       */
      TF_COND_CRITBOOSTED_RAGE_BUFF(44),
      /**
       * TF_COND_DEFENSEBUFF_HIGH = 45;
       */
      TF_COND_DEFENSEBUFF_HIGH(45),
      /**
       * TF_COND_SNIPERCHARGE_RAGE_BUFF = 46;
       */
      TF_COND_SNIPERCHARGE_RAGE_BUFF(46),
      /**
       * TF_COND_DISGUISE_WEARINGOFF = 47;
       */
      TF_COND_DISGUISE_WEARINGOFF(47),
      /**
       * TF_COND_MARKEDFORDEATH_SILENT = 48;
       */
      TF_COND_MARKEDFORDEATH_SILENT(48),
      /**
       * TF_COND_DISGUISED_AS_DISPENSER = 49;
       */
      TF_COND_DISGUISED_AS_DISPENSER(49),
      /**
       * TF_COND_SAPPED = 50;
       */
      TF_COND_SAPPED(50),
      /**
       * TF_COND_INVULNERABLE_HIDE_UNLESS_DAMAGED = 51;
       */
      TF_COND_INVULNERABLE_HIDE_UNLESS_DAMAGED(51),
      /**
       * TF_COND_INVULNERABLE_USER_BUFF = 52;
       */
      TF_COND_INVULNERABLE_USER_BUFF(52),
      /**
       * TF_COND_HALLOWEEN_BOMB_HEAD = 53;
       */
      TF_COND_HALLOWEEN_BOMB_HEAD(53),
      /**
       * TF_COND_HALLOWEEN_THRILLER = 54;
       */
      TF_COND_HALLOWEEN_THRILLER(54),
      /**
       * TF_COND_RADIUSHEAL_ON_DAMAGE = 55;
       */
      TF_COND_RADIUSHEAL_ON_DAMAGE(55),
      /**
       * TF_COND_CRITBOOSTED_CARD_EFFECT = 56;
       */
      TF_COND_CRITBOOSTED_CARD_EFFECT(56),
      /**
       * TF_COND_INVULNERABLE_CARD_EFFECT = 57;
       */
      TF_COND_INVULNERABLE_CARD_EFFECT(57),
      /**
       * TF_COND_MEDIGUN_UBER_BULLET_RESIST = 58;
       */
      TF_COND_MEDIGUN_UBER_BULLET_RESIST(58),
      /**
       * TF_COND_MEDIGUN_UBER_BLAST_RESIST = 59;
       */
      TF_COND_MEDIGUN_UBER_BLAST_RESIST(59),
      /**
       * TF_COND_MEDIGUN_UBER_FIRE_RESIST = 60;
       */
      TF_COND_MEDIGUN_UBER_FIRE_RESIST(60),
      /**
       * TF_COND_MEDIGUN_SMALL_BULLET_RESIST = 61;
       */
      TF_COND_MEDIGUN_SMALL_BULLET_RESIST(61),
      /**
       * TF_COND_MEDIGUN_SMALL_BLAST_RESIST = 62;
       */
      TF_COND_MEDIGUN_SMALL_BLAST_RESIST(62),
      /**
       * TF_COND_MEDIGUN_SMALL_FIRE_RESIST = 63;
       */
      TF_COND_MEDIGUN_SMALL_FIRE_RESIST(63),
      /**
       * TF_COND_STEALTHED_USER_BUFF = 64;
       */
      TF_COND_STEALTHED_USER_BUFF(64),
      /**
       * TF_COND_MEDIGUN_DEBUFF = 65;
       */
      TF_COND_MEDIGUN_DEBUFF(65),
      /**
       * TF_COND_STEALTHED_USER_BUFF_FADING = 66;
       */
      TF_COND_STEALTHED_USER_BUFF_FADING(66),
      /**
       * TF_COND_BULLET_IMMUNE = 67;
       */
      TF_COND_BULLET_IMMUNE(67),
      /**
       * TF_COND_BLAST_IMMUNE = 68;
       */
      TF_COND_BLAST_IMMUNE(68),
      /**
       * TF_COND_FIRE_IMMUNE = 69;
       */
      TF_COND_FIRE_IMMUNE(69),
      /**
       * TF_COND_PREVENT_DEATH = 70;
       */
      TF_COND_PREVENT_DEATH(70),
      /**
       * TF_COND_MVM_BOT_STUN_RADIOWAVE = 71;
       */
      TF_COND_MVM_BOT_STUN_RADIOWAVE(71),
      /**
       * TF_COND_HALLOWEEN_SPEED_BOOST = 72;
       */
      TF_COND_HALLOWEEN_SPEED_BOOST(72),
      /**
       * TF_COND_HALLOWEEN_QUICK_HEAL = 73;
       */
      TF_COND_HALLOWEEN_QUICK_HEAL(73),
      /**
       * TF_COND_HALLOWEEN_GIANT = 74;
       */
      TF_COND_HALLOWEEN_GIANT(74),
      /**
       * TF_COND_HALLOWEEN_TINY = 75;
       */
      TF_COND_HALLOWEEN_TINY(75),
      /**
       * TF_COND_HALLOWEEN_IN_HELL = 76;
       */
      TF_COND_HALLOWEEN_IN_HELL(76),
      /**
       * TF_COND_HALLOWEEN_GHOST_MODE = 77;
       */
      TF_COND_HALLOWEEN_GHOST_MODE(77),
      /**
       * TF_COND_MINICRITBOOSTED_ON_KILL = 78;
       */
      TF_COND_MINICRITBOOSTED_ON_KILL(78),
      /**
       * TF_COND_OBSCURED_SMOKE = 79;
       */
      TF_COND_OBSCURED_SMOKE(79),
      /**
       * TF_COND_PARACHUTE_ACTIVE = 80;
       */
      TF_COND_PARACHUTE_ACTIVE(80),
      /**
       * TF_COND_BLASTJUMPING = 81;
       */
      TF_COND_BLASTJUMPING(81),
      /**
       * TF_COND_HALLOWEEN_KART = 82;
       */
      TF_COND_HALLOWEEN_KART(82),
      /**
       * TF_COND_HALLOWEEN_KART_DASH = 83;
       */
      TF_COND_HALLOWEEN_KART_DASH(83),
      /**
       * TF_COND_BALLOON_HEAD = 84;
       */
      TF_COND_BALLOON_HEAD(84),
      /**
       * TF_COND_MELEE_ONLY = 85;
       */
      TF_COND_MELEE_ONLY(85),
      /**
       * TF_COND_SWIMMING_CURSE = 86;
       */
      TF_COND_SWIMMING_CURSE(86),
      /**
       * TF_COND_FREEZE_INPUT = 87;
       */
      TF_COND_FREEZE_INPUT(87),
      /**
       * TF_COND_HALLOWEEN_KART_CAGE = 88;
       */
      TF_COND_HALLOWEEN_KART_CAGE(88),
      /**
       * TF_COND_DONOTUSE_0 = 89;
       */
      TF_COND_DONOTUSE_0(89),
      /**
       * TF_COND_RUNE_STRENGTH = 90;
       */
      TF_COND_RUNE_STRENGTH(90),
      /**
       * TF_COND_RUNE_HASTE = 91;
       */
      TF_COND_RUNE_HASTE(91),
      /**
       * TF_COND_RUNE_REGEN = 92;
       */
      TF_COND_RUNE_REGEN(92),
      /**
       * TF_COND_RUNE_RESIST = 93;
       */
      TF_COND_RUNE_RESIST(93),
      /**
       * TF_COND_RUNE_VAMPIRE = 94;
       */
      TF_COND_RUNE_VAMPIRE(94),
      /**
       * TF_COND_RUNE_REFLECT = 95;
       */
      TF_COND_RUNE_REFLECT(95),
      /**
       * TF_COND_RUNE_PRECISION = 96;
       */
      TF_COND_RUNE_PRECISION(96),
      /**
       * TF_COND_RUNE_AGILITY = 97;
       */
      TF_COND_RUNE_AGILITY(97),
      /**
       * TF_COND_GRAPPLINGHOOK = 98;
       */
      TF_COND_GRAPPLINGHOOK(98),
      /**
       * TF_COND_GRAPPLINGHOOK_SAFEFALL = 99;
       */
      TF_COND_GRAPPLINGHOOK_SAFEFALL(99),
      /**
       * TF_COND_GRAPPLINGHOOK_LATCHED = 100;
       */
      TF_COND_GRAPPLINGHOOK_LATCHED(100),
      /**
       * TF_COND_GRAPPLINGHOOK_BLEEDING = 101;
       */
      TF_COND_GRAPPLINGHOOK_BLEEDING(101),
      /**
       * TF_COND_AFTERBURN_IMMUNE = 102;
       */
      TF_COND_AFTERBURN_IMMUNE(102),
      /**
       * TF_COND_RUNE_KNOCKOUT = 103;
       */
      TF_COND_RUNE_KNOCKOUT(103),
      /**
       * TF_COND_RUNE_IMBALANCE = 104;
       */
      TF_COND_RUNE_IMBALANCE(104),
      /**
       * TF_COND_CRITBOOSTED_RUNE_TEMP = 105;
       */
      TF_COND_CRITBOOSTED_RUNE_TEMP(105),
      /**
       * TF_COND_PASSTIME_INTERCEPTION = 106;
       */
      TF_COND_PASSTIME_INTERCEPTION(106),
      /**
       * TF_COND_SWIMMING_NO_EFFECTS = 107;
       */
      TF_COND_SWIMMING_NO_EFFECTS(107),
      /**
       * TF_COND_PURGATORY = 108;
       */
      TF_COND_PURGATORY(108),
      /**
       * TF_COND_RUNE_KING = 109;
       */
      TF_COND_RUNE_KING(109),
      /**
       * TF_COND_RUNE_PLAGUE = 110;
       */
      TF_COND_RUNE_PLAGUE(110),
      /**
       * TF_COND_RUNE_SUPERNOVA = 111;
       */
      TF_COND_RUNE_SUPERNOVA(111),
      /**
       * TF_COND_PLAGUE = 112;
       */
      TF_COND_PLAGUE(112),
      /**
       * TF_COND_KING_BUFFED = 113;
       */
      TF_COND_KING_BUFFED(113),
      /**
       * TF_COND_TEAM_GLOWS = 114;
       */
      TF_COND_TEAM_GLOWS(114),
      /**
       * TF_COND_KNOCKED_INTO_AIR = 115;
       */
      TF_COND_KNOCKED_INTO_AIR(115),
      /**
       * TF_COND_COMPETITIVE_WINNER = 116;
       */
      TF_COND_COMPETITIVE_WINNER(116),
      /**
       * TF_COND_COMPETITIVE_LOSER = 117;
       */
      TF_COND_COMPETITIVE_LOSER(117),
      /**
       * TF_COND_HEALING_DEBUFF = 118;
       */
      TF_COND_HEALING_DEBUFF(118),
      /**
       * TF_COND_PASSTIME_PENALTY_DEBUFF = 119;
       */
      TF_COND_PASSTIME_PENALTY_DEBUFF(119),
      /**
       * TF_COND_PARACHUTE_DEPLOYED = 120;
       */
      TF_COND_PARACHUTE_DEPLOYED(120),
      /**
       * TF_COND_NO_COMBAT_SPEED_BOOST = 121;
       */
      TF_COND_NO_COMBAT_SPEED_BOOST(121),
      /**
       * TF_COND_TRANQ_SPY_BOOST = 122;
       */
      TF_COND_TRANQ_SPY_BOOST(122),
      /**
       * TF_COND_TRANQ_MARKED = 123;
       */
      TF_COND_TRANQ_MARKED(123),
      /**
       * TF_COND_ROCKETPACK = 126;
       */
      TF_COND_ROCKETPACK(126),
      /**
       * TF_COND_ROCKETPACK_PASSENGER = 127;
       */
      TF_COND_ROCKETPACK_PASSENGER(127),
      /**
       * TF_COND_STEALTHED_PHASE = 128;
       */
      TF_COND_STEALTHED_PHASE(128),
      /**
       * TF_COND_CLIP_OVERLOAD = 129;
       */
      TF_COND_CLIP_OVERLOAD(129),
      /**
       * TF_COND_SPY_CLASS_STEAL = 130;
       */
      TF_COND_SPY_CLASS_STEAL(130),
      /**
       * TF_COND_GAS = 131;
       */
      TF_COND_GAS(131),
      ;

      static {
        com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
          com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
          /* major= */ 4,
          /* minor= */ 28,
          /* patch= */ 0,
          /* suffix= */ "",
          ETF2Conditions.class.getName());
      }
      /**
       * TF_COND_AIMING = 0;
       */
      public static final int TF_COND_AIMING_VALUE = 0;
      /**
       * TF_COND_ZOOMED = 1;
       */
      public static final int TF_COND_ZOOMED_VALUE = 1;
      /**
       * TF_COND_DISGUISING = 2;
       */
      public static final int TF_COND_DISGUISING_VALUE = 2;
      /**
       * TF_COND_DISGUISED = 3;
       */
      public static final int TF_COND_DISGUISED_VALUE = 3;
      /**
       * TF_COND_STEALTHED = 4;
       */
      public static final int TF_COND_STEALTHED_VALUE = 4;
      /**
       * TF_COND_INVULNERABLE = 5;
       */
      public static final int TF_COND_INVULNERABLE_VALUE = 5;
      /**
       * TF_COND_TELEPORTED = 6;
       */
      public static final int TF_COND_TELEPORTED_VALUE = 6;
      /**
       * TF_COND_TAUNTING = 7;
       */
      public static final int TF_COND_TAUNTING_VALUE = 7;
      /**
       * TF_COND_INVULNERABLE_WEARINGOFF = 8;
       */
      public static final int TF_COND_INVULNERABLE_WEARINGOFF_VALUE = 8;
      /**
       * TF_COND_STEALTHED_BLINK = 9;
       */
      public static final int TF_COND_STEALTHED_BLINK_VALUE = 9;
      /**
       * TF_COND_SELECTED_TO_TELEPORT = 10;
       */
      public static final int TF_COND_SELECTED_TO_TELEPORT_VALUE = 10;
      /**
       * TF_COND_CRITBOOSTED = 11;
       */
      public static final int TF_COND_CRITBOOSTED_VALUE = 11;
      /**
       * TF_COND_TMPDAMAGEBONUS = 12;
       */
      public static final int TF_COND_TMPDAMAGEBONUS_VALUE = 12;
      /**
       * TF_COND_FEIGN_DEATH = 13;
       */
      public static final int TF_COND_FEIGN_DEATH_VALUE = 13;
      /**
       * TF_COND_PHASE = 14;
       */
      public static final int TF_COND_PHASE_VALUE = 14;
      /**
       * TF_COND_STUNNED = 15;
       */
      public static final int TF_COND_STUNNED_VALUE = 15;
      /**
       * TF_COND_OFFENSEBUFF = 16;
       */
      public static final int TF_COND_OFFENSEBUFF_VALUE = 16;
      /**
       * TF_COND_SHIELD_CHARGE = 17;
       */
      public static final int TF_COND_SHIELD_CHARGE_VALUE = 17;
      /**
       * TF_COND_DEMO_BUFF = 18;
       */
      public static final int TF_COND_DEMO_BUFF_VALUE = 18;
      /**
       * TF_COND_ENERGY_BUFF = 19;
       */
      public static final int TF_COND_ENERGY_BUFF_VALUE = 19;
      /**
       * TF_COND_RADIUSHEAL = 20;
       */
      public static final int TF_COND_RADIUSHEAL_VALUE = 20;
      /**
       * TF_COND_HEALTH_BUFF = 21;
       */
      public static final int TF_COND_HEALTH_BUFF_VALUE = 21;
      /**
       * TF_COND_BURNING = 22;
       */
      public static final int TF_COND_BURNING_VALUE = 22;
      /**
       * TF_COND_HEALTH_OVERHEALED = 23;
       */
      public static final int TF_COND_HEALTH_OVERHEALED_VALUE = 23;
      /**
       * TF_COND_URINE = 24;
       */
      public static final int TF_COND_URINE_VALUE = 24;
      /**
       * TF_COND_BLEEDING = 25;
       */
      public static final int TF_COND_BLEEDING_VALUE = 25;
      /**
       * TF_COND_DEFENSEBUFF = 26;
       */
      public static final int TF_COND_DEFENSEBUFF_VALUE = 26;
      /**
       * TF_COND_MAD_MILK = 27;
       */
      public static final int TF_COND_MAD_MILK_VALUE = 27;
      /**
       * TF_COND_MEGAHEAL = 28;
       */
      public static final int TF_COND_MEGAHEAL_VALUE = 28;
      /**
       * TF_COND_REGENONDAMAGEBUFF = 29;
       */
      public static final int TF_COND_REGENONDAMAGEBUFF_VALUE = 29;
      /**
       * TF_COND_MARKEDFORDEATH = 30;
       */
      public static final int TF_COND_MARKEDFORDEATH_VALUE = 30;
      /**
       * TF_COND_NOHEALINGDAMAGEBUFF = 31;
       */
      public static final int TF_COND_NOHEALINGDAMAGEBUFF_VALUE = 31;
      /**
       * TF_COND_SPEED_BOOST = 32;
       */
      public static final int TF_COND_SPEED_BOOST_VALUE = 32;
      /**
       * TF_COND_CRITBOOSTED_PUMPKIN = 33;
       */
      public static final int TF_COND_CRITBOOSTED_PUMPKIN_VALUE = 33;
      /**
       * TF_COND_CRITBOOSTED_USER_BUFF = 34;
       */
      public static final int TF_COND_CRITBOOSTED_USER_BUFF_VALUE = 34;
      /**
       * TF_COND_CRITBOOSTED_DEMO_CHARGE = 35;
       */
      public static final int TF_COND_CRITBOOSTED_DEMO_CHARGE_VALUE = 35;
      /**
       * TF_COND_SODAPOPPER_HYPE = 36;
       */
      public static final int TF_COND_SODAPOPPER_HYPE_VALUE = 36;
      /**
       * TF_COND_CRITBOOSTED_FIRST_BLOOD = 37;
       */
      public static final int TF_COND_CRITBOOSTED_FIRST_BLOOD_VALUE = 37;
      /**
       * TF_COND_CRITBOOSTED_BONUS_TIME = 38;
       */
      public static final int TF_COND_CRITBOOSTED_BONUS_TIME_VALUE = 38;
      /**
       * TF_COND_CRITBOOSTED_CTF_CAPTURE = 39;
       */
      public static final int TF_COND_CRITBOOSTED_CTF_CAPTURE_VALUE = 39;
      /**
       * TF_COND_CRITBOOSTED_ON_KILL = 40;
       */
      public static final int TF_COND_CRITBOOSTED_ON_KILL_VALUE = 40;
      /**
       * TF_COND_CANNOT_SWITCH_FROM_MELEE = 41;
       */
      public static final int TF_COND_CANNOT_SWITCH_FROM_MELEE_VALUE = 41;
      /**
       * TF_COND_DEFENSEBUFF_NO_CRIT_BLOCK = 42;
       */
      public static final int TF_COND_DEFENSEBUFF_NO_CRIT_BLOCK_VALUE = 42;
      /**
       * TF_COND_REPROGRAMMED = 43;
       */
      public static final int TF_COND_REPROGRAMMED_VALUE = 43;
      /**
       * TF_COND_CRITBOOSTED_RAGE_BUFF = 44;
       */
      public static final int TF_COND_CRITBOOSTED_RAGE_BUFF_VALUE = 44;
      /**
       * TF_COND_DEFENSEBUFF_HIGH = 45;
       */
      public static final int TF_COND_DEFENSEBUFF_HIGH_VALUE = 45;
      /**
       * TF_COND_SNIPERCHARGE_RAGE_BUFF = 46;
       */
      public static final int TF_COND_SNIPERCHARGE_RAGE_BUFF_VALUE = 46;
      /**
       * TF_COND_DISGUISE_WEARINGOFF = 47;
       */
      public static final int TF_COND_DISGUISE_WEARINGOFF_VALUE = 47;
      /**
       * TF_COND_MARKEDFORDEATH_SILENT = 48;
       */
      public static final int TF_COND_MARKEDFORDEATH_SILENT_VALUE = 48;
      /**
       * TF_COND_DISGUISED_AS_DISPENSER = 49;
       */
      public static final int TF_COND_DISGUISED_AS_DISPENSER_VALUE = 49;
      /**
       * TF_COND_SAPPED = 50;
       */
      public static final int TF_COND_SAPPED_VALUE = 50;
      /**
       * TF_COND_INVULNERABLE_HIDE_UNLESS_DAMAGED = 51;
       */
      public static final int TF_COND_INVULNERABLE_HIDE_UNLESS_DAMAGED_VALUE = 51;
      /**
       * TF_COND_INVULNERABLE_USER_BUFF = 52;
       */
      public static final int TF_COND_INVULNERABLE_USER_BUFF_VALUE = 52;
      /**
       * TF_COND_HALLOWEEN_BOMB_HEAD = 53;
       */
      public static final int TF_COND_HALLOWEEN_BOMB_HEAD_VALUE = 53;
      /**
       * TF_COND_HALLOWEEN_THRILLER = 54;
       */
      public static final int TF_COND_HALLOWEEN_THRILLER_VALUE = 54;
      /**
       * TF_COND_RADIUSHEAL_ON_DAMAGE = 55;
       */
      public static final int TF_COND_RADIUSHEAL_ON_DAMAGE_VALUE = 55;
      /**
       * TF_COND_CRITBOOSTED_CARD_EFFECT = 56;
       */
      public static final int TF_COND_CRITBOOSTED_CARD_EFFECT_VALUE = 56;
      /**
       * TF_COND_INVULNERABLE_CARD_EFFECT = 57;
       */
      public static final int TF_COND_INVULNERABLE_CARD_EFFECT_VALUE = 57;
      /**
       * TF_COND_MEDIGUN_UBER_BULLET_RESIST = 58;
       */
      public static final int TF_COND_MEDIGUN_UBER_BULLET_RESIST_VALUE = 58;
      /**
       * TF_COND_MEDIGUN_UBER_BLAST_RESIST = 59;
       */
      public static final int TF_COND_MEDIGUN_UBER_BLAST_RESIST_VALUE = 59;
      /**
       * TF_COND_MEDIGUN_UBER_FIRE_RESIST = 60;
       */
      public static final int TF_COND_MEDIGUN_UBER_FIRE_RESIST_VALUE = 60;
      /**
       * TF_COND_MEDIGUN_SMALL_BULLET_RESIST = 61;
       */
      public static final int TF_COND_MEDIGUN_SMALL_BULLET_RESIST_VALUE = 61;
      /**
       * TF_COND_MEDIGUN_SMALL_BLAST_RESIST = 62;
       */
      public static final int TF_COND_MEDIGUN_SMALL_BLAST_RESIST_VALUE = 62;
      /**
       * TF_COND_MEDIGUN_SMALL_FIRE_RESIST = 63;
       */
      public static final int TF_COND_MEDIGUN_SMALL_FIRE_RESIST_VALUE = 63;
      /**
       * TF_COND_STEALTHED_USER_BUFF = 64;
       */
      public static final int TF_COND_STEALTHED_USER_BUFF_VALUE = 64;
      /**
       * TF_COND_MEDIGUN_DEBUFF = 65;
       */
      public static final int TF_COND_MEDIGUN_DEBUFF_VALUE = 65;
      /**
       * TF_COND_STEALTHED_USER_BUFF_FADING = 66;
       */
      public static final int TF_COND_STEALTHED_USER_BUFF_FADING_VALUE = 66;
      /**
       * TF_COND_BULLET_IMMUNE = 67;
       */
      public static final int TF_COND_BULLET_IMMUNE_VALUE = 67;
      /**
       * TF_COND_BLAST_IMMUNE = 68;
       */
      public static final int TF_COND_BLAST_IMMUNE_VALUE = 68;
      /**
       * TF_COND_FIRE_IMMUNE = 69;
       */
      public static final int TF_COND_FIRE_IMMUNE_VALUE = 69;
      /**
       * TF_COND_PREVENT_DEATH = 70;
       */
      public static final int TF_COND_PREVENT_DEATH_VALUE = 70;
      /**
       * TF_COND_MVM_BOT_STUN_RADIOWAVE = 71;
       */
      public static final int TF_COND_MVM_BOT_STUN_RADIOWAVE_VALUE = 71;
      /**
       * TF_COND_HALLOWEEN_SPEED_BOOST = 72;
       */
      public static final int TF_COND_HALLOWEEN_SPEED_BOOST_VALUE = 72;
      /**
       * TF_COND_HALLOWEEN_QUICK_HEAL = 73;
       */
      public static final int TF_COND_HALLOWEEN_QUICK_HEAL_VALUE = 73;
      /**
       * TF_COND_HALLOWEEN_GIANT = 74;
       */
      public static final int TF_COND_HALLOWEEN_GIANT_VALUE = 74;
      /**
       * TF_COND_HALLOWEEN_TINY = 75;
       */
      public static final int TF_COND_HALLOWEEN_TINY_VALUE = 75;
      /**
       * TF_COND_HALLOWEEN_IN_HELL = 76;
       */
      public static final int TF_COND_HALLOWEEN_IN_HELL_VALUE = 76;
      /**
       * TF_COND_HALLOWEEN_GHOST_MODE = 77;
       */
      public static final int TF_COND_HALLOWEEN_GHOST_MODE_VALUE = 77;
      /**
       * TF_COND_MINICRITBOOSTED_ON_KILL = 78;
       */
      public static final int TF_COND_MINICRITBOOSTED_ON_KILL_VALUE = 78;
      /**
       * TF_COND_OBSCURED_SMOKE = 79;
       */
      public static final int TF_COND_OBSCURED_SMOKE_VALUE = 79;
      /**
       * TF_COND_PARACHUTE_ACTIVE = 80;
       */
      public static final int TF_COND_PARACHUTE_ACTIVE_VALUE = 80;
      /**
       * TF_COND_BLASTJUMPING = 81;
       */
      public static final int TF_COND_BLASTJUMPING_VALUE = 81;
      /**
       * TF_COND_HALLOWEEN_KART = 82;
       */
      public static final int TF_COND_HALLOWEEN_KART_VALUE = 82;
      /**
       * TF_COND_HALLOWEEN_KART_DASH = 83;
       */
      public static final int TF_COND_HALLOWEEN_KART_DASH_VALUE = 83;
      /**
       * TF_COND_BALLOON_HEAD = 84;
       */
      public static final int TF_COND_BALLOON_HEAD_VALUE = 84;
      /**
       * TF_COND_MELEE_ONLY = 85;
       */
      public static final int TF_COND_MELEE_ONLY_VALUE = 85;
      /**
       * TF_COND_SWIMMING_CURSE = 86;
       */
      public static final int TF_COND_SWIMMING_CURSE_VALUE = 86;
      /**
       * TF_COND_FREEZE_INPUT = 87;
       */
      public static final int TF_COND_FREEZE_INPUT_VALUE = 87;
      /**
       * TF_COND_HALLOWEEN_KART_CAGE = 88;
       */
      public static final int TF_COND_HALLOWEEN_KART_CAGE_VALUE = 88;
      /**
       * TF_COND_DONOTUSE_0 = 89;
       */
      public static final int TF_COND_DONOTUSE_0_VALUE = 89;
      /**
       * TF_COND_RUNE_STRENGTH = 90;
       */
      public static final int TF_COND_RUNE_STRENGTH_VALUE = 90;
      /**
       * TF_COND_RUNE_HASTE = 91;
       */
      public static final int TF_COND_RUNE_HASTE_VALUE = 91;
      /**
       * TF_COND_RUNE_REGEN = 92;
       */
      public static final int TF_COND_RUNE_REGEN_VALUE = 92;
      /**
       * TF_COND_RUNE_RESIST = 93;
       */
      public static final int TF_COND_RUNE_RESIST_VALUE = 93;
      /**
       * TF_COND_RUNE_VAMPIRE = 94;
       */
      public static final int TF_COND_RUNE_VAMPIRE_VALUE = 94;
      /**
       * TF_COND_RUNE_REFLECT = 95;
       */
      public static final int TF_COND_RUNE_REFLECT_VALUE = 95;
      /**
       * TF_COND_RUNE_PRECISION = 96;
       */
      public static final int TF_COND_RUNE_PRECISION_VALUE = 96;
      /**
       * TF_COND_RUNE_AGILITY = 97;
       */
      public static final int TF_COND_RUNE_AGILITY_VALUE = 97;
      /**
       * TF_COND_GRAPPLINGHOOK = 98;
       */
      public static final int TF_COND_GRAPPLINGHOOK_VALUE = 98;
      /**
       * TF_COND_GRAPPLINGHOOK_SAFEFALL = 99;
       */
      public static final int TF_COND_GRAPPLINGHOOK_SAFEFALL_VALUE = 99;
      /**
       * TF_COND_GRAPPLINGHOOK_LATCHED = 100;
       */
      public static final int TF_COND_GRAPPLINGHOOK_LATCHED_VALUE = 100;
      /**
       * TF_COND_GRAPPLINGHOOK_BLEEDING = 101;
       */
      public static final int TF_COND_GRAPPLINGHOOK_BLEEDING_VALUE = 101;
      /**
       * TF_COND_AFTERBURN_IMMUNE = 102;
       */
      public static final int TF_COND_AFTERBURN_IMMUNE_VALUE = 102;
      /**
       * TF_COND_RUNE_KNOCKOUT = 103;
       */
      public static final int TF_COND_RUNE_KNOCKOUT_VALUE = 103;
      /**
       * TF_COND_RUNE_IMBALANCE = 104;
       */
      public static final int TF_COND_RUNE_IMBALANCE_VALUE = 104;
      /**
       * TF_COND_CRITBOOSTED_RUNE_TEMP = 105;
       */
      public static final int TF_COND_CRITBOOSTED_RUNE_TEMP_VALUE = 105;
      /**
       * TF_COND_PASSTIME_INTERCEPTION = 106;
       */
      public static final int TF_COND_PASSTIME_INTERCEPTION_VALUE = 106;
      /**
       * TF_COND_SWIMMING_NO_EFFECTS = 107;
       */
      public static final int TF_COND_SWIMMING_NO_EFFECTS_VALUE = 107;
      /**
       * TF_COND_PURGATORY = 108;
       */
      public static final int TF_COND_PURGATORY_VALUE = 108;
      /**
       * TF_COND_RUNE_KING = 109;
       */
      public static final int TF_COND_RUNE_KING_VALUE = 109;
      /**
       * TF_COND_RUNE_PLAGUE = 110;
       */
      public static final int TF_COND_RUNE_PLAGUE_VALUE = 110;
      /**
       * TF_COND_RUNE_SUPERNOVA = 111;
       */
      public static final int TF_COND_RUNE_SUPERNOVA_VALUE = 111;
      /**
       * TF_COND_PLAGUE = 112;
       */
      public static final int TF_COND_PLAGUE_VALUE = 112;
      /**
       * TF_COND_KING_BUFFED = 113;
       */
      public static final int TF_COND_KING_BUFFED_VALUE = 113;
      /**
       * TF_COND_TEAM_GLOWS = 114;
       */
      public static final int TF_COND_TEAM_GLOWS_VALUE = 114;
      /**
       * TF_COND_KNOCKED_INTO_AIR = 115;
       */
      public static final int TF_COND_KNOCKED_INTO_AIR_VALUE = 115;
      /**
       * TF_COND_COMPETITIVE_WINNER = 116;
       */
      public static final int TF_COND_COMPETITIVE_WINNER_VALUE = 116;
      /**
       * TF_COND_COMPETITIVE_LOSER = 117;
       */
      public static final int TF_COND_COMPETITIVE_LOSER_VALUE = 117;
      /**
       * TF_COND_HEALING_DEBUFF = 118;
       */
      public static final int TF_COND_HEALING_DEBUFF_VALUE = 118;
      /**
       * TF_COND_PASSTIME_PENALTY_DEBUFF = 119;
       */
      public static final int TF_COND_PASSTIME_PENALTY_DEBUFF_VALUE = 119;
      /**
       * TF_COND_PARACHUTE_DEPLOYED = 120;
       */
      public static final int TF_COND_PARACHUTE_DEPLOYED_VALUE = 120;
      /**
       * TF_COND_NO_COMBAT_SPEED_BOOST = 121;
       */
      public static final int TF_COND_NO_COMBAT_SPEED_BOOST_VALUE = 121;
      /**
       * TF_COND_TRANQ_SPY_BOOST = 122;
       */
      public static final int TF_COND_TRANQ_SPY_BOOST_VALUE = 122;
      /**
       * TF_COND_TRANQ_MARKED = 123;
       */
      public static final int TF_COND_TRANQ_MARKED_VALUE = 123;
      /**
       * TF_COND_ROCKETPACK = 126;
       */
      public static final int TF_COND_ROCKETPACK_VALUE = 126;
      /**
       * TF_COND_ROCKETPACK_PASSENGER = 127;
       */
      public static final int TF_COND_ROCKETPACK_PASSENGER_VALUE = 127;
      /**
       * TF_COND_STEALTHED_PHASE = 128;
       */
      public static final int TF_COND_STEALTHED_PHASE_VALUE = 128;
      /**
       * TF_COND_CLIP_OVERLOAD = 129;
       */
      public static final int TF_COND_CLIP_OVERLOAD_VALUE = 129;
      /**
       * TF_COND_SPY_CLASS_STEAL = 130;
       */
      public static final int TF_COND_SPY_CLASS_STEAL_VALUE = 130;
      /**
       * TF_COND_GAS = 131;
       */
      public static final int TF_COND_GAS_VALUE = 131;


      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 ETF2Conditions 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 ETF2Conditions forNumber(int value) {
        switch (value) {
          case 0: return TF_COND_AIMING;
          case 1: return TF_COND_ZOOMED;
          case 2: return TF_COND_DISGUISING;
          case 3: return TF_COND_DISGUISED;
          case 4: return TF_COND_STEALTHED;
          case 5: return TF_COND_INVULNERABLE;
          case 6: return TF_COND_TELEPORTED;
          case 7: return TF_COND_TAUNTING;
          case 8: return TF_COND_INVULNERABLE_WEARINGOFF;
          case 9: return TF_COND_STEALTHED_BLINK;
          case 10: return TF_COND_SELECTED_TO_TELEPORT;
          case 11: return TF_COND_CRITBOOSTED;
          case 12: return TF_COND_TMPDAMAGEBONUS;
          case 13: return TF_COND_FEIGN_DEATH;
          case 14: return TF_COND_PHASE;
          case 15: return TF_COND_STUNNED;
          case 16: return TF_COND_OFFENSEBUFF;
          case 17: return TF_COND_SHIELD_CHARGE;
          case 18: return TF_COND_DEMO_BUFF;
          case 19: return TF_COND_ENERGY_BUFF;
          case 20: return TF_COND_RADIUSHEAL;
          case 21: return TF_COND_HEALTH_BUFF;
          case 22: return TF_COND_BURNING;
          case 23: return TF_COND_HEALTH_OVERHEALED;
          case 24: return TF_COND_URINE;
          case 25: return TF_COND_BLEEDING;
          case 26: return TF_COND_DEFENSEBUFF;
          case 27: return TF_COND_MAD_MILK;
          case 28: return TF_COND_MEGAHEAL;
          case 29: return TF_COND_REGENONDAMAGEBUFF;
          case 30: return TF_COND_MARKEDFORDEATH;
          case 31: return TF_COND_NOHEALINGDAMAGEBUFF;
          case 32: return TF_COND_SPEED_BOOST;
          case 33: return TF_COND_CRITBOOSTED_PUMPKIN;
          case 34: return TF_COND_CRITBOOSTED_USER_BUFF;
          case 35: return TF_COND_CRITBOOSTED_DEMO_CHARGE;
          case 36: return TF_COND_SODAPOPPER_HYPE;
          case 37: return TF_COND_CRITBOOSTED_FIRST_BLOOD;
          case 38: return TF_COND_CRITBOOSTED_BONUS_TIME;
          case 39: return TF_COND_CRITBOOSTED_CTF_CAPTURE;
          case 40: return TF_COND_CRITBOOSTED_ON_KILL;
          case 41: return TF_COND_CANNOT_SWITCH_FROM_MELEE;
          case 42: return TF_COND_DEFENSEBUFF_NO_CRIT_BLOCK;
          case 43: return TF_COND_REPROGRAMMED;
          case 44: return TF_COND_CRITBOOSTED_RAGE_BUFF;
          case 45: return TF_COND_DEFENSEBUFF_HIGH;
          case 46: return TF_COND_SNIPERCHARGE_RAGE_BUFF;
          case 47: return TF_COND_DISGUISE_WEARINGOFF;
          case 48: return TF_COND_MARKEDFORDEATH_SILENT;
          case 49: return TF_COND_DISGUISED_AS_DISPENSER;
          case 50: return TF_COND_SAPPED;
          case 51: return TF_COND_INVULNERABLE_HIDE_UNLESS_DAMAGED;
          case 52: return TF_COND_INVULNERABLE_USER_BUFF;
          case 53: return TF_COND_HALLOWEEN_BOMB_HEAD;
          case 54: return TF_COND_HALLOWEEN_THRILLER;
          case 55: return TF_COND_RADIUSHEAL_ON_DAMAGE;
          case 56: return TF_COND_CRITBOOSTED_CARD_EFFECT;
          case 57: return TF_COND_INVULNERABLE_CARD_EFFECT;
          case 58: return TF_COND_MEDIGUN_UBER_BULLET_RESIST;
          case 59: return TF_COND_MEDIGUN_UBER_BLAST_RESIST;
          case 60: return TF_COND_MEDIGUN_UBER_FIRE_RESIST;
          case 61: return TF_COND_MEDIGUN_SMALL_BULLET_RESIST;
          case 62: return TF_COND_MEDIGUN_SMALL_BLAST_RESIST;
          case 63: return TF_COND_MEDIGUN_SMALL_FIRE_RESIST;
          case 64: return TF_COND_STEALTHED_USER_BUFF;
          case 65: return TF_COND_MEDIGUN_DEBUFF;
          case 66: return TF_COND_STEALTHED_USER_BUFF_FADING;
          case 67: return TF_COND_BULLET_IMMUNE;
          case 68: return TF_COND_BLAST_IMMUNE;
          case 69: return TF_COND_FIRE_IMMUNE;
          case 70: return TF_COND_PREVENT_DEATH;
          case 71: return TF_COND_MVM_BOT_STUN_RADIOWAVE;
          case 72: return TF_COND_HALLOWEEN_SPEED_BOOST;
          case 73: return TF_COND_HALLOWEEN_QUICK_HEAL;
          case 74: return TF_COND_HALLOWEEN_GIANT;
          case 75: return TF_COND_HALLOWEEN_TINY;
          case 76: return TF_COND_HALLOWEEN_IN_HELL;
          case 77: return TF_COND_HALLOWEEN_GHOST_MODE;
          case 78: return TF_COND_MINICRITBOOSTED_ON_KILL;
          case 79: return TF_COND_OBSCURED_SMOKE;
          case 80: return TF_COND_PARACHUTE_ACTIVE;
          case 81: return TF_COND_BLASTJUMPING;
          case 82: return TF_COND_HALLOWEEN_KART;
          case 83: return TF_COND_HALLOWEEN_KART_DASH;
          case 84: return TF_COND_BALLOON_HEAD;
          case 85: return TF_COND_MELEE_ONLY;
          case 86: return TF_COND_SWIMMING_CURSE;
          case 87: return TF_COND_FREEZE_INPUT;
          case 88: return TF_COND_HALLOWEEN_KART_CAGE;
          case 89: return TF_COND_DONOTUSE_0;
          case 90: return TF_COND_RUNE_STRENGTH;
          case 91: return TF_COND_RUNE_HASTE;
          case 92: return TF_COND_RUNE_REGEN;
          case 93: return TF_COND_RUNE_RESIST;
          case 94: return TF_COND_RUNE_VAMPIRE;
          case 95: return TF_COND_RUNE_REFLECT;
          case 96: return TF_COND_RUNE_PRECISION;
          case 97: return TF_COND_RUNE_AGILITY;
          case 98: return TF_COND_GRAPPLINGHOOK;
          case 99: return TF_COND_GRAPPLINGHOOK_SAFEFALL;
          case 100: return TF_COND_GRAPPLINGHOOK_LATCHED;
          case 101: return TF_COND_GRAPPLINGHOOK_BLEEDING;
          case 102: return TF_COND_AFTERBURN_IMMUNE;
          case 103: return TF_COND_RUNE_KNOCKOUT;
          case 104: return TF_COND_RUNE_IMBALANCE;
          case 105: return TF_COND_CRITBOOSTED_RUNE_TEMP;
          case 106: return TF_COND_PASSTIME_INTERCEPTION;
          case 107: return TF_COND_SWIMMING_NO_EFFECTS;
          case 108: return TF_COND_PURGATORY;
          case 109: return TF_COND_RUNE_KING;
          case 110: return TF_COND_RUNE_PLAGUE;
          case 111: return TF_COND_RUNE_SUPERNOVA;
          case 112: return TF_COND_PLAGUE;
          case 113: return TF_COND_KING_BUFFED;
          case 114: return TF_COND_TEAM_GLOWS;
          case 115: return TF_COND_KNOCKED_INTO_AIR;
          case 116: return TF_COND_COMPETITIVE_WINNER;
          case 117: return TF_COND_COMPETITIVE_LOSER;
          case 118: return TF_COND_HEALING_DEBUFF;
          case 119: return TF_COND_PASSTIME_PENALTY_DEBUFF;
          case 120: return TF_COND_PARACHUTE_DEPLOYED;
          case 121: return TF_COND_NO_COMBAT_SPEED_BOOST;
          case 122: return TF_COND_TRANQ_SPY_BOOST;
          case 123: return TF_COND_TRANQ_MARKED;
          case 126: return TF_COND_ROCKETPACK;
          case 127: return TF_COND_ROCKETPACK_PASSENGER;
          case 128: return TF_COND_STEALTHED_PHASE;
          case 129: return TF_COND_CLIP_OVERLOAD;
          case 130: return TF_COND_SPY_CLASS_STEAL;
          case 131: return TF_COND_GAS;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          ETF2Conditions> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap() {
              public ETF2Conditions findValueByNumber(int number) {
                return ETF2Conditions.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.TfProtoDefMessages.CMsgQuestObjectiveDef.getDescriptor().getEnumTypes().get(1);
      }

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

      public static ETF2Conditions 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 ETF2Conditions(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:CMsgQuestObjectiveDef.ETF2Conditions)
    }

    /**
     * Protobuf enum {@code CMsgQuestObjectiveDef.ETF2Team}
     */
    public enum ETF2Team
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * TF_TEAM_RED = 2;
       */
      TF_TEAM_RED(2),
      /**
       * TF_TEAM_BLUE = 3;
       */
      TF_TEAM_BLUE(3),
      ;

      static {
        com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
          com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
          /* major= */ 4,
          /* minor= */ 28,
          /* patch= */ 0,
          /* suffix= */ "",
          ETF2Team.class.getName());
      }
      /**
       * TF_TEAM_RED = 2;
       */
      public static final int TF_TEAM_RED_VALUE = 2;
      /**
       * TF_TEAM_BLUE = 3;
       */
      public static final int TF_TEAM_BLUE_VALUE = 3;


      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 ETF2Team 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 ETF2Team forNumber(int value) {
        switch (value) {
          case 2: return TF_TEAM_RED;
          case 3: return TF_TEAM_BLUE;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          ETF2Team> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap() {
              public ETF2Team findValueByNumber(int number) {
                return ETF2Team.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.TfProtoDefMessages.CMsgQuestObjectiveDef.getDescriptor().getEnumTypes().get(2);
      }

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

      public static ETF2Team 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 ETF2Team(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:CMsgQuestObjectiveDef.ETF2Team)
    }

    private int bitField0_;
    public static final int HEADER_FIELD_NUMBER = 1;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader header_;
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return Whether the header field is set.
     */
    @java.lang.Override
    public boolean hasHeader() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return The header.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader() {
      return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
    }
    /**
     * required .CMsgProtoDefHeader header = 1;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder() {
      return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
    }

    public static final int LOC_DESCTOKEN_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private volatile java.lang.Object locDesctoken_ = "";
    /**
     * optional string loc_desctoken = 2 [(.localized) = true];
     * @return Whether the locDesctoken field is set.
     */
    @java.lang.Override
    public boolean hasLocDesctoken() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional string loc_desctoken = 2 [(.localized) = true];
     * @return The locDesctoken.
     */
    @java.lang.Override
    public java.lang.String getLocDesctoken() {
      java.lang.Object ref = locDesctoken_;
      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()) {
          locDesctoken_ = s;
        }
        return s;
      }
    }
    /**
     * optional string loc_desctoken = 2 [(.localized) = true];
     * @return The bytes for locDesctoken.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getLocDesctokenBytes() {
      java.lang.Object ref = locDesctoken_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        locDesctoken_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int POINTS_FIELD_NUMBER = 3;
    private int points_ = 0;
    /**
     * optional uint32 points = 3;
     * @return Whether the points field is set.
     */
    @java.lang.Override
    public boolean hasPoints() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional uint32 points = 3;
     * @return The points.
     */
    @java.lang.Override
    public int getPoints() {
      return points_;
    }

    public static final int CONDITIONS_DEFINDEX_FIELD_NUMBER = 5;
    private int conditionsDefindex_ = 0;
    /**
     * optional uint32 conditions_defindex = 5;
     * @return Whether the conditionsDefindex field is set.
     */
    @java.lang.Override
    public boolean hasConditionsDefindex() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional uint32 conditions_defindex = 5;
     * @return The conditionsDefindex.
     */
    @java.lang.Override
    public int getConditionsDefindex() {
      return conditionsDefindex_;
    }

    public static final int MAP_FIELD_NUMBER = 8;
    @SuppressWarnings("serial")
    private com.google.protobuf.LazyStringArrayList map_ =
        com.google.protobuf.LazyStringArrayList.emptyList();
    /**
     * repeated string map = 8 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
     * @return A list containing the map.
     */
    public com.google.protobuf.ProtocolStringList
        getMapList() {
      return map_;
    }
    /**
     * repeated string map = 8 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
     * @return The count of map.
     */
    public int getMapCount() {
      return map_.size();
    }
    /**
     * repeated string map = 8 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
     * @param index The index of the element to return.
     * @return The map at the given index.
     */
    public java.lang.String getMap(int index) {
      return map_.get(index);
    }
    /**
     * repeated string map = 8 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
     * @param index The index of the value to return.
     * @return The bytes of the map at the given index.
     */
    public com.google.protobuf.ByteString
        getMapBytes(int index) {
      return map_.getByteString(index);
    }

    public static final int GAME_MODE_FIELD_NUMBER = 9;
    @SuppressWarnings("serial")
    private com.google.protobuf.Internal.IntList gameMode_;
    private static final com.google.protobuf.Internal.IntListAdapter.IntConverter<
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2GameModes> gameMode_converter_ =
            new com.google.protobuf.Internal.IntListAdapter.IntConverter<
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2GameModes>() {
              public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2GameModes convert(int from) {
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2GameModes result = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2GameModes.forNumber(from);
                return result == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2GameModes.kGameCategory_Escort : result;
              }
            };
    /**
     * repeated .CMsgQuestObjectiveDef.ETF2GameModes game_mode = 9 [(.display_name) = "Game Mode Modifier", (.comment) = "If set, the player must be in one of the listed game modes to get credit."];
     * @return A list containing the gameMode.
     */
    @java.lang.Override
    public java.util.List getGameModeList() {
      return new com.google.protobuf.Internal.IntListAdapter<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2GameModes>(gameMode_, gameMode_converter_);
    }
    /**
     * repeated .CMsgQuestObjectiveDef.ETF2GameModes game_mode = 9 [(.display_name) = "Game Mode Modifier", (.comment) = "If set, the player must be in one of the listed game modes to get credit."];
     * @return The count of gameMode.
     */
    @java.lang.Override
    public int getGameModeCount() {
      return gameMode_.size();
    }
    /**
     * repeated .CMsgQuestObjectiveDef.ETF2GameModes game_mode = 9 [(.display_name) = "Game Mode Modifier", (.comment) = "If set, the player must be in one of the listed game modes to get credit."];
     * @param index The index of the element to return.
     * @return The gameMode at the given index.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2GameModes getGameMode(int index) {
      return gameMode_converter_.convert(gameMode_.getInt(index));
    }

    public static final int TEAM_FIELD_NUMBER = 10;
    private int team_ = 2;
    /**
     * optional .CMsgQuestObjectiveDef.ETF2Team team = 10 [default = TF_TEAM_RED, (.display_name) = "Team Modifier", (.comment) = "If set, the player must be on the specified team to get credit."];
     * @return Whether the team field is set.
     */
    @java.lang.Override public boolean hasTeam() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * optional .CMsgQuestObjectiveDef.ETF2Team team = 10 [default = TF_TEAM_RED, (.display_name) = "Team Modifier", (.comment) = "If set, the player must be on the specified team to get credit."];
     * @return The team.
     */
    @java.lang.Override public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2Team getTeam() {
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2Team result = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2Team.forNumber(team_);
      return result == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2Team.TF_TEAM_RED : result;
    }

    public static final int CONDITION_VARS_FIELD_NUMBER = 11;
    @SuppressWarnings("serial")
    private java.util.List conditionVars_;
    /**
     * repeated .CMsgVarField condition_vars = 11 [(.display_name) = "Objective Vars", (.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public java.util.List getConditionVarsList() {
      return conditionVars_;
    }
    /**
     * repeated .CMsgVarField condition_vars = 11 [(.display_name) = "Objective Vars", (.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public java.util.List 
        getConditionVarsOrBuilderList() {
      return conditionVars_;
    }
    /**
     * repeated .CMsgVarField condition_vars = 11 [(.display_name) = "Objective Vars", (.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public int getConditionVarsCount() {
      return conditionVars_.size();
    }
    /**
     * repeated .CMsgVarField condition_vars = 11 [(.display_name) = "Objective Vars", (.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getConditionVars(int index) {
      return conditionVars_.get(index);
    }
    /**
     * repeated .CMsgVarField condition_vars = 11 [(.display_name) = "Objective Vars", (.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getConditionVarsOrBuilder(
        int index) {
      return conditionVars_.get(index);
    }

    public static final int CLASSES_VARS_FIELD_NUMBER = 12;
    @SuppressWarnings("serial")
    private java.util.List classesVars_;
    /**
     * repeated .CMsgVarField classes_vars = 12 [(.display_name) = "Class Modifier", (.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public java.util.List getClassesVarsList() {
      return classesVars_;
    }
    /**
     * repeated .CMsgVarField classes_vars = 12 [(.display_name) = "Class Modifier", (.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public java.util.List 
        getClassesVarsOrBuilderList() {
      return classesVars_;
    }
    /**
     * repeated .CMsgVarField classes_vars = 12 [(.display_name) = "Class Modifier", (.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public int getClassesVarsCount() {
      return classesVars_.size();
    }
    /**
     * repeated .CMsgVarField classes_vars = 12 [(.display_name) = "Class Modifier", (.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getClassesVars(int index) {
      return classesVars_.get(index);
    }
    /**
     * repeated .CMsgVarField classes_vars = 12 [(.display_name) = "Class Modifier", (.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getClassesVarsOrBuilder(
        int index) {
      return classesVars_.get(index);
    }

    public static final int CONDITIONS_FIELD_NUMBER = 13;
    @SuppressWarnings("serial")
    private com.google.protobuf.Internal.IntList conditions_;
    private static final com.google.protobuf.Internal.IntListAdapter.IntConverter<
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2Conditions> conditions_converter_ =
            new com.google.protobuf.Internal.IntListAdapter.IntConverter<
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2Conditions>() {
              public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2Conditions convert(int from) {
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2Conditions result = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2Conditions.forNumber(from);
                return result == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2Conditions.TF_COND_AIMING : result;
              }
            };
    /**
     * repeated .CMsgQuestObjectiveDef.ETF2Conditions conditions = 13 [(.display_name) = "Required Conds"];
     * @return A list containing the conditions.
     */
    @java.lang.Override
    public java.util.List getConditionsList() {
      return new com.google.protobuf.Internal.IntListAdapter<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2Conditions>(conditions_, conditions_converter_);
    }
    /**
     * repeated .CMsgQuestObjectiveDef.ETF2Conditions conditions = 13 [(.display_name) = "Required Conds"];
     * @return The count of conditions.
     */
    @java.lang.Override
    public int getConditionsCount() {
      return conditions_.size();
    }
    /**
     * repeated .CMsgQuestObjectiveDef.ETF2Conditions conditions = 13 [(.display_name) = "Required Conds"];
     * @param index The index of the element to return.
     * @return The conditions at the given index.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2Conditions getConditions(int index) {
      return conditions_converter_.convert(conditions_.getInt(index));
    }

    public static final int CONDITION_LOGIC_FIELD_NUMBER = 14;
    private int conditionLogic_ = 0;
    /**
     * optional .LogicalOperation condition_logic = 14 [default = AND, (.display_name) = "Condition Logic", (.comment) = "What kind of logic to use when evaluating the player\'s conditions."];
     * @return Whether the conditionLogic field is set.
     */
    @java.lang.Override public boolean hasConditionLogic() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * optional .LogicalOperation condition_logic = 14 [default = AND, (.display_name) = "Condition Logic", (.comment) = "What kind of logic to use when evaluating the player\'s conditions."];
     * @return The conditionLogic.
     */
    @java.lang.Override public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation getConditionLogic() {
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation result = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation.forNumber(conditionLogic_);
      return result == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation.AND : result;
    }

    public static final int ITEM_NAME_FIELD_NUMBER = 15;
    @SuppressWarnings("serial")
    private com.google.protobuf.LazyStringArrayList itemName_ =
        com.google.protobuf.LazyStringArrayList.emptyList();
    /**
     * repeated string item_name = 15 [(.display_name) = "Required equipped item", (.comment) = "Require that this item be equipped in any slot."];
     * @return A list containing the itemName.
     */
    public com.google.protobuf.ProtocolStringList
        getItemNameList() {
      return itemName_;
    }
    /**
     * repeated string item_name = 15 [(.display_name) = "Required equipped item", (.comment) = "Require that this item be equipped in any slot."];
     * @return The count of itemName.
     */
    public int getItemNameCount() {
      return itemName_.size();
    }
    /**
     * repeated string item_name = 15 [(.display_name) = "Required equipped item", (.comment) = "Require that this item be equipped in any slot."];
     * @param index The index of the element to return.
     * @return The itemName at the given index.
     */
    public java.lang.String getItemName(int index) {
      return itemName_.get(index);
    }
    /**
     * repeated string item_name = 15 [(.display_name) = "Required equipped item", (.comment) = "Require that this item be equipped in any slot."];
     * @param index The index of the value to return.
     * @return The bytes of the itemName at the given index.
     */
    public com.google.protobuf.ByteString
        getItemNameBytes(int index) {
      return itemName_.getByteString(index);
    }

    public static final int ITEM_LOGIC_FIELD_NUMBER = 16;
    private int itemLogic_ = 0;
    /**
     * optional .LogicalOperation item_logic = 16 [default = AND, (.display_name) = "Item logic", (.comment) = "What kind of logic to use when evaluating the player\'s items."];
     * @return Whether the itemLogic field is set.
     */
    @java.lang.Override public boolean hasItemLogic() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     * optional .LogicalOperation item_logic = 16 [default = AND, (.display_name) = "Item logic", (.comment) = "What kind of logic to use when evaluating the player\'s items."];
     * @return The itemLogic.
     */
    @java.lang.Override public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation getItemLogic() {
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation result = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation.forNumber(itemLogic_);
      return result == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation.AND : result;
    }

    public static final int JUMP_STATE_FIELD_NUMBER = 17;
    private int jumpState_ = 0;
    /**
     * optional uint32 jump_state = 17 [(.display_name) = "Jump logic", (.comment) = "What state of jumping the player needs to be in."];
     * @return Whether the jumpState field is set.
     */
    @java.lang.Override
    public boolean hasJumpState() {
      return ((bitField0_ & 0x00000080) != 0);
    }
    /**
     * optional uint32 jump_state = 17 [(.display_name) = "Jump logic", (.comment) = "What state of jumping the player needs to be in."];
     * @return The jumpState.
     */
    @java.lang.Override
    public int getJumpState() {
      return jumpState_;
    }

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

      if (!hasHeader()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getHeader().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getHeader());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 2, locDesctoken_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeUInt32(3, points_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeUInt32(5, conditionsDefindex_);
      }
      for (int i = 0; i < map_.size(); i++) {
        com.google.protobuf.GeneratedMessage.writeString(output, 8, map_.getRaw(i));
      }
      for (int i = 0; i < gameMode_.size(); i++) {
        output.writeEnum(9, gameMode_.getInt(i));
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        output.writeEnum(10, team_);
      }
      for (int i = 0; i < conditionVars_.size(); i++) {
        output.writeMessage(11, conditionVars_.get(i));
      }
      for (int i = 0; i < classesVars_.size(); i++) {
        output.writeMessage(12, classesVars_.get(i));
      }
      for (int i = 0; i < conditions_.size(); i++) {
        output.writeEnum(13, conditions_.getInt(i));
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        output.writeEnum(14, conditionLogic_);
      }
      for (int i = 0; i < itemName_.size(); i++) {
        com.google.protobuf.GeneratedMessage.writeString(output, 15, itemName_.getRaw(i));
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        output.writeEnum(16, itemLogic_);
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        output.writeUInt32(17, jumpState_);
      }
      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
          .computeMessageSize(1, getHeader());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(2, locDesctoken_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, points_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(5, conditionsDefindex_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < map_.size(); i++) {
          dataSize += computeStringSizeNoTag(map_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getMapList().size();
      }
      {
        int dataSize = 0;
        for (int i = 0; i < gameMode_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeEnumSizeNoTag(gameMode_.getInt(i));
        }
        size += dataSize;
        size += 1 * gameMode_.size();
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(10, team_);
      }
      for (int i = 0; i < conditionVars_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(11, conditionVars_.get(i));
      }
      for (int i = 0; i < classesVars_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(12, classesVars_.get(i));
      }
      {
        int dataSize = 0;
        for (int i = 0; i < conditions_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeEnumSizeNoTag(conditions_.getInt(i));
        }
        size += dataSize;
        size += 1 * conditions_.size();
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(14, conditionLogic_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < itemName_.size(); i++) {
          dataSize += computeStringSizeNoTag(itemName_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getItemNameList().size();
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(16, itemLogic_);
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(17, jumpState_);
      }
      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.TfProtoDefMessages.CMsgQuestObjectiveDef)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef) obj;

      if (hasHeader() != other.hasHeader()) return false;
      if (hasHeader()) {
        if (!getHeader()
            .equals(other.getHeader())) return false;
      }
      if (hasLocDesctoken() != other.hasLocDesctoken()) return false;
      if (hasLocDesctoken()) {
        if (!getLocDesctoken()
            .equals(other.getLocDesctoken())) return false;
      }
      if (hasPoints() != other.hasPoints()) return false;
      if (hasPoints()) {
        if (getPoints()
            != other.getPoints()) return false;
      }
      if (hasConditionsDefindex() != other.hasConditionsDefindex()) return false;
      if (hasConditionsDefindex()) {
        if (getConditionsDefindex()
            != other.getConditionsDefindex()) return false;
      }
      if (!getMapList()
          .equals(other.getMapList())) return false;
      if (!gameMode_.equals(other.gameMode_)) return false;
      if (hasTeam() != other.hasTeam()) return false;
      if (hasTeam()) {
        if (team_ != other.team_) return false;
      }
      if (!getConditionVarsList()
          .equals(other.getConditionVarsList())) return false;
      if (!getClassesVarsList()
          .equals(other.getClassesVarsList())) return false;
      if (!conditions_.equals(other.conditions_)) return false;
      if (hasConditionLogic() != other.hasConditionLogic()) return false;
      if (hasConditionLogic()) {
        if (conditionLogic_ != other.conditionLogic_) return false;
      }
      if (!getItemNameList()
          .equals(other.getItemNameList())) return false;
      if (hasItemLogic() != other.hasItemLogic()) return false;
      if (hasItemLogic()) {
        if (itemLogic_ != other.itemLogic_) return false;
      }
      if (hasJumpState() != other.hasJumpState()) return false;
      if (hasJumpState()) {
        if (getJumpState()
            != other.getJumpState()) 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 (hasHeader()) {
        hash = (37 * hash) + HEADER_FIELD_NUMBER;
        hash = (53 * hash) + getHeader().hashCode();
      }
      if (hasLocDesctoken()) {
        hash = (37 * hash) + LOC_DESCTOKEN_FIELD_NUMBER;
        hash = (53 * hash) + getLocDesctoken().hashCode();
      }
      if (hasPoints()) {
        hash = (37 * hash) + POINTS_FIELD_NUMBER;
        hash = (53 * hash) + getPoints();
      }
      if (hasConditionsDefindex()) {
        hash = (37 * hash) + CONDITIONS_DEFINDEX_FIELD_NUMBER;
        hash = (53 * hash) + getConditionsDefindex();
      }
      if (getMapCount() > 0) {
        hash = (37 * hash) + MAP_FIELD_NUMBER;
        hash = (53 * hash) + getMapList().hashCode();
      }
      if (getGameModeCount() > 0) {
        hash = (37 * hash) + GAME_MODE_FIELD_NUMBER;
        hash = (53 * hash) + gameMode_.hashCode();
      }
      if (hasTeam()) {
        hash = (37 * hash) + TEAM_FIELD_NUMBER;
        hash = (53 * hash) + team_;
      }
      if (getConditionVarsCount() > 0) {
        hash = (37 * hash) + CONDITION_VARS_FIELD_NUMBER;
        hash = (53 * hash) + getConditionVarsList().hashCode();
      }
      if (getClassesVarsCount() > 0) {
        hash = (37 * hash) + CLASSES_VARS_FIELD_NUMBER;
        hash = (53 * hash) + getClassesVarsList().hashCode();
      }
      if (getConditionsCount() > 0) {
        hash = (37 * hash) + CONDITIONS_FIELD_NUMBER;
        hash = (53 * hash) + conditions_.hashCode();
      }
      if (hasConditionLogic()) {
        hash = (37 * hash) + CONDITION_LOGIC_FIELD_NUMBER;
        hash = (53 * hash) + conditionLogic_;
      }
      if (getItemNameCount() > 0) {
        hash = (37 * hash) + ITEM_NAME_FIELD_NUMBER;
        hash = (53 * hash) + getItemNameList().hashCode();
      }
      if (hasItemLogic()) {
        hash = (37 * hash) + ITEM_LOGIC_FIELD_NUMBER;
        hash = (53 * hash) + itemLogic_;
      }
      if (hasJumpState()) {
        hash = (37 * hash) + JUMP_STATE_FIELD_NUMBER;
        hash = (53 * hash) + getJumpState();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef 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.TfProtoDefMessages.CMsgQuestObjectiveDef parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef 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.TfProtoDefMessages.CMsgQuestObjectiveDef parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef 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.TfProtoDefMessages.CMsgQuestObjectiveDef parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef 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.TfProtoDefMessages.CMsgQuestObjectiveDef parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef 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.TfProtoDefMessages.CMsgQuestObjectiveDef 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.TfProtoDefMessages.CMsgQuestObjectiveDef 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.TfProtoDefMessages.CMsgQuestObjectiveDef 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 CMsgQuestObjectiveDef}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgQuestObjectiveDef)
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDefOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgQuestObjectiveDef_descriptor;
      }

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

      // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage
                .alwaysUseFieldBuilders) {
          getHeaderFieldBuilder();
          getConditionVarsFieldBuilder();
          getClassesVarsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        header_ = null;
        if (headerBuilder_ != null) {
          headerBuilder_.dispose();
          headerBuilder_ = null;
        }
        locDesctoken_ = "";
        points_ = 0;
        conditionsDefindex_ = 0;
        map_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
        gameMode_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000020);
        team_ = 2;
        if (conditionVarsBuilder_ == null) {
          conditionVars_ = java.util.Collections.emptyList();
        } else {
          conditionVars_ = null;
          conditionVarsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000080);
        if (classesVarsBuilder_ == null) {
          classesVars_ = java.util.Collections.emptyList();
        } else {
          classesVars_ = null;
          classesVarsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000100);
        conditions_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000200);
        conditionLogic_ = 0;
        itemName_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
        itemLogic_ = 0;
        jumpState_ = 0;
        return this;
      }

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

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

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

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

      private void buildPartialRepeatedFields(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef result) {
        if (((bitField0_ & 0x00000020) != 0)) {
          gameMode_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000020);
        }
        result.gameMode_ = gameMode_;
        if (conditionVarsBuilder_ == null) {
          if (((bitField0_ & 0x00000080) != 0)) {
            conditionVars_ = java.util.Collections.unmodifiableList(conditionVars_);
            bitField0_ = (bitField0_ & ~0x00000080);
          }
          result.conditionVars_ = conditionVars_;
        } else {
          result.conditionVars_ = conditionVarsBuilder_.build();
        }
        if (classesVarsBuilder_ == null) {
          if (((bitField0_ & 0x00000100) != 0)) {
            classesVars_ = java.util.Collections.unmodifiableList(classesVars_);
            bitField0_ = (bitField0_ & ~0x00000100);
          }
          result.classesVars_ = classesVars_;
        } else {
          result.classesVars_ = classesVarsBuilder_.build();
        }
        if (((bitField0_ & 0x00000200) != 0)) {
          conditions_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000200);
        }
        result.conditions_ = conditions_;
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.header_ = headerBuilder_ == null
              ? header_
              : headerBuilder_.build();
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.locDesctoken_ = locDesctoken_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.points_ = points_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.conditionsDefindex_ = conditionsDefindex_;
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          map_.makeImmutable();
          result.map_ = map_;
        }
        if (((from_bitField0_ & 0x00000040) != 0)) {
          result.team_ = team_;
          to_bitField0_ |= 0x00000010;
        }
        if (((from_bitField0_ & 0x00000400) != 0)) {
          result.conditionLogic_ = conditionLogic_;
          to_bitField0_ |= 0x00000020;
        }
        if (((from_bitField0_ & 0x00000800) != 0)) {
          itemName_.makeImmutable();
          result.itemName_ = itemName_;
        }
        if (((from_bitField0_ & 0x00001000) != 0)) {
          result.itemLogic_ = itemLogic_;
          to_bitField0_ |= 0x00000040;
        }
        if (((from_bitField0_ & 0x00002000) != 0)) {
          result.jumpState_ = jumpState_;
          to_bitField0_ |= 0x00000080;
        }
        result.bitField0_ |= to_bitField0_;
      }

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

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.getDefaultInstance()) return this;
        if (other.hasHeader()) {
          mergeHeader(other.getHeader());
        }
        if (other.hasLocDesctoken()) {
          locDesctoken_ = other.locDesctoken_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        if (other.hasPoints()) {
          setPoints(other.getPoints());
        }
        if (other.hasConditionsDefindex()) {
          setConditionsDefindex(other.getConditionsDefindex());
        }
        if (!other.map_.isEmpty()) {
          if (map_.isEmpty()) {
            map_ = other.map_;
            bitField0_ |= 0x00000010;
          } else {
            ensureMapIsMutable();
            map_.addAll(other.map_);
          }
          onChanged();
        }
        if (!other.gameMode_.isEmpty()) {
          if (gameMode_.isEmpty()) {
            gameMode_ = other.gameMode_;
            bitField0_ = (bitField0_ & ~0x00000020);
          } else {
            ensureGameModeIsMutable();
            gameMode_.addAll(other.gameMode_);
          }
          onChanged();
        }
        if (other.hasTeam()) {
          setTeam(other.getTeam());
        }
        if (conditionVarsBuilder_ == null) {
          if (!other.conditionVars_.isEmpty()) {
            if (conditionVars_.isEmpty()) {
              conditionVars_ = other.conditionVars_;
              bitField0_ = (bitField0_ & ~0x00000080);
            } else {
              ensureConditionVarsIsMutable();
              conditionVars_.addAll(other.conditionVars_);
            }
            onChanged();
          }
        } else {
          if (!other.conditionVars_.isEmpty()) {
            if (conditionVarsBuilder_.isEmpty()) {
              conditionVarsBuilder_.dispose();
              conditionVarsBuilder_ = null;
              conditionVars_ = other.conditionVars_;
              bitField0_ = (bitField0_ & ~0x00000080);
              conditionVarsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getConditionVarsFieldBuilder() : null;
            } else {
              conditionVarsBuilder_.addAllMessages(other.conditionVars_);
            }
          }
        }
        if (classesVarsBuilder_ == null) {
          if (!other.classesVars_.isEmpty()) {
            if (classesVars_.isEmpty()) {
              classesVars_ = other.classesVars_;
              bitField0_ = (bitField0_ & ~0x00000100);
            } else {
              ensureClassesVarsIsMutable();
              classesVars_.addAll(other.classesVars_);
            }
            onChanged();
          }
        } else {
          if (!other.classesVars_.isEmpty()) {
            if (classesVarsBuilder_.isEmpty()) {
              classesVarsBuilder_.dispose();
              classesVarsBuilder_ = null;
              classesVars_ = other.classesVars_;
              bitField0_ = (bitField0_ & ~0x00000100);
              classesVarsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getClassesVarsFieldBuilder() : null;
            } else {
              classesVarsBuilder_.addAllMessages(other.classesVars_);
            }
          }
        }
        if (!other.conditions_.isEmpty()) {
          if (conditions_.isEmpty()) {
            conditions_ = other.conditions_;
            bitField0_ = (bitField0_ & ~0x00000200);
          } else {
            ensureConditionsIsMutable();
            conditions_.addAll(other.conditions_);
          }
          onChanged();
        }
        if (other.hasConditionLogic()) {
          setConditionLogic(other.getConditionLogic());
        }
        if (!other.itemName_.isEmpty()) {
          if (itemName_.isEmpty()) {
            itemName_ = other.itemName_;
            bitField0_ |= 0x00000800;
          } else {
            ensureItemNameIsMutable();
            itemName_.addAll(other.itemName_);
          }
          onChanged();
        }
        if (other.hasItemLogic()) {
          setItemLogic(other.getItemLogic());
        }
        if (other.hasJumpState()) {
          setJumpState(other.getJumpState());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasHeader()) {
          return false;
        }
        if (!getHeader().isInitialized()) {
          return false;
        }
        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: {
                input.readMessage(
                    getHeaderFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 18: {
                locDesctoken_ = input.readBytes();
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              case 24: {
                points_ = input.readUInt32();
                bitField0_ |= 0x00000004;
                break;
              } // case 24
              case 40: {
                conditionsDefindex_ = input.readUInt32();
                bitField0_ |= 0x00000008;
                break;
              } // case 40
              case 66: {
                com.google.protobuf.ByteString bs = input.readBytes();
                ensureMapIsMutable();
                map_.add(bs);
                break;
              } // case 66
              case 72: {
                int tmpRaw = input.readEnum();
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2GameModes tmpValue =
                    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2GameModes.forNumber(tmpRaw);
                if (tmpValue == null) {
                  mergeUnknownVarintField(9, tmpRaw);
                } else {
                  ensureGameModeIsMutable();
                  gameMode_.addInt(tmpRaw);
                }
                break;
              } // case 72
              case 74: {
                int length = input.readRawVarint32();
                int oldLimit = input.pushLimit(length);
                while(input.getBytesUntilLimit() > 0) {
                  int tmpRaw = input.readEnum();
                  in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2GameModes tmpValue =
                      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2GameModes.forNumber(tmpRaw);
                  if (tmpValue == null) {
                    mergeUnknownVarintField(9, tmpRaw);
                  } else {
                    ensureGameModeIsMutable();
                    gameMode_.addInt(tmpRaw);
                  }
                }
                input.popLimit(oldLimit);
                break;
              } // case 74
              case 80: {
                int tmpRaw = input.readEnum();
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2Team tmpValue =
                    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2Team.forNumber(tmpRaw);
                if (tmpValue == null) {
                  mergeUnknownVarintField(10, tmpRaw);
                } else {
                  team_ = tmpRaw;
                  bitField0_ |= 0x00000040;
                }
                break;
              } // case 80
              case 90: {
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.parser(),
                        extensionRegistry);
                if (conditionVarsBuilder_ == null) {
                  ensureConditionVarsIsMutable();
                  conditionVars_.add(m);
                } else {
                  conditionVarsBuilder_.addMessage(m);
                }
                break;
              } // case 90
              case 98: {
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.parser(),
                        extensionRegistry);
                if (classesVarsBuilder_ == null) {
                  ensureClassesVarsIsMutable();
                  classesVars_.add(m);
                } else {
                  classesVarsBuilder_.addMessage(m);
                }
                break;
              } // case 98
              case 104: {
                int tmpRaw = input.readEnum();
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2Conditions tmpValue =
                    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2Conditions.forNumber(tmpRaw);
                if (tmpValue == null) {
                  mergeUnknownVarintField(13, tmpRaw);
                } else {
                  ensureConditionsIsMutable();
                  conditions_.addInt(tmpRaw);
                }
                break;
              } // case 104
              case 106: {
                int length = input.readRawVarint32();
                int oldLimit = input.pushLimit(length);
                while(input.getBytesUntilLimit() > 0) {
                  int tmpRaw = input.readEnum();
                  in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2Conditions tmpValue =
                      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2Conditions.forNumber(tmpRaw);
                  if (tmpValue == null) {
                    mergeUnknownVarintField(13, tmpRaw);
                  } else {
                    ensureConditionsIsMutable();
                    conditions_.addInt(tmpRaw);
                  }
                }
                input.popLimit(oldLimit);
                break;
              } // case 106
              case 112: {
                int tmpRaw = input.readEnum();
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation tmpValue =
                    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation.forNumber(tmpRaw);
                if (tmpValue == null) {
                  mergeUnknownVarintField(14, tmpRaw);
                } else {
                  conditionLogic_ = tmpRaw;
                  bitField0_ |= 0x00000400;
                }
                break;
              } // case 112
              case 122: {
                com.google.protobuf.ByteString bs = input.readBytes();
                ensureItemNameIsMutable();
                itemName_.add(bs);
                break;
              } // case 122
              case 128: {
                int tmpRaw = input.readEnum();
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation tmpValue =
                    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation.forNumber(tmpRaw);
                if (tmpValue == null) {
                  mergeUnknownVarintField(16, tmpRaw);
                } else {
                  itemLogic_ = tmpRaw;
                  bitField0_ |= 0x00001000;
                }
                break;
              } // case 128
              case 136: {
                jumpState_ = input.readUInt32();
                bitField0_ |= 0x00002000;
                break;
              } // case 136
              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 in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader header_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder> headerBuilder_;
      /**
       * required .CMsgProtoDefHeader header = 1;
       * @return Whether the header field is set.
       */
      public boolean hasHeader() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       * @return The header.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader() {
        if (headerBuilder_ == null) {
          return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
        } else {
          return headerBuilder_.getMessage();
        }
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder setHeader(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader value) {
        if (headerBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          header_ = value;
        } else {
          headerBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder setHeader(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder builderForValue) {
        if (headerBuilder_ == null) {
          header_ = builderForValue.build();
        } else {
          headerBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder mergeHeader(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader value) {
        if (headerBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
            header_ != null &&
            header_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance()) {
            getHeaderBuilder().mergeFrom(value);
          } else {
            header_ = value;
          }
        } else {
          headerBuilder_.mergeFrom(value);
        }
        if (header_ != null) {
          bitField0_ |= 0x00000001;
          onChanged();
        }
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder clearHeader() {
        bitField0_ = (bitField0_ & ~0x00000001);
        header_ = null;
        if (headerBuilder_ != null) {
          headerBuilder_.dispose();
          headerBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder getHeaderBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getHeaderFieldBuilder().getBuilder();
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder() {
        if (headerBuilder_ != null) {
          return headerBuilder_.getMessageOrBuilder();
        } else {
          return header_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
        }
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder> 
          getHeaderFieldBuilder() {
        if (headerBuilder_ == null) {
          headerBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder>(
                  getHeader(),
                  getParentForChildren(),
                  isClean());
          header_ = null;
        }
        return headerBuilder_;
      }

      private java.lang.Object locDesctoken_ = "";
      /**
       * optional string loc_desctoken = 2 [(.localized) = true];
       * @return Whether the locDesctoken field is set.
       */
      public boolean hasLocDesctoken() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional string loc_desctoken = 2 [(.localized) = true];
       * @return The locDesctoken.
       */
      public java.lang.String getLocDesctoken() {
        java.lang.Object ref = locDesctoken_;
        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()) {
            locDesctoken_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string loc_desctoken = 2 [(.localized) = true];
       * @return The bytes for locDesctoken.
       */
      public com.google.protobuf.ByteString
          getLocDesctokenBytes() {
        java.lang.Object ref = locDesctoken_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          locDesctoken_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string loc_desctoken = 2 [(.localized) = true];
       * @param value The locDesctoken to set.
       * @return This builder for chaining.
       */
      public Builder setLocDesctoken(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        locDesctoken_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional string loc_desctoken = 2 [(.localized) = true];
       * @return This builder for chaining.
       */
      public Builder clearLocDesctoken() {
        locDesctoken_ = getDefaultInstance().getLocDesctoken();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * optional string loc_desctoken = 2 [(.localized) = true];
       * @param value The bytes for locDesctoken to set.
       * @return This builder for chaining.
       */
      public Builder setLocDesctokenBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        locDesctoken_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      private int points_ ;
      /**
       * optional uint32 points = 3;
       * @return Whether the points field is set.
       */
      @java.lang.Override
      public boolean hasPoints() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional uint32 points = 3;
       * @return The points.
       */
      @java.lang.Override
      public int getPoints() {
        return points_;
      }
      /**
       * optional uint32 points = 3;
       * @param value The points to set.
       * @return This builder for chaining.
       */
      public Builder setPoints(int value) {

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

      private int conditionsDefindex_ ;
      /**
       * optional uint32 conditions_defindex = 5;
       * @return Whether the conditionsDefindex field is set.
       */
      @java.lang.Override
      public boolean hasConditionsDefindex() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional uint32 conditions_defindex = 5;
       * @return The conditionsDefindex.
       */
      @java.lang.Override
      public int getConditionsDefindex() {
        return conditionsDefindex_;
      }
      /**
       * optional uint32 conditions_defindex = 5;
       * @param value The conditionsDefindex to set.
       * @return This builder for chaining.
       */
      public Builder setConditionsDefindex(int value) {

        conditionsDefindex_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional uint32 conditions_defindex = 5;
       * @return This builder for chaining.
       */
      public Builder clearConditionsDefindex() {
        bitField0_ = (bitField0_ & ~0x00000008);
        conditionsDefindex_ = 0;
        onChanged();
        return this;
      }

      private com.google.protobuf.LazyStringArrayList map_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
      private void ensureMapIsMutable() {
        if (!map_.isModifiable()) {
          map_ = new com.google.protobuf.LazyStringArrayList(map_);
        }
        bitField0_ |= 0x00000010;
      }
      /**
       * repeated string map = 8 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
       * @return A list containing the map.
       */
      public com.google.protobuf.ProtocolStringList
          getMapList() {
        map_.makeImmutable();
        return map_;
      }
      /**
       * repeated string map = 8 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
       * @return The count of map.
       */
      public int getMapCount() {
        return map_.size();
      }
      /**
       * repeated string map = 8 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
       * @param index The index of the element to return.
       * @return The map at the given index.
       */
      public java.lang.String getMap(int index) {
        return map_.get(index);
      }
      /**
       * repeated string map = 8 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
       * @param index The index of the value to return.
       * @return The bytes of the map at the given index.
       */
      public com.google.protobuf.ByteString
          getMapBytes(int index) {
        return map_.getByteString(index);
      }
      /**
       * repeated string map = 8 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
       * @param index The index to set the value at.
       * @param value The map to set.
       * @return This builder for chaining.
       */
      public Builder setMap(
          int index, java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureMapIsMutable();
        map_.set(index, value);
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * repeated string map = 8 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
       * @param value The map to add.
       * @return This builder for chaining.
       */
      public Builder addMap(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureMapIsMutable();
        map_.add(value);
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * repeated string map = 8 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
       * @param values The map to add.
       * @return This builder for chaining.
       */
      public Builder addAllMap(
          java.lang.Iterable values) {
        ensureMapIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, map_);
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * repeated string map = 8 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
       * @return This builder for chaining.
       */
      public Builder clearMap() {
        map_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
        bitField0_ = (bitField0_ & ~0x00000010);;
        onChanged();
        return this;
      }
      /**
       * repeated string map = 8 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
       * @param value The bytes of the map to add.
       * @return This builder for chaining.
       */
      public Builder addMapBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        ensureMapIsMutable();
        map_.add(value);
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }

      private com.google.protobuf.Internal.IntList gameMode_ =
        emptyIntList();
      private void ensureGameModeIsMutable() {
        if (!((bitField0_ & 0x00000020) != 0)) {
          gameMode_ = makeMutableCopy(gameMode_);
          bitField0_ |= 0x00000020;
        }
      }
      /**
       * repeated .CMsgQuestObjectiveDef.ETF2GameModes game_mode = 9 [(.display_name) = "Game Mode Modifier", (.comment) = "If set, the player must be in one of the listed game modes to get credit."];
       * @return A list containing the gameMode.
       */
      public java.util.List getGameModeList() {
        return new com.google.protobuf.Internal.IntListAdapter<
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2GameModes>(gameMode_, gameMode_converter_);
      }
      /**
       * repeated .CMsgQuestObjectiveDef.ETF2GameModes game_mode = 9 [(.display_name) = "Game Mode Modifier", (.comment) = "If set, the player must be in one of the listed game modes to get credit."];
       * @return The count of gameMode.
       */
      public int getGameModeCount() {
        return gameMode_.size();
      }
      /**
       * repeated .CMsgQuestObjectiveDef.ETF2GameModes game_mode = 9 [(.display_name) = "Game Mode Modifier", (.comment) = "If set, the player must be in one of the listed game modes to get credit."];
       * @param index The index of the element to return.
       * @return The gameMode at the given index.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2GameModes getGameMode(int index) {
        return gameMode_converter_.convert(gameMode_.getInt(index));
      }
      /**
       * repeated .CMsgQuestObjectiveDef.ETF2GameModes game_mode = 9 [(.display_name) = "Game Mode Modifier", (.comment) = "If set, the player must be in one of the listed game modes to get credit."];
       * @param index The index to set the value at.
       * @param value The gameMode to set.
       * @return This builder for chaining.
       */
      public Builder setGameMode(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2GameModes value) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureGameModeIsMutable();
        gameMode_.setInt(index, value.getNumber());
        onChanged();
        return this;
      }
      /**
       * repeated .CMsgQuestObjectiveDef.ETF2GameModes game_mode = 9 [(.display_name) = "Game Mode Modifier", (.comment) = "If set, the player must be in one of the listed game modes to get credit."];
       * @param value The gameMode to add.
       * @return This builder for chaining.
       */
      public Builder addGameMode(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2GameModes value) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureGameModeIsMutable();
        gameMode_.addInt(value.getNumber());
        onChanged();
        return this;
      }
      /**
       * repeated .CMsgQuestObjectiveDef.ETF2GameModes game_mode = 9 [(.display_name) = "Game Mode Modifier", (.comment) = "If set, the player must be in one of the listed game modes to get credit."];
       * @param values The gameMode to add.
       * @return This builder for chaining.
       */
      public Builder addAllGameMode(
          java.lang.Iterable values) {
        ensureGameModeIsMutable();
        for (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2GameModes value : values) {
          gameMode_.addInt(value.getNumber());
        }
        onChanged();
        return this;
      }
      /**
       * repeated .CMsgQuestObjectiveDef.ETF2GameModes game_mode = 9 [(.display_name) = "Game Mode Modifier", (.comment) = "If set, the player must be in one of the listed game modes to get credit."];
       * @return This builder for chaining.
       */
      public Builder clearGameMode() {
        gameMode_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000020);
        onChanged();
        return this;
      }

      private int team_ = 2;
      /**
       * optional .CMsgQuestObjectiveDef.ETF2Team team = 10 [default = TF_TEAM_RED, (.display_name) = "Team Modifier", (.comment) = "If set, the player must be on the specified team to get credit."];
       * @return Whether the team field is set.
       */
      @java.lang.Override public boolean hasTeam() {
        return ((bitField0_ & 0x00000040) != 0);
      }
      /**
       * optional .CMsgQuestObjectiveDef.ETF2Team team = 10 [default = TF_TEAM_RED, (.display_name) = "Team Modifier", (.comment) = "If set, the player must be on the specified team to get credit."];
       * @return The team.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2Team getTeam() {
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2Team result = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2Team.forNumber(team_);
        return result == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2Team.TF_TEAM_RED : result;
      }
      /**
       * optional .CMsgQuestObjectiveDef.ETF2Team team = 10 [default = TF_TEAM_RED, (.display_name) = "Team Modifier", (.comment) = "If set, the player must be on the specified team to get credit."];
       * @param value The team to set.
       * @return This builder for chaining.
       */
      public Builder setTeam(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2Team value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000040;
        team_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * optional .CMsgQuestObjectiveDef.ETF2Team team = 10 [default = TF_TEAM_RED, (.display_name) = "Team Modifier", (.comment) = "If set, the player must be on the specified team to get credit."];
       * @return This builder for chaining.
       */
      public Builder clearTeam() {
        bitField0_ = (bitField0_ & ~0x00000040);
        team_ = 2;
        onChanged();
        return this;
      }

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

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> conditionVarsBuilder_;

      /**
       * repeated .CMsgVarField condition_vars = 11 [(.display_name) = "Objective Vars", (.var_field_type) = VAR_TYPE_STRING];
       */
      public java.util.List getConditionVarsList() {
        if (conditionVarsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(conditionVars_);
        } else {
          return conditionVarsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CMsgVarField condition_vars = 11 [(.display_name) = "Objective Vars", (.var_field_type) = VAR_TYPE_STRING];
       */
      public int getConditionVarsCount() {
        if (conditionVarsBuilder_ == null) {
          return conditionVars_.size();
        } else {
          return conditionVarsBuilder_.getCount();
        }
      }
      /**
       * repeated .CMsgVarField condition_vars = 11 [(.display_name) = "Objective Vars", (.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getConditionVars(int index) {
        if (conditionVarsBuilder_ == null) {
          return conditionVars_.get(index);
        } else {
          return conditionVarsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CMsgVarField condition_vars = 11 [(.display_name) = "Objective Vars", (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setConditionVars(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (conditionVarsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureConditionVarsIsMutable();
          conditionVars_.set(index, value);
          onChanged();
        } else {
          conditionVarsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgVarField condition_vars = 11 [(.display_name) = "Objective Vars", (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setConditionVars(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (conditionVarsBuilder_ == null) {
          ensureConditionVarsIsMutable();
          conditionVars_.set(index, builderForValue.build());
          onChanged();
        } else {
          conditionVarsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgVarField condition_vars = 11 [(.display_name) = "Objective Vars", (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder addConditionVars(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (conditionVarsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureConditionVarsIsMutable();
          conditionVars_.add(value);
          onChanged();
        } else {
          conditionVarsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CMsgVarField condition_vars = 11 [(.display_name) = "Objective Vars", (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder addConditionVars(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (conditionVarsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureConditionVarsIsMutable();
          conditionVars_.add(index, value);
          onChanged();
        } else {
          conditionVarsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgVarField condition_vars = 11 [(.display_name) = "Objective Vars", (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder addConditionVars(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (conditionVarsBuilder_ == null) {
          ensureConditionVarsIsMutable();
          conditionVars_.add(builderForValue.build());
          onChanged();
        } else {
          conditionVarsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgVarField condition_vars = 11 [(.display_name) = "Objective Vars", (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder addConditionVars(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (conditionVarsBuilder_ == null) {
          ensureConditionVarsIsMutable();
          conditionVars_.add(index, builderForValue.build());
          onChanged();
        } else {
          conditionVarsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgVarField condition_vars = 11 [(.display_name) = "Objective Vars", (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder addAllConditionVars(
          java.lang.Iterable values) {
        if (conditionVarsBuilder_ == null) {
          ensureConditionVarsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, conditionVars_);
          onChanged();
        } else {
          conditionVarsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CMsgVarField condition_vars = 11 [(.display_name) = "Objective Vars", (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearConditionVars() {
        if (conditionVarsBuilder_ == null) {
          conditionVars_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000080);
          onChanged();
        } else {
          conditionVarsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CMsgVarField condition_vars = 11 [(.display_name) = "Objective Vars", (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder removeConditionVars(int index) {
        if (conditionVarsBuilder_ == null) {
          ensureConditionVarsIsMutable();
          conditionVars_.remove(index);
          onChanged();
        } else {
          conditionVarsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CMsgVarField condition_vars = 11 [(.display_name) = "Objective Vars", (.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getConditionVarsBuilder(
          int index) {
        return getConditionVarsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CMsgVarField condition_vars = 11 [(.display_name) = "Objective Vars", (.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getConditionVarsOrBuilder(
          int index) {
        if (conditionVarsBuilder_ == null) {
          return conditionVars_.get(index);  } else {
          return conditionVarsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CMsgVarField condition_vars = 11 [(.display_name) = "Objective Vars", (.var_field_type) = VAR_TYPE_STRING];
       */
      public java.util.List 
           getConditionVarsOrBuilderList() {
        if (conditionVarsBuilder_ != null) {
          return conditionVarsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(conditionVars_);
        }
      }
      /**
       * repeated .CMsgVarField condition_vars = 11 [(.display_name) = "Objective Vars", (.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder addConditionVarsBuilder() {
        return getConditionVarsFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance());
      }
      /**
       * repeated .CMsgVarField condition_vars = 11 [(.display_name) = "Objective Vars", (.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder addConditionVarsBuilder(
          int index) {
        return getConditionVarsFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance());
      }
      /**
       * repeated .CMsgVarField condition_vars = 11 [(.display_name) = "Objective Vars", (.var_field_type) = VAR_TYPE_STRING];
       */
      public java.util.List 
           getConditionVarsBuilderList() {
        return getConditionVarsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getConditionVarsFieldBuilder() {
        if (conditionVarsBuilder_ == null) {
          conditionVarsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  conditionVars_,
                  ((bitField0_ & 0x00000080) != 0),
                  getParentForChildren(),
                  isClean());
          conditionVars_ = null;
        }
        return conditionVarsBuilder_;
      }

      private java.util.List classesVars_ =
        java.util.Collections.emptyList();
      private void ensureClassesVarsIsMutable() {
        if (!((bitField0_ & 0x00000100) != 0)) {
          classesVars_ = new java.util.ArrayList(classesVars_);
          bitField0_ |= 0x00000100;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> classesVarsBuilder_;

      /**
       * repeated .CMsgVarField classes_vars = 12 [(.display_name) = "Class Modifier", (.var_field_type) = VAR_TYPE_STRING];
       */
      public java.util.List getClassesVarsList() {
        if (classesVarsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(classesVars_);
        } else {
          return classesVarsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CMsgVarField classes_vars = 12 [(.display_name) = "Class Modifier", (.var_field_type) = VAR_TYPE_STRING];
       */
      public int getClassesVarsCount() {
        if (classesVarsBuilder_ == null) {
          return classesVars_.size();
        } else {
          return classesVarsBuilder_.getCount();
        }
      }
      /**
       * repeated .CMsgVarField classes_vars = 12 [(.display_name) = "Class Modifier", (.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getClassesVars(int index) {
        if (classesVarsBuilder_ == null) {
          return classesVars_.get(index);
        } else {
          return classesVarsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CMsgVarField classes_vars = 12 [(.display_name) = "Class Modifier", (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setClassesVars(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (classesVarsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureClassesVarsIsMutable();
          classesVars_.set(index, value);
          onChanged();
        } else {
          classesVarsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgVarField classes_vars = 12 [(.display_name) = "Class Modifier", (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setClassesVars(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (classesVarsBuilder_ == null) {
          ensureClassesVarsIsMutable();
          classesVars_.set(index, builderForValue.build());
          onChanged();
        } else {
          classesVarsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgVarField classes_vars = 12 [(.display_name) = "Class Modifier", (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder addClassesVars(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (classesVarsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureClassesVarsIsMutable();
          classesVars_.add(value);
          onChanged();
        } else {
          classesVarsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CMsgVarField classes_vars = 12 [(.display_name) = "Class Modifier", (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder addClassesVars(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (classesVarsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureClassesVarsIsMutable();
          classesVars_.add(index, value);
          onChanged();
        } else {
          classesVarsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgVarField classes_vars = 12 [(.display_name) = "Class Modifier", (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder addClassesVars(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (classesVarsBuilder_ == null) {
          ensureClassesVarsIsMutable();
          classesVars_.add(builderForValue.build());
          onChanged();
        } else {
          classesVarsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgVarField classes_vars = 12 [(.display_name) = "Class Modifier", (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder addClassesVars(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (classesVarsBuilder_ == null) {
          ensureClassesVarsIsMutable();
          classesVars_.add(index, builderForValue.build());
          onChanged();
        } else {
          classesVarsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgVarField classes_vars = 12 [(.display_name) = "Class Modifier", (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder addAllClassesVars(
          java.lang.Iterable values) {
        if (classesVarsBuilder_ == null) {
          ensureClassesVarsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, classesVars_);
          onChanged();
        } else {
          classesVarsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CMsgVarField classes_vars = 12 [(.display_name) = "Class Modifier", (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearClassesVars() {
        if (classesVarsBuilder_ == null) {
          classesVars_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000100);
          onChanged();
        } else {
          classesVarsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CMsgVarField classes_vars = 12 [(.display_name) = "Class Modifier", (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder removeClassesVars(int index) {
        if (classesVarsBuilder_ == null) {
          ensureClassesVarsIsMutable();
          classesVars_.remove(index);
          onChanged();
        } else {
          classesVarsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CMsgVarField classes_vars = 12 [(.display_name) = "Class Modifier", (.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getClassesVarsBuilder(
          int index) {
        return getClassesVarsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CMsgVarField classes_vars = 12 [(.display_name) = "Class Modifier", (.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getClassesVarsOrBuilder(
          int index) {
        if (classesVarsBuilder_ == null) {
          return classesVars_.get(index);  } else {
          return classesVarsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CMsgVarField classes_vars = 12 [(.display_name) = "Class Modifier", (.var_field_type) = VAR_TYPE_STRING];
       */
      public java.util.List 
           getClassesVarsOrBuilderList() {
        if (classesVarsBuilder_ != null) {
          return classesVarsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(classesVars_);
        }
      }
      /**
       * repeated .CMsgVarField classes_vars = 12 [(.display_name) = "Class Modifier", (.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder addClassesVarsBuilder() {
        return getClassesVarsFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance());
      }
      /**
       * repeated .CMsgVarField classes_vars = 12 [(.display_name) = "Class Modifier", (.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder addClassesVarsBuilder(
          int index) {
        return getClassesVarsFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance());
      }
      /**
       * repeated .CMsgVarField classes_vars = 12 [(.display_name) = "Class Modifier", (.var_field_type) = VAR_TYPE_STRING];
       */
      public java.util.List 
           getClassesVarsBuilderList() {
        return getClassesVarsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getClassesVarsFieldBuilder() {
        if (classesVarsBuilder_ == null) {
          classesVarsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  classesVars_,
                  ((bitField0_ & 0x00000100) != 0),
                  getParentForChildren(),
                  isClean());
          classesVars_ = null;
        }
        return classesVarsBuilder_;
      }

      private com.google.protobuf.Internal.IntList conditions_ =
        emptyIntList();
      private void ensureConditionsIsMutable() {
        if (!((bitField0_ & 0x00000200) != 0)) {
          conditions_ = makeMutableCopy(conditions_);
          bitField0_ |= 0x00000200;
        }
      }
      /**
       * repeated .CMsgQuestObjectiveDef.ETF2Conditions conditions = 13 [(.display_name) = "Required Conds"];
       * @return A list containing the conditions.
       */
      public java.util.List getConditionsList() {
        return new com.google.protobuf.Internal.IntListAdapter<
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2Conditions>(conditions_, conditions_converter_);
      }
      /**
       * repeated .CMsgQuestObjectiveDef.ETF2Conditions conditions = 13 [(.display_name) = "Required Conds"];
       * @return The count of conditions.
       */
      public int getConditionsCount() {
        return conditions_.size();
      }
      /**
       * repeated .CMsgQuestObjectiveDef.ETF2Conditions conditions = 13 [(.display_name) = "Required Conds"];
       * @param index The index of the element to return.
       * @return The conditions at the given index.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2Conditions getConditions(int index) {
        return conditions_converter_.convert(conditions_.getInt(index));
      }
      /**
       * repeated .CMsgQuestObjectiveDef.ETF2Conditions conditions = 13 [(.display_name) = "Required Conds"];
       * @param index The index to set the value at.
       * @param value The conditions to set.
       * @return This builder for chaining.
       */
      public Builder setConditions(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2Conditions value) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureConditionsIsMutable();
        conditions_.setInt(index, value.getNumber());
        onChanged();
        return this;
      }
      /**
       * repeated .CMsgQuestObjectiveDef.ETF2Conditions conditions = 13 [(.display_name) = "Required Conds"];
       * @param value The conditions to add.
       * @return This builder for chaining.
       */
      public Builder addConditions(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2Conditions value) {
        if (value == null) {
          throw new NullPointerException();
        }
        ensureConditionsIsMutable();
        conditions_.addInt(value.getNumber());
        onChanged();
        return this;
      }
      /**
       * repeated .CMsgQuestObjectiveDef.ETF2Conditions conditions = 13 [(.display_name) = "Required Conds"];
       * @param values The conditions to add.
       * @return This builder for chaining.
       */
      public Builder addAllConditions(
          java.lang.Iterable values) {
        ensureConditionsIsMutable();
        for (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestObjectiveDef.ETF2Conditions value : values) {
          conditions_.addInt(value.getNumber());
        }
        onChanged();
        return this;
      }
      /**
       * repeated .CMsgQuestObjectiveDef.ETF2Conditions conditions = 13 [(.display_name) = "Required Conds"];
       * @return This builder for chaining.
       */
      public Builder clearConditions() {
        conditions_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000200);
        onChanged();
        return this;
      }

      private int conditionLogic_ = 0;
      /**
       * optional .LogicalOperation condition_logic = 14 [default = AND, (.display_name) = "Condition Logic", (.comment) = "What kind of logic to use when evaluating the player\'s conditions."];
       * @return Whether the conditionLogic field is set.
       */
      @java.lang.Override public boolean hasConditionLogic() {
        return ((bitField0_ & 0x00000400) != 0);
      }
      /**
       * optional .LogicalOperation condition_logic = 14 [default = AND, (.display_name) = "Condition Logic", (.comment) = "What kind of logic to use when evaluating the player\'s conditions."];
       * @return The conditionLogic.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation getConditionLogic() {
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation result = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation.forNumber(conditionLogic_);
        return result == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation.AND : result;
      }
      /**
       * optional .LogicalOperation condition_logic = 14 [default = AND, (.display_name) = "Condition Logic", (.comment) = "What kind of logic to use when evaluating the player\'s conditions."];
       * @param value The conditionLogic to set.
       * @return This builder for chaining.
       */
      public Builder setConditionLogic(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000400;
        conditionLogic_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * optional .LogicalOperation condition_logic = 14 [default = AND, (.display_name) = "Condition Logic", (.comment) = "What kind of logic to use when evaluating the player\'s conditions."];
       * @return This builder for chaining.
       */
      public Builder clearConditionLogic() {
        bitField0_ = (bitField0_ & ~0x00000400);
        conditionLogic_ = 0;
        onChanged();
        return this;
      }

      private com.google.protobuf.LazyStringArrayList itemName_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
      private void ensureItemNameIsMutable() {
        if (!itemName_.isModifiable()) {
          itemName_ = new com.google.protobuf.LazyStringArrayList(itemName_);
        }
        bitField0_ |= 0x00000800;
      }
      /**
       * repeated string item_name = 15 [(.display_name) = "Required equipped item", (.comment) = "Require that this item be equipped in any slot."];
       * @return A list containing the itemName.
       */
      public com.google.protobuf.ProtocolStringList
          getItemNameList() {
        itemName_.makeImmutable();
        return itemName_;
      }
      /**
       * repeated string item_name = 15 [(.display_name) = "Required equipped item", (.comment) = "Require that this item be equipped in any slot."];
       * @return The count of itemName.
       */
      public int getItemNameCount() {
        return itemName_.size();
      }
      /**
       * repeated string item_name = 15 [(.display_name) = "Required equipped item", (.comment) = "Require that this item be equipped in any slot."];
       * @param index The index of the element to return.
       * @return The itemName at the given index.
       */
      public java.lang.String getItemName(int index) {
        return itemName_.get(index);
      }
      /**
       * repeated string item_name = 15 [(.display_name) = "Required equipped item", (.comment) = "Require that this item be equipped in any slot."];
       * @param index The index of the value to return.
       * @return The bytes of the itemName at the given index.
       */
      public com.google.protobuf.ByteString
          getItemNameBytes(int index) {
        return itemName_.getByteString(index);
      }
      /**
       * repeated string item_name = 15 [(.display_name) = "Required equipped item", (.comment) = "Require that this item be equipped in any slot."];
       * @param index The index to set the value at.
       * @param value The itemName to set.
       * @return This builder for chaining.
       */
      public Builder setItemName(
          int index, java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureItemNameIsMutable();
        itemName_.set(index, value);
        bitField0_ |= 0x00000800;
        onChanged();
        return this;
      }
      /**
       * repeated string item_name = 15 [(.display_name) = "Required equipped item", (.comment) = "Require that this item be equipped in any slot."];
       * @param value The itemName to add.
       * @return This builder for chaining.
       */
      public Builder addItemName(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureItemNameIsMutable();
        itemName_.add(value);
        bitField0_ |= 0x00000800;
        onChanged();
        return this;
      }
      /**
       * repeated string item_name = 15 [(.display_name) = "Required equipped item", (.comment) = "Require that this item be equipped in any slot."];
       * @param values The itemName to add.
       * @return This builder for chaining.
       */
      public Builder addAllItemName(
          java.lang.Iterable values) {
        ensureItemNameIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, itemName_);
        bitField0_ |= 0x00000800;
        onChanged();
        return this;
      }
      /**
       * repeated string item_name = 15 [(.display_name) = "Required equipped item", (.comment) = "Require that this item be equipped in any slot."];
       * @return This builder for chaining.
       */
      public Builder clearItemName() {
        itemName_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
        bitField0_ = (bitField0_ & ~0x00000800);;
        onChanged();
        return this;
      }
      /**
       * repeated string item_name = 15 [(.display_name) = "Required equipped item", (.comment) = "Require that this item be equipped in any slot."];
       * @param value The bytes of the itemName to add.
       * @return This builder for chaining.
       */
      public Builder addItemNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        ensureItemNameIsMutable();
        itemName_.add(value);
        bitField0_ |= 0x00000800;
        onChanged();
        return this;
      }

      private int itemLogic_ = 0;
      /**
       * optional .LogicalOperation item_logic = 16 [default = AND, (.display_name) = "Item logic", (.comment) = "What kind of logic to use when evaluating the player\'s items."];
       * @return Whether the itemLogic field is set.
       */
      @java.lang.Override public boolean hasItemLogic() {
        return ((bitField0_ & 0x00001000) != 0);
      }
      /**
       * optional .LogicalOperation item_logic = 16 [default = AND, (.display_name) = "Item logic", (.comment) = "What kind of logic to use when evaluating the player\'s items."];
       * @return The itemLogic.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation getItemLogic() {
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation result = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation.forNumber(itemLogic_);
        return result == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation.AND : result;
      }
      /**
       * optional .LogicalOperation item_logic = 16 [default = AND, (.display_name) = "Item logic", (.comment) = "What kind of logic to use when evaluating the player\'s items."];
       * @param value The itemLogic to set.
       * @return This builder for chaining.
       */
      public Builder setItemLogic(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00001000;
        itemLogic_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * optional .LogicalOperation item_logic = 16 [default = AND, (.display_name) = "Item logic", (.comment) = "What kind of logic to use when evaluating the player\'s items."];
       * @return This builder for chaining.
       */
      public Builder clearItemLogic() {
        bitField0_ = (bitField0_ & ~0x00001000);
        itemLogic_ = 0;
        onChanged();
        return this;
      }

      private int jumpState_ ;
      /**
       * optional uint32 jump_state = 17 [(.display_name) = "Jump logic", (.comment) = "What state of jumping the player needs to be in."];
       * @return Whether the jumpState field is set.
       */
      @java.lang.Override
      public boolean hasJumpState() {
        return ((bitField0_ & 0x00002000) != 0);
      }
      /**
       * optional uint32 jump_state = 17 [(.display_name) = "Jump logic", (.comment) = "What state of jumping the player needs to be in."];
       * @return The jumpState.
       */
      @java.lang.Override
      public int getJumpState() {
        return jumpState_;
      }
      /**
       * optional uint32 jump_state = 17 [(.display_name) = "Jump logic", (.comment) = "What state of jumping the player needs to be in."];
       * @param value The jumpState to set.
       * @return This builder for chaining.
       */
      public Builder setJumpState(int value) {

        jumpState_ = value;
        bitField0_ |= 0x00002000;
        onChanged();
        return this;
      }
      /**
       * optional uint32 jump_state = 17 [(.display_name) = "Jump logic", (.comment) = "What state of jumping the player needs to be in."];
       * @return This builder for chaining.
       */
      public Builder clearJumpState() {
        bitField0_ = (bitField0_ & ~0x00002000);
        jumpState_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgQuestObjectiveDef)
    }

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

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

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

  }

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

    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return Whether the header field is set.
     */
    boolean hasHeader();
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return The header.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader();
    /**
     * required .CMsgProtoDefHeader header = 1;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder();

    /**
     * optional uint32 max_points_0 = 2;
     * @return Whether the maxPoints0 field is set.
     */
    boolean hasMaxPoints0();
    /**
     * optional uint32 max_points_0 = 2;
     * @return The maxPoints0.
     */
    int getMaxPoints0();

    /**
     * optional uint32 max_points_1 = 3;
     * @return Whether the maxPoints1 field is set.
     */
    boolean hasMaxPoints1();
    /**
     * optional uint32 max_points_1 = 3;
     * @return The maxPoints1.
     */
    int getMaxPoints1();

    /**
     * optional uint32 max_points_2 = 4;
     * @return Whether the maxPoints2 field is set.
     */
    boolean hasMaxPoints2();
    /**
     * optional uint32 max_points_2 = 4;
     * @return The maxPoints2.
     */
    int getMaxPoints2();

    /**
     * optional string name_loctoken = 5 [(.localized) = true];
     * @return Whether the nameLoctoken field is set.
     */
    boolean hasNameLoctoken();
    /**
     * optional string name_loctoken = 5 [(.localized) = true];
     * @return The nameLoctoken.
     */
    java.lang.String getNameLoctoken();
    /**
     * optional string name_loctoken = 5 [(.localized) = true];
     * @return The bytes for nameLoctoken.
     */
    com.google.protobuf.ByteString
        getNameLoctokenBytes();

    /**
     * optional string operation = 7;
     * @return Whether the operation field is set.
     */
    boolean hasOperation();
    /**
     * optional string operation = 7;
     * @return The operation.
     */
    java.lang.String getOperation();
    /**
     * optional string operation = 7;
     * @return The bytes for operation.
     */
    com.google.protobuf.ByteString
        getOperationBytes();

    /**
     * optional .CMsgQuestDef.MMCriteria mm_criteria = 8;
     * @return Whether the mmCriteria field is set.
     */
    boolean hasMmCriteria();
    /**
     * optional .CMsgQuestDef.MMCriteria mm_criteria = 8;
     * @return The mmCriteria.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria getMmCriteria();
    /**
     * optional .CMsgQuestDef.MMCriteria mm_criteria = 8;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteriaOrBuilder getMmCriteriaOrBuilder();

    /**
     * optional string node_image = 12 [(.display_name) = "Node Image", (.comment) = "Filename of the image to show on the node view"];
     * @return Whether the nodeImage field is set.
     */
    boolean hasNodeImage();
    /**
     * optional string node_image = 12 [(.display_name) = "Node Image", (.comment) = "Filename of the image to show on the node view"];
     * @return The nodeImage.
     */
    java.lang.String getNodeImage();
    /**
     * optional string node_image = 12 [(.display_name) = "Node Image", (.comment) = "Filename of the image to show on the node view"];
     * @return The bytes for nodeImage.
     */
    com.google.protobuf.ByteString
        getNodeImageBytes();

    /**
     * optional string icon_image = 13 [(.display_name) = "Node Icon", (.comment) = "Which icon to show on the map"];
     * @return Whether the iconImage field is set.
     */
    boolean hasIconImage();
    /**
     * optional string icon_image = 13 [(.display_name) = "Node Icon", (.comment) = "Which icon to show on the map"];
     * @return The iconImage.
     */
    java.lang.String getIconImage();
    /**
     * optional string icon_image = 13 [(.display_name) = "Node Icon", (.comment) = "Which icon to show on the map"];
     * @return The bytes for iconImage.
     */
    com.google.protobuf.ByteString
        getIconImageBytes();

    /**
     * optional .CMsgProtoDefID theme = 14 [(.valid_type) = DEF_TYPE_QUEST_THEME];
     * @return Whether the theme field is set.
     */
    boolean hasTheme();
    /**
     * optional .CMsgProtoDefID theme = 14 [(.valid_type) = DEF_TYPE_QUEST_THEME];
     * @return The theme.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getTheme();
    /**
     * optional .CMsgProtoDefID theme = 14 [(.valid_type) = DEF_TYPE_QUEST_THEME];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getThemeOrBuilder();

    /**
     * repeated string loaner_names = 15 [(.display_name) = "Loaners", (.comment) = "Names of items to give as loaners"];
     * @return A list containing the loanerNames.
     */
    java.util.List
        getLoanerNamesList();
    /**
     * repeated string loaner_names = 15 [(.display_name) = "Loaners", (.comment) = "Names of items to give as loaners"];
     * @return The count of loanerNames.
     */
    int getLoanerNamesCount();
    /**
     * repeated string loaner_names = 15 [(.display_name) = "Loaners", (.comment) = "Names of items to give as loaners"];
     * @param index The index of the element to return.
     * @return The loanerNames at the given index.
     */
    java.lang.String getLoanerNames(int index);
    /**
     * repeated string loaner_names = 15 [(.display_name) = "Loaners", (.comment) = "Names of items to give as loaners"];
     * @param index The index of the value to return.
     * @return The bytes of the loanerNames at the given index.
     */
    com.google.protobuf.ByteString
        getLoanerNamesBytes(int index);

    /**
     * repeated .CMsgQuestDef.ObjectiveInstance objectives = 16;
     */
    java.util.List 
        getObjectivesList();
    /**
     * repeated .CMsgQuestDef.ObjectiveInstance objectives = 16;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance getObjectives(int index);
    /**
     * repeated .CMsgQuestDef.ObjectiveInstance objectives = 16;
     */
    int getObjectivesCount();
    /**
     * repeated .CMsgQuestDef.ObjectiveInstance objectives = 16;
     */
    java.util.List 
        getObjectivesOrBuilderList();
    /**
     * repeated .CMsgQuestDef.ObjectiveInstance objectives = 16;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstanceOrBuilder getObjectivesOrBuilder(
        int index);

    /**
     * repeated string map = 17 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
     * @return A list containing the map.
     */
    java.util.List
        getMapList();
    /**
     * repeated string map = 17 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
     * @return The count of map.
     */
    int getMapCount();
    /**
     * repeated string map = 17 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
     * @param index The index of the element to return.
     * @return The map at the given index.
     */
    java.lang.String getMap(int index);
    /**
     * repeated string map = 17 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
     * @param index The index of the value to return.
     * @return The bytes of the map at the given index.
     */
    com.google.protobuf.ByteString
        getMapBytes(int index);
  }
  /**
   * Protobuf type {@code CMsgQuestDef}
   */
  public static final class CMsgQuestDef extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgQuestDef)
      CMsgQuestDefOrBuilder {
  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= */ "",
        CMsgQuestDef.class.getName());
    }
    // Use CMsgQuestDef.newBuilder() to construct.
    private CMsgQuestDef(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgQuestDef() {
      nameLoctoken_ = "";
      operation_ = "";
      nodeImage_ = "";
      iconImage_ = "";
      loanerNames_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
      objectives_ = java.util.Collections.emptyList();
      map_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
    }

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

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

    public interface MMCriteriaOrBuilder extends
        // @@protoc_insertion_point(interface_extends:CMsgQuestDef.MMCriteria)
        com.google.protobuf.MessageOrBuilder {

      /**
       * optional string group_name = 1;
       * @return Whether the groupName field is set.
       */
      boolean hasGroupName();
      /**
       * optional string group_name = 1;
       * @return The groupName.
       */
      java.lang.String getGroupName();
      /**
       * optional string group_name = 1;
       * @return The bytes for groupName.
       */
      com.google.protobuf.ByteString
          getGroupNameBytes();

      /**
       * optional string category_name = 2;
       * @return Whether the categoryName field is set.
       */
      boolean hasCategoryName();
      /**
       * optional string category_name = 2;
       * @return The categoryName.
       */
      java.lang.String getCategoryName();
      /**
       * optional string category_name = 2;
       * @return The bytes for categoryName.
       */
      com.google.protobuf.ByteString
          getCategoryNameBytes();

      /**
       * optional string map_name = 3;
       * @return Whether the mapName field is set.
       */
      boolean hasMapName();
      /**
       * optional string map_name = 3;
       * @return The mapName.
       */
      java.lang.String getMapName();
      /**
       * optional string map_name = 3;
       * @return The bytes for mapName.
       */
      com.google.protobuf.ByteString
          getMapNameBytes();
    }
    /**
     * Protobuf type {@code CMsgQuestDef.MMCriteria}
     */
    public static final class MMCriteria extends
        com.google.protobuf.GeneratedMessage implements
        // @@protoc_insertion_point(message_implements:CMsgQuestDef.MMCriteria)
        MMCriteriaOrBuilder {
    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= */ "",
          MMCriteria.class.getName());
      }
      // Use MMCriteria.newBuilder() to construct.
      private MMCriteria(com.google.protobuf.GeneratedMessage.Builder builder) {
        super(builder);
      }
      private MMCriteria() {
        groupName_ = "";
        categoryName_ = "";
        mapName_ = "";
      }

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

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgQuestDef_MMCriteria_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria.class, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria.Builder.class);
      }

      private int bitField0_;
      public static final int GROUP_NAME_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private volatile java.lang.Object groupName_ = "";
      /**
       * optional string group_name = 1;
       * @return Whether the groupName field is set.
       */
      @java.lang.Override
      public boolean hasGroupName() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional string group_name = 1;
       * @return The groupName.
       */
      @java.lang.Override
      public java.lang.String getGroupName() {
        java.lang.Object ref = groupName_;
        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()) {
            groupName_ = s;
          }
          return s;
        }
      }
      /**
       * optional string group_name = 1;
       * @return The bytes for groupName.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getGroupNameBytes() {
        java.lang.Object ref = groupName_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          groupName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int CATEGORY_NAME_FIELD_NUMBER = 2;
      @SuppressWarnings("serial")
      private volatile java.lang.Object categoryName_ = "";
      /**
       * optional string category_name = 2;
       * @return Whether the categoryName field is set.
       */
      @java.lang.Override
      public boolean hasCategoryName() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional string category_name = 2;
       * @return The categoryName.
       */
      @java.lang.Override
      public java.lang.String getCategoryName() {
        java.lang.Object ref = categoryName_;
        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()) {
            categoryName_ = s;
          }
          return s;
        }
      }
      /**
       * optional string category_name = 2;
       * @return The bytes for categoryName.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getCategoryNameBytes() {
        java.lang.Object ref = categoryName_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          categoryName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int MAP_NAME_FIELD_NUMBER = 3;
      @SuppressWarnings("serial")
      private volatile java.lang.Object mapName_ = "";
      /**
       * optional string map_name = 3;
       * @return Whether the mapName field is set.
       */
      @java.lang.Override
      public boolean hasMapName() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional string map_name = 3;
       * @return The mapName.
       */
      @java.lang.Override
      public java.lang.String getMapName() {
        java.lang.Object ref = mapName_;
        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()) {
            mapName_ = s;
          }
          return s;
        }
      }
      /**
       * optional string map_name = 3;
       * @return The bytes for mapName.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getMapNameBytes() {
        java.lang.Object ref = mapName_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          mapName_ = 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, groupName_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          com.google.protobuf.GeneratedMessage.writeString(output, 2, categoryName_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          com.google.protobuf.GeneratedMessage.writeString(output, 3, mapName_);
        }
        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, groupName_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += com.google.protobuf.GeneratedMessage.computeStringSize(2, categoryName_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          size += com.google.protobuf.GeneratedMessage.computeStringSize(3, mapName_);
        }
        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.TfProtoDefMessages.CMsgQuestDef.MMCriteria)) {
          return super.equals(obj);
        }
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria) obj;

        if (hasGroupName() != other.hasGroupName()) return false;
        if (hasGroupName()) {
          if (!getGroupName()
              .equals(other.getGroupName())) return false;
        }
        if (hasCategoryName() != other.hasCategoryName()) return false;
        if (hasCategoryName()) {
          if (!getCategoryName()
              .equals(other.getCategoryName())) return false;
        }
        if (hasMapName() != other.hasMapName()) return false;
        if (hasMapName()) {
          if (!getMapName()
              .equals(other.getMapName())) 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 (hasGroupName()) {
          hash = (37 * hash) + GROUP_NAME_FIELD_NUMBER;
          hash = (53 * hash) + getGroupName().hashCode();
        }
        if (hasCategoryName()) {
          hash = (37 * hash) + CATEGORY_NAME_FIELD_NUMBER;
          hash = (53 * hash) + getCategoryName().hashCode();
        }
        if (hasMapName()) {
          hash = (37 * hash) + MAP_NAME_FIELD_NUMBER;
          hash = (53 * hash) + getMapName().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria 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.TfProtoDefMessages.CMsgQuestDef.MMCriteria parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria 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.TfProtoDefMessages.CMsgQuestDef.MMCriteria parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria 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.TfProtoDefMessages.CMsgQuestDef.MMCriteria parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseWithIOException(PARSER, input);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria 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.TfProtoDefMessages.CMsgQuestDef.MMCriteria parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria 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.TfProtoDefMessages.CMsgQuestDef.MMCriteria 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.TfProtoDefMessages.CMsgQuestDef.MMCriteria 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.TfProtoDefMessages.CMsgQuestDef.MMCriteria 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 CMsgQuestDef.MMCriteria}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder implements
          // @@protoc_insertion_point(builder_implements:CMsgQuestDef.MMCriteria)
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteriaOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgQuestDef_MMCriteria_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgQuestDef_MMCriteria_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria.class, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria.Builder.class);
        }

        // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria.newBuilder()
        private Builder() {

        }

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

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

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

        @java.lang.Override
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria getDefaultInstanceForType() {
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria.getDefaultInstance();
        }

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

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

        private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.groupName_ = groupName_;
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.categoryName_ = categoryName_;
            to_bitField0_ |= 0x00000002;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.mapName_ = mapName_;
            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.TfProtoDefMessages.CMsgQuestDef.MMCriteria) {
            return mergeFrom((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria other) {
          if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria.getDefaultInstance()) return this;
          if (other.hasGroupName()) {
            groupName_ = other.groupName_;
            bitField0_ |= 0x00000001;
            onChanged();
          }
          if (other.hasCategoryName()) {
            categoryName_ = other.categoryName_;
            bitField0_ |= 0x00000002;
            onChanged();
          }
          if (other.hasMapName()) {
            mapName_ = other.mapName_;
            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 10: {
                  groupName_ = input.readBytes();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 18: {
                  categoryName_ = input.readBytes();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 18
                case 26: {
                  mapName_ = 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 java.lang.Object groupName_ = "";
        /**
         * optional string group_name = 1;
         * @return Whether the groupName field is set.
         */
        public boolean hasGroupName() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * optional string group_name = 1;
         * @return The groupName.
         */
        public java.lang.String getGroupName() {
          java.lang.Object ref = groupName_;
          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()) {
              groupName_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * optional string group_name = 1;
         * @return The bytes for groupName.
         */
        public com.google.protobuf.ByteString
            getGroupNameBytes() {
          java.lang.Object ref = groupName_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            groupName_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * optional string group_name = 1;
         * @param value The groupName to set.
         * @return This builder for chaining.
         */
        public Builder setGroupName(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          groupName_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * optional string group_name = 1;
         * @return This builder for chaining.
         */
        public Builder clearGroupName() {
          groupName_ = getDefaultInstance().getGroupName();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * optional string group_name = 1;
         * @param value The bytes for groupName to set.
         * @return This builder for chaining.
         */
        public Builder setGroupNameBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          groupName_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }

        private java.lang.Object categoryName_ = "";
        /**
         * optional string category_name = 2;
         * @return Whether the categoryName field is set.
         */
        public boolean hasCategoryName() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * optional string category_name = 2;
         * @return The categoryName.
         */
        public java.lang.String getCategoryName() {
          java.lang.Object ref = categoryName_;
          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()) {
              categoryName_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * optional string category_name = 2;
         * @return The bytes for categoryName.
         */
        public com.google.protobuf.ByteString
            getCategoryNameBytes() {
          java.lang.Object ref = categoryName_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            categoryName_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * optional string category_name = 2;
         * @param value The categoryName to set.
         * @return This builder for chaining.
         */
        public Builder setCategoryName(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          categoryName_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * optional string category_name = 2;
         * @return This builder for chaining.
         */
        public Builder clearCategoryName() {
          categoryName_ = getDefaultInstance().getCategoryName();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
          return this;
        }
        /**
         * optional string category_name = 2;
         * @param value The bytes for categoryName to set.
         * @return This builder for chaining.
         */
        public Builder setCategoryNameBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          categoryName_ = value;
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }

        private java.lang.Object mapName_ = "";
        /**
         * optional string map_name = 3;
         * @return Whether the mapName field is set.
         */
        public boolean hasMapName() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * optional string map_name = 3;
         * @return The mapName.
         */
        public java.lang.String getMapName() {
          java.lang.Object ref = mapName_;
          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()) {
              mapName_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * optional string map_name = 3;
         * @return The bytes for mapName.
         */
        public com.google.protobuf.ByteString
            getMapNameBytes() {
          java.lang.Object ref = mapName_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            mapName_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * optional string map_name = 3;
         * @param value The mapName to set.
         * @return This builder for chaining.
         */
        public Builder setMapName(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          mapName_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * optional string map_name = 3;
         * @return This builder for chaining.
         */
        public Builder clearMapName() {
          mapName_ = getDefaultInstance().getMapName();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
          return this;
        }
        /**
         * optional string map_name = 3;
         * @param value The bytes for mapName to set.
         * @return This builder for chaining.
         */
        public Builder setMapNameBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          mapName_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:CMsgQuestDef.MMCriteria)
      }

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

      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

    }

    public interface ObjectiveInstanceOrBuilder extends
        // @@protoc_insertion_point(interface_extends:CMsgQuestDef.ObjectiveInstance)
        com.google.protobuf.MessageOrBuilder {

      /**
       * optional .CMsgProtoDefID objective = 1 [(.valid_type) = DEF_TYPE_QUEST_OBJECTIVE];
       * @return Whether the objective field is set.
       */
      boolean hasObjective();
      /**
       * optional .CMsgProtoDefID objective = 1 [(.valid_type) = DEF_TYPE_QUEST_OBJECTIVE];
       * @return The objective.
       */
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getObjective();
      /**
       * optional .CMsgProtoDefID objective = 1 [(.valid_type) = DEF_TYPE_QUEST_OBJECTIVE];
       */
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getObjectiveOrBuilder();

      /**
       * optional .EQuestPoints point_type = 2 [default = QUEST_POINTS_NOVICE];
       * @return Whether the pointType field is set.
       */
      boolean hasPointType();
      /**
       * optional .EQuestPoints point_type = 2 [default = QUEST_POINTS_NOVICE];
       * @return The pointType.
       */
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.EQuestPoints getPointType();

      /**
       * optional uint32 point_value = 3 [(.display_name) = "Points Override", (.comment) = "Override value for the point value of the objective.  If not set, uses the objective\'s point value"];
       * @return Whether the pointValue field is set.
       */
      boolean hasPointValue();
      /**
       * optional uint32 point_value = 3 [(.display_name) = "Points Override", (.comment) = "Override value for the point value of the objective.  If not set, uses the objective\'s point value"];
       * @return The pointValue.
       */
      int getPointValue();
    }
    /**
     * Protobuf type {@code CMsgQuestDef.ObjectiveInstance}
     */
    public static final class ObjectiveInstance extends
        com.google.protobuf.GeneratedMessage implements
        // @@protoc_insertion_point(message_implements:CMsgQuestDef.ObjectiveInstance)
        ObjectiveInstanceOrBuilder {
    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= */ "",
          ObjectiveInstance.class.getName());
      }
      // Use ObjectiveInstance.newBuilder() to construct.
      private ObjectiveInstance(com.google.protobuf.GeneratedMessage.Builder builder) {
        super(builder);
      }
      private ObjectiveInstance() {
        pointType_ = 0;
      }

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

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgQuestDef_ObjectiveInstance_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance.class, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance.Builder.class);
      }

      private int bitField0_;
      public static final int OBJECTIVE_FIELD_NUMBER = 1;
      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID objective_;
      /**
       * optional .CMsgProtoDefID objective = 1 [(.valid_type) = DEF_TYPE_QUEST_OBJECTIVE];
       * @return Whether the objective field is set.
       */
      @java.lang.Override
      public boolean hasObjective() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional .CMsgProtoDefID objective = 1 [(.valid_type) = DEF_TYPE_QUEST_OBJECTIVE];
       * @return The objective.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getObjective() {
        return objective_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : objective_;
      }
      /**
       * optional .CMsgProtoDefID objective = 1 [(.valid_type) = DEF_TYPE_QUEST_OBJECTIVE];
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getObjectiveOrBuilder() {
        return objective_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : objective_;
      }

      public static final int POINT_TYPE_FIELD_NUMBER = 2;
      private int pointType_ = 0;
      /**
       * optional .EQuestPoints point_type = 2 [default = QUEST_POINTS_NOVICE];
       * @return Whether the pointType field is set.
       */
      @java.lang.Override public boolean hasPointType() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional .EQuestPoints point_type = 2 [default = QUEST_POINTS_NOVICE];
       * @return The pointType.
       */
      @java.lang.Override public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.EQuestPoints getPointType() {
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.EQuestPoints result = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.EQuestPoints.forNumber(pointType_);
        return result == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.EQuestPoints.QUEST_POINTS_NOVICE : result;
      }

      public static final int POINT_VALUE_FIELD_NUMBER = 3;
      private int pointValue_ = 0;
      /**
       * optional uint32 point_value = 3 [(.display_name) = "Points Override", (.comment) = "Override value for the point value of the objective.  If not set, uses the objective\'s point value"];
       * @return Whether the pointValue field is set.
       */
      @java.lang.Override
      public boolean hasPointValue() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional uint32 point_value = 3 [(.display_name) = "Points Override", (.comment) = "Override value for the point value of the objective.  If not set, uses the objective\'s point value"];
       * @return The pointValue.
       */
      @java.lang.Override
      public int getPointValue() {
        return pointValue_;
      }

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

        if (hasObjective()) {
          if (!getObjective().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeMessage(1, getObjective());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeEnum(2, pointType_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          output.writeUInt32(3, pointValue_);
        }
        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
            .computeMessageSize(1, getObjective());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += com.google.protobuf.CodedOutputStream
            .computeEnumSize(2, pointType_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(3, pointValue_);
        }
        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.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance)) {
          return super.equals(obj);
        }
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance) obj;

        if (hasObjective() != other.hasObjective()) return false;
        if (hasObjective()) {
          if (!getObjective()
              .equals(other.getObjective())) return false;
        }
        if (hasPointType() != other.hasPointType()) return false;
        if (hasPointType()) {
          if (pointType_ != other.pointType_) return false;
        }
        if (hasPointValue() != other.hasPointValue()) return false;
        if (hasPointValue()) {
          if (getPointValue()
              != other.getPointValue()) 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 (hasObjective()) {
          hash = (37 * hash) + OBJECTIVE_FIELD_NUMBER;
          hash = (53 * hash) + getObjective().hashCode();
        }
        if (hasPointType()) {
          hash = (37 * hash) + POINT_TYPE_FIELD_NUMBER;
          hash = (53 * hash) + pointType_;
        }
        if (hasPointValue()) {
          hash = (37 * hash) + POINT_VALUE_FIELD_NUMBER;
          hash = (53 * hash) + getPointValue();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance 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.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance 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.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance 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.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseWithIOException(PARSER, input);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance 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.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance 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.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance 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.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance 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.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance 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 CMsgQuestDef.ObjectiveInstance}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder implements
          // @@protoc_insertion_point(builder_implements:CMsgQuestDef.ObjectiveInstance)
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstanceOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgQuestDef_ObjectiveInstance_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgQuestDef_ObjectiveInstance_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance.class, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance.Builder.class);
        }

        // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage
                  .alwaysUseFieldBuilders) {
            getObjectiveFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          objective_ = null;
          if (objectiveBuilder_ != null) {
            objectiveBuilder_.dispose();
            objectiveBuilder_ = null;
          }
          pointType_ = 0;
          pointValue_ = 0;
          return this;
        }

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

        @java.lang.Override
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance getDefaultInstanceForType() {
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance.getDefaultInstance();
        }

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

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

        private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.objective_ = objectiveBuilder_ == null
                ? objective_
                : objectiveBuilder_.build();
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.pointType_ = pointType_;
            to_bitField0_ |= 0x00000002;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.pointValue_ = pointValue_;
            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.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance) {
            return mergeFrom((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance other) {
          if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance.getDefaultInstance()) return this;
          if (other.hasObjective()) {
            mergeObjective(other.getObjective());
          }
          if (other.hasPointType()) {
            setPointType(other.getPointType());
          }
          if (other.hasPointValue()) {
            setPointValue(other.getPointValue());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          if (hasObjective()) {
            if (!getObjective().isInitialized()) {
              return false;
            }
          }
          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: {
                  input.readMessage(
                      getObjectiveFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 16: {
                  int tmpRaw = input.readEnum();
                  in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.EQuestPoints tmpValue =
                      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.EQuestPoints.forNumber(tmpRaw);
                  if (tmpValue == null) {
                    mergeUnknownVarintField(2, tmpRaw);
                  } else {
                    pointType_ = tmpRaw;
                    bitField0_ |= 0x00000002;
                  }
                  break;
                } // case 16
                case 24: {
                  pointValue_ = 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 in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID objective_;
        private com.google.protobuf.SingleFieldBuilder<
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> objectiveBuilder_;
        /**
         * optional .CMsgProtoDefID objective = 1 [(.valid_type) = DEF_TYPE_QUEST_OBJECTIVE];
         * @return Whether the objective field is set.
         */
        public boolean hasObjective() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * optional .CMsgProtoDefID objective = 1 [(.valid_type) = DEF_TYPE_QUEST_OBJECTIVE];
         * @return The objective.
         */
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getObjective() {
          if (objectiveBuilder_ == null) {
            return objective_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : objective_;
          } else {
            return objectiveBuilder_.getMessage();
          }
        }
        /**
         * optional .CMsgProtoDefID objective = 1 [(.valid_type) = DEF_TYPE_QUEST_OBJECTIVE];
         */
        public Builder setObjective(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
          if (objectiveBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            objective_ = value;
          } else {
            objectiveBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * optional .CMsgProtoDefID objective = 1 [(.valid_type) = DEF_TYPE_QUEST_OBJECTIVE];
         */
        public Builder setObjective(
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder builderForValue) {
          if (objectiveBuilder_ == null) {
            objective_ = builderForValue.build();
          } else {
            objectiveBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * optional .CMsgProtoDefID objective = 1 [(.valid_type) = DEF_TYPE_QUEST_OBJECTIVE];
         */
        public Builder mergeObjective(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
          if (objectiveBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0) &&
              objective_ != null &&
              objective_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance()) {
              getObjectiveBuilder().mergeFrom(value);
            } else {
              objective_ = value;
            }
          } else {
            objectiveBuilder_.mergeFrom(value);
          }
          if (objective_ != null) {
            bitField0_ |= 0x00000001;
            onChanged();
          }
          return this;
        }
        /**
         * optional .CMsgProtoDefID objective = 1 [(.valid_type) = DEF_TYPE_QUEST_OBJECTIVE];
         */
        public Builder clearObjective() {
          bitField0_ = (bitField0_ & ~0x00000001);
          objective_ = null;
          if (objectiveBuilder_ != null) {
            objectiveBuilder_.dispose();
            objectiveBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * optional .CMsgProtoDefID objective = 1 [(.valid_type) = DEF_TYPE_QUEST_OBJECTIVE];
         */
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder getObjectiveBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getObjectiveFieldBuilder().getBuilder();
        }
        /**
         * optional .CMsgProtoDefID objective = 1 [(.valid_type) = DEF_TYPE_QUEST_OBJECTIVE];
         */
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getObjectiveOrBuilder() {
          if (objectiveBuilder_ != null) {
            return objectiveBuilder_.getMessageOrBuilder();
          } else {
            return objective_ == null ?
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : objective_;
          }
        }
        /**
         * optional .CMsgProtoDefID objective = 1 [(.valid_type) = DEF_TYPE_QUEST_OBJECTIVE];
         */
        private com.google.protobuf.SingleFieldBuilder<
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> 
            getObjectiveFieldBuilder() {
          if (objectiveBuilder_ == null) {
            objectiveBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder>(
                    getObjective(),
                    getParentForChildren(),
                    isClean());
            objective_ = null;
          }
          return objectiveBuilder_;
        }

        private int pointType_ = 0;
        /**
         * optional .EQuestPoints point_type = 2 [default = QUEST_POINTS_NOVICE];
         * @return Whether the pointType field is set.
         */
        @java.lang.Override public boolean hasPointType() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * optional .EQuestPoints point_type = 2 [default = QUEST_POINTS_NOVICE];
         * @return The pointType.
         */
        @java.lang.Override
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.EQuestPoints getPointType() {
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.EQuestPoints result = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.EQuestPoints.forNumber(pointType_);
          return result == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.EQuestPoints.QUEST_POINTS_NOVICE : result;
        }
        /**
         * optional .EQuestPoints point_type = 2 [default = QUEST_POINTS_NOVICE];
         * @param value The pointType to set.
         * @return This builder for chaining.
         */
        public Builder setPointType(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.EQuestPoints value) {
          if (value == null) {
            throw new NullPointerException();
          }
          bitField0_ |= 0x00000002;
          pointType_ = value.getNumber();
          onChanged();
          return this;
        }
        /**
         * optional .EQuestPoints point_type = 2 [default = QUEST_POINTS_NOVICE];
         * @return This builder for chaining.
         */
        public Builder clearPointType() {
          bitField0_ = (bitField0_ & ~0x00000002);
          pointType_ = 0;
          onChanged();
          return this;
        }

        private int pointValue_ ;
        /**
         * optional uint32 point_value = 3 [(.display_name) = "Points Override", (.comment) = "Override value for the point value of the objective.  If not set, uses the objective\'s point value"];
         * @return Whether the pointValue field is set.
         */
        @java.lang.Override
        public boolean hasPointValue() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * optional uint32 point_value = 3 [(.display_name) = "Points Override", (.comment) = "Override value for the point value of the objective.  If not set, uses the objective\'s point value"];
         * @return The pointValue.
         */
        @java.lang.Override
        public int getPointValue() {
          return pointValue_;
        }
        /**
         * optional uint32 point_value = 3 [(.display_name) = "Points Override", (.comment) = "Override value for the point value of the objective.  If not set, uses the objective\'s point value"];
         * @param value The pointValue to set.
         * @return This builder for chaining.
         */
        public Builder setPointValue(int value) {

          pointValue_ = value;
          bitField0_ |= 0x00000004;
          onChanged();
          return this;
        }
        /**
         * optional uint32 point_value = 3 [(.display_name) = "Points Override", (.comment) = "Override value for the point value of the objective.  If not set, uses the objective\'s point value"];
         * @return This builder for chaining.
         */
        public Builder clearPointValue() {
          bitField0_ = (bitField0_ & ~0x00000004);
          pointValue_ = 0;
          onChanged();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:CMsgQuestDef.ObjectiveInstance)
      }

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

      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

    }

    private int bitField0_;
    public static final int HEADER_FIELD_NUMBER = 1;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader header_;
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return Whether the header field is set.
     */
    @java.lang.Override
    public boolean hasHeader() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return The header.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader() {
      return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
    }
    /**
     * required .CMsgProtoDefHeader header = 1;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder() {
      return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
    }

    public static final int MAX_POINTS_0_FIELD_NUMBER = 2;
    private int maxPoints0_ = 0;
    /**
     * optional uint32 max_points_0 = 2;
     * @return Whether the maxPoints0 field is set.
     */
    @java.lang.Override
    public boolean hasMaxPoints0() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional uint32 max_points_0 = 2;
     * @return The maxPoints0.
     */
    @java.lang.Override
    public int getMaxPoints0() {
      return maxPoints0_;
    }

    public static final int MAX_POINTS_1_FIELD_NUMBER = 3;
    private int maxPoints1_ = 0;
    /**
     * optional uint32 max_points_1 = 3;
     * @return Whether the maxPoints1 field is set.
     */
    @java.lang.Override
    public boolean hasMaxPoints1() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional uint32 max_points_1 = 3;
     * @return The maxPoints1.
     */
    @java.lang.Override
    public int getMaxPoints1() {
      return maxPoints1_;
    }

    public static final int MAX_POINTS_2_FIELD_NUMBER = 4;
    private int maxPoints2_ = 0;
    /**
     * optional uint32 max_points_2 = 4;
     * @return Whether the maxPoints2 field is set.
     */
    @java.lang.Override
    public boolean hasMaxPoints2() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional uint32 max_points_2 = 4;
     * @return The maxPoints2.
     */
    @java.lang.Override
    public int getMaxPoints2() {
      return maxPoints2_;
    }

    public static final int NAME_LOCTOKEN_FIELD_NUMBER = 5;
    @SuppressWarnings("serial")
    private volatile java.lang.Object nameLoctoken_ = "";
    /**
     * optional string name_loctoken = 5 [(.localized) = true];
     * @return Whether the nameLoctoken field is set.
     */
    @java.lang.Override
    public boolean hasNameLoctoken() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * optional string name_loctoken = 5 [(.localized) = true];
     * @return The nameLoctoken.
     */
    @java.lang.Override
    public java.lang.String getNameLoctoken() {
      java.lang.Object ref = nameLoctoken_;
      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()) {
          nameLoctoken_ = s;
        }
        return s;
      }
    }
    /**
     * optional string name_loctoken = 5 [(.localized) = true];
     * @return The bytes for nameLoctoken.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNameLoctokenBytes() {
      java.lang.Object ref = nameLoctoken_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        nameLoctoken_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int OPERATION_FIELD_NUMBER = 7;
    @SuppressWarnings("serial")
    private volatile java.lang.Object operation_ = "";
    /**
     * optional string operation = 7;
     * @return Whether the operation field is set.
     */
    @java.lang.Override
    public boolean hasOperation() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * optional string operation = 7;
     * @return The operation.
     */
    @java.lang.Override
    public java.lang.String getOperation() {
      java.lang.Object ref = operation_;
      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()) {
          operation_ = s;
        }
        return s;
      }
    }
    /**
     * optional string operation = 7;
     * @return The bytes for operation.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getOperationBytes() {
      java.lang.Object ref = operation_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        operation_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int MM_CRITERIA_FIELD_NUMBER = 8;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria mmCriteria_;
    /**
     * optional .CMsgQuestDef.MMCriteria mm_criteria = 8;
     * @return Whether the mmCriteria field is set.
     */
    @java.lang.Override
    public boolean hasMmCriteria() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     * optional .CMsgQuestDef.MMCriteria mm_criteria = 8;
     * @return The mmCriteria.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria getMmCriteria() {
      return mmCriteria_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria.getDefaultInstance() : mmCriteria_;
    }
    /**
     * optional .CMsgQuestDef.MMCriteria mm_criteria = 8;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteriaOrBuilder getMmCriteriaOrBuilder() {
      return mmCriteria_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria.getDefaultInstance() : mmCriteria_;
    }

    public static final int NODE_IMAGE_FIELD_NUMBER = 12;
    @SuppressWarnings("serial")
    private volatile java.lang.Object nodeImage_ = "";
    /**
     * optional string node_image = 12 [(.display_name) = "Node Image", (.comment) = "Filename of the image to show on the node view"];
     * @return Whether the nodeImage field is set.
     */
    @java.lang.Override
    public boolean hasNodeImage() {
      return ((bitField0_ & 0x00000080) != 0);
    }
    /**
     * optional string node_image = 12 [(.display_name) = "Node Image", (.comment) = "Filename of the image to show on the node view"];
     * @return The nodeImage.
     */
    @java.lang.Override
    public java.lang.String getNodeImage() {
      java.lang.Object ref = nodeImage_;
      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()) {
          nodeImage_ = s;
        }
        return s;
      }
    }
    /**
     * optional string node_image = 12 [(.display_name) = "Node Image", (.comment) = "Filename of the image to show on the node view"];
     * @return The bytes for nodeImage.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNodeImageBytes() {
      java.lang.Object ref = nodeImage_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        nodeImage_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int ICON_IMAGE_FIELD_NUMBER = 13;
    @SuppressWarnings("serial")
    private volatile java.lang.Object iconImage_ = "";
    /**
     * optional string icon_image = 13 [(.display_name) = "Node Icon", (.comment) = "Which icon to show on the map"];
     * @return Whether the iconImage field is set.
     */
    @java.lang.Override
    public boolean hasIconImage() {
      return ((bitField0_ & 0x00000100) != 0);
    }
    /**
     * optional string icon_image = 13 [(.display_name) = "Node Icon", (.comment) = "Which icon to show on the map"];
     * @return The iconImage.
     */
    @java.lang.Override
    public java.lang.String getIconImage() {
      java.lang.Object ref = iconImage_;
      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()) {
          iconImage_ = s;
        }
        return s;
      }
    }
    /**
     * optional string icon_image = 13 [(.display_name) = "Node Icon", (.comment) = "Which icon to show on the map"];
     * @return The bytes for iconImage.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getIconImageBytes() {
      java.lang.Object ref = iconImage_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        iconImage_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int THEME_FIELD_NUMBER = 14;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID theme_;
    /**
     * optional .CMsgProtoDefID theme = 14 [(.valid_type) = DEF_TYPE_QUEST_THEME];
     * @return Whether the theme field is set.
     */
    @java.lang.Override
    public boolean hasTheme() {
      return ((bitField0_ & 0x00000200) != 0);
    }
    /**
     * optional .CMsgProtoDefID theme = 14 [(.valid_type) = DEF_TYPE_QUEST_THEME];
     * @return The theme.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getTheme() {
      return theme_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : theme_;
    }
    /**
     * optional .CMsgProtoDefID theme = 14 [(.valid_type) = DEF_TYPE_QUEST_THEME];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getThemeOrBuilder() {
      return theme_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : theme_;
    }

    public static final int LOANER_NAMES_FIELD_NUMBER = 15;
    @SuppressWarnings("serial")
    private com.google.protobuf.LazyStringArrayList loanerNames_ =
        com.google.protobuf.LazyStringArrayList.emptyList();
    /**
     * repeated string loaner_names = 15 [(.display_name) = "Loaners", (.comment) = "Names of items to give as loaners"];
     * @return A list containing the loanerNames.
     */
    public com.google.protobuf.ProtocolStringList
        getLoanerNamesList() {
      return loanerNames_;
    }
    /**
     * repeated string loaner_names = 15 [(.display_name) = "Loaners", (.comment) = "Names of items to give as loaners"];
     * @return The count of loanerNames.
     */
    public int getLoanerNamesCount() {
      return loanerNames_.size();
    }
    /**
     * repeated string loaner_names = 15 [(.display_name) = "Loaners", (.comment) = "Names of items to give as loaners"];
     * @param index The index of the element to return.
     * @return The loanerNames at the given index.
     */
    public java.lang.String getLoanerNames(int index) {
      return loanerNames_.get(index);
    }
    /**
     * repeated string loaner_names = 15 [(.display_name) = "Loaners", (.comment) = "Names of items to give as loaners"];
     * @param index The index of the value to return.
     * @return The bytes of the loanerNames at the given index.
     */
    public com.google.protobuf.ByteString
        getLoanerNamesBytes(int index) {
      return loanerNames_.getByteString(index);
    }

    public static final int OBJECTIVES_FIELD_NUMBER = 16;
    @SuppressWarnings("serial")
    private java.util.List objectives_;
    /**
     * repeated .CMsgQuestDef.ObjectiveInstance objectives = 16;
     */
    @java.lang.Override
    public java.util.List getObjectivesList() {
      return objectives_;
    }
    /**
     * repeated .CMsgQuestDef.ObjectiveInstance objectives = 16;
     */
    @java.lang.Override
    public java.util.List 
        getObjectivesOrBuilderList() {
      return objectives_;
    }
    /**
     * repeated .CMsgQuestDef.ObjectiveInstance objectives = 16;
     */
    @java.lang.Override
    public int getObjectivesCount() {
      return objectives_.size();
    }
    /**
     * repeated .CMsgQuestDef.ObjectiveInstance objectives = 16;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance getObjectives(int index) {
      return objectives_.get(index);
    }
    /**
     * repeated .CMsgQuestDef.ObjectiveInstance objectives = 16;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstanceOrBuilder getObjectivesOrBuilder(
        int index) {
      return objectives_.get(index);
    }

    public static final int MAP_FIELD_NUMBER = 17;
    @SuppressWarnings("serial")
    private com.google.protobuf.LazyStringArrayList map_ =
        com.google.protobuf.LazyStringArrayList.emptyList();
    /**
     * repeated string map = 17 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
     * @return A list containing the map.
     */
    public com.google.protobuf.ProtocolStringList
        getMapList() {
      return map_;
    }
    /**
     * repeated string map = 17 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
     * @return The count of map.
     */
    public int getMapCount() {
      return map_.size();
    }
    /**
     * repeated string map = 17 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
     * @param index The index of the element to return.
     * @return The map at the given index.
     */
    public java.lang.String getMap(int index) {
      return map_.get(index);
    }
    /**
     * repeated string map = 17 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
     * @param index The index of the value to return.
     * @return The bytes of the map at the given index.
     */
    public com.google.protobuf.ByteString
        getMapBytes(int index) {
      return map_.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;

      if (!hasHeader()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getHeader().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (hasTheme()) {
        if (!getTheme().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getObjectivesCount(); i++) {
        if (!getObjectives(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getHeader());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeUInt32(2, maxPoints0_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeUInt32(3, maxPoints1_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeUInt32(4, maxPoints2_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 5, nameLoctoken_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 7, operation_);
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        output.writeMessage(8, getMmCriteria());
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 12, nodeImage_);
      }
      if (((bitField0_ & 0x00000100) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 13, iconImage_);
      }
      if (((bitField0_ & 0x00000200) != 0)) {
        output.writeMessage(14, getTheme());
      }
      for (int i = 0; i < loanerNames_.size(); i++) {
        com.google.protobuf.GeneratedMessage.writeString(output, 15, loanerNames_.getRaw(i));
      }
      for (int i = 0; i < objectives_.size(); i++) {
        output.writeMessage(16, objectives_.get(i));
      }
      for (int i = 0; i < map_.size(); i++) {
        com.google.protobuf.GeneratedMessage.writeString(output, 17, map_.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.CodedOutputStream
          .computeMessageSize(1, getHeader());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, maxPoints0_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, maxPoints1_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, maxPoints2_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(5, nameLoctoken_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(7, operation_);
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(8, getMmCriteria());
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(12, nodeImage_);
      }
      if (((bitField0_ & 0x00000100) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(13, iconImage_);
      }
      if (((bitField0_ & 0x00000200) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(14, getTheme());
      }
      {
        int dataSize = 0;
        for (int i = 0; i < loanerNames_.size(); i++) {
          dataSize += computeStringSizeNoTag(loanerNames_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getLoanerNamesList().size();
      }
      for (int i = 0; i < objectives_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(16, objectives_.get(i));
      }
      {
        int dataSize = 0;
        for (int i = 0; i < map_.size(); i++) {
          dataSize += computeStringSizeNoTag(map_.getRaw(i));
        }
        size += dataSize;
        size += 2 * getMapList().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.TfProtoDefMessages.CMsgQuestDef)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef) obj;

      if (hasHeader() != other.hasHeader()) return false;
      if (hasHeader()) {
        if (!getHeader()
            .equals(other.getHeader())) return false;
      }
      if (hasMaxPoints0() != other.hasMaxPoints0()) return false;
      if (hasMaxPoints0()) {
        if (getMaxPoints0()
            != other.getMaxPoints0()) return false;
      }
      if (hasMaxPoints1() != other.hasMaxPoints1()) return false;
      if (hasMaxPoints1()) {
        if (getMaxPoints1()
            != other.getMaxPoints1()) return false;
      }
      if (hasMaxPoints2() != other.hasMaxPoints2()) return false;
      if (hasMaxPoints2()) {
        if (getMaxPoints2()
            != other.getMaxPoints2()) return false;
      }
      if (hasNameLoctoken() != other.hasNameLoctoken()) return false;
      if (hasNameLoctoken()) {
        if (!getNameLoctoken()
            .equals(other.getNameLoctoken())) return false;
      }
      if (hasOperation() != other.hasOperation()) return false;
      if (hasOperation()) {
        if (!getOperation()
            .equals(other.getOperation())) return false;
      }
      if (hasMmCriteria() != other.hasMmCriteria()) return false;
      if (hasMmCriteria()) {
        if (!getMmCriteria()
            .equals(other.getMmCriteria())) return false;
      }
      if (hasNodeImage() != other.hasNodeImage()) return false;
      if (hasNodeImage()) {
        if (!getNodeImage()
            .equals(other.getNodeImage())) return false;
      }
      if (hasIconImage() != other.hasIconImage()) return false;
      if (hasIconImage()) {
        if (!getIconImage()
            .equals(other.getIconImage())) return false;
      }
      if (hasTheme() != other.hasTheme()) return false;
      if (hasTheme()) {
        if (!getTheme()
            .equals(other.getTheme())) return false;
      }
      if (!getLoanerNamesList()
          .equals(other.getLoanerNamesList())) return false;
      if (!getObjectivesList()
          .equals(other.getObjectivesList())) return false;
      if (!getMapList()
          .equals(other.getMapList())) 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 (hasHeader()) {
        hash = (37 * hash) + HEADER_FIELD_NUMBER;
        hash = (53 * hash) + getHeader().hashCode();
      }
      if (hasMaxPoints0()) {
        hash = (37 * hash) + MAX_POINTS_0_FIELD_NUMBER;
        hash = (53 * hash) + getMaxPoints0();
      }
      if (hasMaxPoints1()) {
        hash = (37 * hash) + MAX_POINTS_1_FIELD_NUMBER;
        hash = (53 * hash) + getMaxPoints1();
      }
      if (hasMaxPoints2()) {
        hash = (37 * hash) + MAX_POINTS_2_FIELD_NUMBER;
        hash = (53 * hash) + getMaxPoints2();
      }
      if (hasNameLoctoken()) {
        hash = (37 * hash) + NAME_LOCTOKEN_FIELD_NUMBER;
        hash = (53 * hash) + getNameLoctoken().hashCode();
      }
      if (hasOperation()) {
        hash = (37 * hash) + OPERATION_FIELD_NUMBER;
        hash = (53 * hash) + getOperation().hashCode();
      }
      if (hasMmCriteria()) {
        hash = (37 * hash) + MM_CRITERIA_FIELD_NUMBER;
        hash = (53 * hash) + getMmCriteria().hashCode();
      }
      if (hasNodeImage()) {
        hash = (37 * hash) + NODE_IMAGE_FIELD_NUMBER;
        hash = (53 * hash) + getNodeImage().hashCode();
      }
      if (hasIconImage()) {
        hash = (37 * hash) + ICON_IMAGE_FIELD_NUMBER;
        hash = (53 * hash) + getIconImage().hashCode();
      }
      if (hasTheme()) {
        hash = (37 * hash) + THEME_FIELD_NUMBER;
        hash = (53 * hash) + getTheme().hashCode();
      }
      if (getLoanerNamesCount() > 0) {
        hash = (37 * hash) + LOANER_NAMES_FIELD_NUMBER;
        hash = (53 * hash) + getLoanerNamesList().hashCode();
      }
      if (getObjectivesCount() > 0) {
        hash = (37 * hash) + OBJECTIVES_FIELD_NUMBER;
        hash = (53 * hash) + getObjectivesList().hashCode();
      }
      if (getMapCount() > 0) {
        hash = (37 * hash) + MAP_FIELD_NUMBER;
        hash = (53 * hash) + getMapList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef 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.TfProtoDefMessages.CMsgQuestDef parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef 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.TfProtoDefMessages.CMsgQuestDef parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef 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.TfProtoDefMessages.CMsgQuestDef parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef 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.TfProtoDefMessages.CMsgQuestDef parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef 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.TfProtoDefMessages.CMsgQuestDef 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.TfProtoDefMessages.CMsgQuestDef 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.TfProtoDefMessages.CMsgQuestDef 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 CMsgQuestDef}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgQuestDef)
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDefOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgQuestDef_descriptor;
      }

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

      // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage
                .alwaysUseFieldBuilders) {
          getHeaderFieldBuilder();
          getMmCriteriaFieldBuilder();
          getThemeFieldBuilder();
          getObjectivesFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        header_ = null;
        if (headerBuilder_ != null) {
          headerBuilder_.dispose();
          headerBuilder_ = null;
        }
        maxPoints0_ = 0;
        maxPoints1_ = 0;
        maxPoints2_ = 0;
        nameLoctoken_ = "";
        operation_ = "";
        mmCriteria_ = null;
        if (mmCriteriaBuilder_ != null) {
          mmCriteriaBuilder_.dispose();
          mmCriteriaBuilder_ = null;
        }
        nodeImage_ = "";
        iconImage_ = "";
        theme_ = null;
        if (themeBuilder_ != null) {
          themeBuilder_.dispose();
          themeBuilder_ = null;
        }
        loanerNames_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
        if (objectivesBuilder_ == null) {
          objectives_ = java.util.Collections.emptyList();
        } else {
          objectives_ = null;
          objectivesBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000800);
        map_ =
            com.google.protobuf.LazyStringArrayList.emptyList();
        return this;
      }

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

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

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

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

      private void buildPartialRepeatedFields(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef result) {
        if (objectivesBuilder_ == null) {
          if (((bitField0_ & 0x00000800) != 0)) {
            objectives_ = java.util.Collections.unmodifiableList(objectives_);
            bitField0_ = (bitField0_ & ~0x00000800);
          }
          result.objectives_ = objectives_;
        } else {
          result.objectives_ = objectivesBuilder_.build();
        }
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.header_ = headerBuilder_ == null
              ? header_
              : headerBuilder_.build();
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.maxPoints0_ = maxPoints0_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.maxPoints1_ = maxPoints1_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.maxPoints2_ = maxPoints2_;
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.nameLoctoken_ = nameLoctoken_;
          to_bitField0_ |= 0x00000010;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          result.operation_ = operation_;
          to_bitField0_ |= 0x00000020;
        }
        if (((from_bitField0_ & 0x00000040) != 0)) {
          result.mmCriteria_ = mmCriteriaBuilder_ == null
              ? mmCriteria_
              : mmCriteriaBuilder_.build();
          to_bitField0_ |= 0x00000040;
        }
        if (((from_bitField0_ & 0x00000080) != 0)) {
          result.nodeImage_ = nodeImage_;
          to_bitField0_ |= 0x00000080;
        }
        if (((from_bitField0_ & 0x00000100) != 0)) {
          result.iconImage_ = iconImage_;
          to_bitField0_ |= 0x00000100;
        }
        if (((from_bitField0_ & 0x00000200) != 0)) {
          result.theme_ = themeBuilder_ == null
              ? theme_
              : themeBuilder_.build();
          to_bitField0_ |= 0x00000200;
        }
        if (((from_bitField0_ & 0x00000400) != 0)) {
          loanerNames_.makeImmutable();
          result.loanerNames_ = loanerNames_;
        }
        if (((from_bitField0_ & 0x00001000) != 0)) {
          map_.makeImmutable();
          result.map_ = map_;
        }
        result.bitField0_ |= to_bitField0_;
      }

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

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.getDefaultInstance()) return this;
        if (other.hasHeader()) {
          mergeHeader(other.getHeader());
        }
        if (other.hasMaxPoints0()) {
          setMaxPoints0(other.getMaxPoints0());
        }
        if (other.hasMaxPoints1()) {
          setMaxPoints1(other.getMaxPoints1());
        }
        if (other.hasMaxPoints2()) {
          setMaxPoints2(other.getMaxPoints2());
        }
        if (other.hasNameLoctoken()) {
          nameLoctoken_ = other.nameLoctoken_;
          bitField0_ |= 0x00000010;
          onChanged();
        }
        if (other.hasOperation()) {
          operation_ = other.operation_;
          bitField0_ |= 0x00000020;
          onChanged();
        }
        if (other.hasMmCriteria()) {
          mergeMmCriteria(other.getMmCriteria());
        }
        if (other.hasNodeImage()) {
          nodeImage_ = other.nodeImage_;
          bitField0_ |= 0x00000080;
          onChanged();
        }
        if (other.hasIconImage()) {
          iconImage_ = other.iconImage_;
          bitField0_ |= 0x00000100;
          onChanged();
        }
        if (other.hasTheme()) {
          mergeTheme(other.getTheme());
        }
        if (!other.loanerNames_.isEmpty()) {
          if (loanerNames_.isEmpty()) {
            loanerNames_ = other.loanerNames_;
            bitField0_ |= 0x00000400;
          } else {
            ensureLoanerNamesIsMutable();
            loanerNames_.addAll(other.loanerNames_);
          }
          onChanged();
        }
        if (objectivesBuilder_ == null) {
          if (!other.objectives_.isEmpty()) {
            if (objectives_.isEmpty()) {
              objectives_ = other.objectives_;
              bitField0_ = (bitField0_ & ~0x00000800);
            } else {
              ensureObjectivesIsMutable();
              objectives_.addAll(other.objectives_);
            }
            onChanged();
          }
        } else {
          if (!other.objectives_.isEmpty()) {
            if (objectivesBuilder_.isEmpty()) {
              objectivesBuilder_.dispose();
              objectivesBuilder_ = null;
              objectives_ = other.objectives_;
              bitField0_ = (bitField0_ & ~0x00000800);
              objectivesBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getObjectivesFieldBuilder() : null;
            } else {
              objectivesBuilder_.addAllMessages(other.objectives_);
            }
          }
        }
        if (!other.map_.isEmpty()) {
          if (map_.isEmpty()) {
            map_ = other.map_;
            bitField0_ |= 0x00001000;
          } else {
            ensureMapIsMutable();
            map_.addAll(other.map_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasHeader()) {
          return false;
        }
        if (!getHeader().isInitialized()) {
          return false;
        }
        if (hasTheme()) {
          if (!getTheme().isInitialized()) {
            return false;
          }
        }
        for (int i = 0; i < getObjectivesCount(); i++) {
          if (!getObjectives(i).isInitialized()) {
            return false;
          }
        }
        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: {
                input.readMessage(
                    getHeaderFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 16: {
                maxPoints0_ = input.readUInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 24: {
                maxPoints1_ = input.readUInt32();
                bitField0_ |= 0x00000004;
                break;
              } // case 24
              case 32: {
                maxPoints2_ = input.readUInt32();
                bitField0_ |= 0x00000008;
                break;
              } // case 32
              case 42: {
                nameLoctoken_ = input.readBytes();
                bitField0_ |= 0x00000010;
                break;
              } // case 42
              case 58: {
                operation_ = input.readBytes();
                bitField0_ |= 0x00000020;
                break;
              } // case 58
              case 66: {
                input.readMessage(
                    getMmCriteriaFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000040;
                break;
              } // case 66
              case 98: {
                nodeImage_ = input.readBytes();
                bitField0_ |= 0x00000080;
                break;
              } // case 98
              case 106: {
                iconImage_ = input.readBytes();
                bitField0_ |= 0x00000100;
                break;
              } // case 106
              case 114: {
                input.readMessage(
                    getThemeFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000200;
                break;
              } // case 114
              case 122: {
                com.google.protobuf.ByteString bs = input.readBytes();
                ensureLoanerNamesIsMutable();
                loanerNames_.add(bs);
                break;
              } // case 122
              case 130: {
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance.parser(),
                        extensionRegistry);
                if (objectivesBuilder_ == null) {
                  ensureObjectivesIsMutable();
                  objectives_.add(m);
                } else {
                  objectivesBuilder_.addMessage(m);
                }
                break;
              } // case 130
              case 138: {
                com.google.protobuf.ByteString bs = input.readBytes();
                ensureMapIsMutable();
                map_.add(bs);
                break;
              } // case 138
              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 in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader header_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder> headerBuilder_;
      /**
       * required .CMsgProtoDefHeader header = 1;
       * @return Whether the header field is set.
       */
      public boolean hasHeader() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       * @return The header.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader() {
        if (headerBuilder_ == null) {
          return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
        } else {
          return headerBuilder_.getMessage();
        }
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder setHeader(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader value) {
        if (headerBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          header_ = value;
        } else {
          headerBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder setHeader(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder builderForValue) {
        if (headerBuilder_ == null) {
          header_ = builderForValue.build();
        } else {
          headerBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder mergeHeader(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader value) {
        if (headerBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
            header_ != null &&
            header_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance()) {
            getHeaderBuilder().mergeFrom(value);
          } else {
            header_ = value;
          }
        } else {
          headerBuilder_.mergeFrom(value);
        }
        if (header_ != null) {
          bitField0_ |= 0x00000001;
          onChanged();
        }
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder clearHeader() {
        bitField0_ = (bitField0_ & ~0x00000001);
        header_ = null;
        if (headerBuilder_ != null) {
          headerBuilder_.dispose();
          headerBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder getHeaderBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getHeaderFieldBuilder().getBuilder();
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder() {
        if (headerBuilder_ != null) {
          return headerBuilder_.getMessageOrBuilder();
        } else {
          return header_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
        }
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder> 
          getHeaderFieldBuilder() {
        if (headerBuilder_ == null) {
          headerBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder>(
                  getHeader(),
                  getParentForChildren(),
                  isClean());
          header_ = null;
        }
        return headerBuilder_;
      }

      private int maxPoints0_ ;
      /**
       * optional uint32 max_points_0 = 2;
       * @return Whether the maxPoints0 field is set.
       */
      @java.lang.Override
      public boolean hasMaxPoints0() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint32 max_points_0 = 2;
       * @return The maxPoints0.
       */
      @java.lang.Override
      public int getMaxPoints0() {
        return maxPoints0_;
      }
      /**
       * optional uint32 max_points_0 = 2;
       * @param value The maxPoints0 to set.
       * @return This builder for chaining.
       */
      public Builder setMaxPoints0(int value) {

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

      private int maxPoints1_ ;
      /**
       * optional uint32 max_points_1 = 3;
       * @return Whether the maxPoints1 field is set.
       */
      @java.lang.Override
      public boolean hasMaxPoints1() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional uint32 max_points_1 = 3;
       * @return The maxPoints1.
       */
      @java.lang.Override
      public int getMaxPoints1() {
        return maxPoints1_;
      }
      /**
       * optional uint32 max_points_1 = 3;
       * @param value The maxPoints1 to set.
       * @return This builder for chaining.
       */
      public Builder setMaxPoints1(int value) {

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

      private int maxPoints2_ ;
      /**
       * optional uint32 max_points_2 = 4;
       * @return Whether the maxPoints2 field is set.
       */
      @java.lang.Override
      public boolean hasMaxPoints2() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional uint32 max_points_2 = 4;
       * @return The maxPoints2.
       */
      @java.lang.Override
      public int getMaxPoints2() {
        return maxPoints2_;
      }
      /**
       * optional uint32 max_points_2 = 4;
       * @param value The maxPoints2 to set.
       * @return This builder for chaining.
       */
      public Builder setMaxPoints2(int value) {

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

      private java.lang.Object nameLoctoken_ = "";
      /**
       * optional string name_loctoken = 5 [(.localized) = true];
       * @return Whether the nameLoctoken field is set.
       */
      public boolean hasNameLoctoken() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * optional string name_loctoken = 5 [(.localized) = true];
       * @return The nameLoctoken.
       */
      public java.lang.String getNameLoctoken() {
        java.lang.Object ref = nameLoctoken_;
        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()) {
            nameLoctoken_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string name_loctoken = 5 [(.localized) = true];
       * @return The bytes for nameLoctoken.
       */
      public com.google.protobuf.ByteString
          getNameLoctokenBytes() {
        java.lang.Object ref = nameLoctoken_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          nameLoctoken_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string name_loctoken = 5 [(.localized) = true];
       * @param value The nameLoctoken to set.
       * @return This builder for chaining.
       */
      public Builder setNameLoctoken(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        nameLoctoken_ = value;
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * optional string name_loctoken = 5 [(.localized) = true];
       * @return This builder for chaining.
       */
      public Builder clearNameLoctoken() {
        nameLoctoken_ = getDefaultInstance().getNameLoctoken();
        bitField0_ = (bitField0_ & ~0x00000010);
        onChanged();
        return this;
      }
      /**
       * optional string name_loctoken = 5 [(.localized) = true];
       * @param value The bytes for nameLoctoken to set.
       * @return This builder for chaining.
       */
      public Builder setNameLoctokenBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        nameLoctoken_ = value;
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }

      private java.lang.Object operation_ = "";
      /**
       * optional string operation = 7;
       * @return Whether the operation field is set.
       */
      public boolean hasOperation() {
        return ((bitField0_ & 0x00000020) != 0);
      }
      /**
       * optional string operation = 7;
       * @return The operation.
       */
      public java.lang.String getOperation() {
        java.lang.Object ref = operation_;
        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()) {
            operation_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string operation = 7;
       * @return The bytes for operation.
       */
      public com.google.protobuf.ByteString
          getOperationBytes() {
        java.lang.Object ref = operation_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          operation_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string operation = 7;
       * @param value The operation to set.
       * @return This builder for chaining.
       */
      public Builder setOperation(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        operation_ = value;
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * optional string operation = 7;
       * @return This builder for chaining.
       */
      public Builder clearOperation() {
        operation_ = getDefaultInstance().getOperation();
        bitField0_ = (bitField0_ & ~0x00000020);
        onChanged();
        return this;
      }
      /**
       * optional string operation = 7;
       * @param value The bytes for operation to set.
       * @return This builder for chaining.
       */
      public Builder setOperationBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        operation_ = value;
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria mmCriteria_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteriaOrBuilder> mmCriteriaBuilder_;
      /**
       * optional .CMsgQuestDef.MMCriteria mm_criteria = 8;
       * @return Whether the mmCriteria field is set.
       */
      public boolean hasMmCriteria() {
        return ((bitField0_ & 0x00000040) != 0);
      }
      /**
       * optional .CMsgQuestDef.MMCriteria mm_criteria = 8;
       * @return The mmCriteria.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria getMmCriteria() {
        if (mmCriteriaBuilder_ == null) {
          return mmCriteria_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria.getDefaultInstance() : mmCriteria_;
        } else {
          return mmCriteriaBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgQuestDef.MMCriteria mm_criteria = 8;
       */
      public Builder setMmCriteria(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria value) {
        if (mmCriteriaBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          mmCriteria_ = value;
        } else {
          mmCriteriaBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgQuestDef.MMCriteria mm_criteria = 8;
       */
      public Builder setMmCriteria(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria.Builder builderForValue) {
        if (mmCriteriaBuilder_ == null) {
          mmCriteria_ = builderForValue.build();
        } else {
          mmCriteriaBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgQuestDef.MMCriteria mm_criteria = 8;
       */
      public Builder mergeMmCriteria(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria value) {
        if (mmCriteriaBuilder_ == null) {
          if (((bitField0_ & 0x00000040) != 0) &&
            mmCriteria_ != null &&
            mmCriteria_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria.getDefaultInstance()) {
            getMmCriteriaBuilder().mergeFrom(value);
          } else {
            mmCriteria_ = value;
          }
        } else {
          mmCriteriaBuilder_.mergeFrom(value);
        }
        if (mmCriteria_ != null) {
          bitField0_ |= 0x00000040;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgQuestDef.MMCriteria mm_criteria = 8;
       */
      public Builder clearMmCriteria() {
        bitField0_ = (bitField0_ & ~0x00000040);
        mmCriteria_ = null;
        if (mmCriteriaBuilder_ != null) {
          mmCriteriaBuilder_.dispose();
          mmCriteriaBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgQuestDef.MMCriteria mm_criteria = 8;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria.Builder getMmCriteriaBuilder() {
        bitField0_ |= 0x00000040;
        onChanged();
        return getMmCriteriaFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgQuestDef.MMCriteria mm_criteria = 8;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteriaOrBuilder getMmCriteriaOrBuilder() {
        if (mmCriteriaBuilder_ != null) {
          return mmCriteriaBuilder_.getMessageOrBuilder();
        } else {
          return mmCriteria_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria.getDefaultInstance() : mmCriteria_;
        }
      }
      /**
       * optional .CMsgQuestDef.MMCriteria mm_criteria = 8;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteriaOrBuilder> 
          getMmCriteriaFieldBuilder() {
        if (mmCriteriaBuilder_ == null) {
          mmCriteriaBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteria.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.MMCriteriaOrBuilder>(
                  getMmCriteria(),
                  getParentForChildren(),
                  isClean());
          mmCriteria_ = null;
        }
        return mmCriteriaBuilder_;
      }

      private java.lang.Object nodeImage_ = "";
      /**
       * optional string node_image = 12 [(.display_name) = "Node Image", (.comment) = "Filename of the image to show on the node view"];
       * @return Whether the nodeImage field is set.
       */
      public boolean hasNodeImage() {
        return ((bitField0_ & 0x00000080) != 0);
      }
      /**
       * optional string node_image = 12 [(.display_name) = "Node Image", (.comment) = "Filename of the image to show on the node view"];
       * @return The nodeImage.
       */
      public java.lang.String getNodeImage() {
        java.lang.Object ref = nodeImage_;
        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()) {
            nodeImage_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string node_image = 12 [(.display_name) = "Node Image", (.comment) = "Filename of the image to show on the node view"];
       * @return The bytes for nodeImage.
       */
      public com.google.protobuf.ByteString
          getNodeImageBytes() {
        java.lang.Object ref = nodeImage_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          nodeImage_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string node_image = 12 [(.display_name) = "Node Image", (.comment) = "Filename of the image to show on the node view"];
       * @param value The nodeImage to set.
       * @return This builder for chaining.
       */
      public Builder setNodeImage(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        nodeImage_ = value;
        bitField0_ |= 0x00000080;
        onChanged();
        return this;
      }
      /**
       * optional string node_image = 12 [(.display_name) = "Node Image", (.comment) = "Filename of the image to show on the node view"];
       * @return This builder for chaining.
       */
      public Builder clearNodeImage() {
        nodeImage_ = getDefaultInstance().getNodeImage();
        bitField0_ = (bitField0_ & ~0x00000080);
        onChanged();
        return this;
      }
      /**
       * optional string node_image = 12 [(.display_name) = "Node Image", (.comment) = "Filename of the image to show on the node view"];
       * @param value The bytes for nodeImage to set.
       * @return This builder for chaining.
       */
      public Builder setNodeImageBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        nodeImage_ = value;
        bitField0_ |= 0x00000080;
        onChanged();
        return this;
      }

      private java.lang.Object iconImage_ = "";
      /**
       * optional string icon_image = 13 [(.display_name) = "Node Icon", (.comment) = "Which icon to show on the map"];
       * @return Whether the iconImage field is set.
       */
      public boolean hasIconImage() {
        return ((bitField0_ & 0x00000100) != 0);
      }
      /**
       * optional string icon_image = 13 [(.display_name) = "Node Icon", (.comment) = "Which icon to show on the map"];
       * @return The iconImage.
       */
      public java.lang.String getIconImage() {
        java.lang.Object ref = iconImage_;
        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()) {
            iconImage_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string icon_image = 13 [(.display_name) = "Node Icon", (.comment) = "Which icon to show on the map"];
       * @return The bytes for iconImage.
       */
      public com.google.protobuf.ByteString
          getIconImageBytes() {
        java.lang.Object ref = iconImage_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          iconImage_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string icon_image = 13 [(.display_name) = "Node Icon", (.comment) = "Which icon to show on the map"];
       * @param value The iconImage to set.
       * @return This builder for chaining.
       */
      public Builder setIconImage(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        iconImage_ = value;
        bitField0_ |= 0x00000100;
        onChanged();
        return this;
      }
      /**
       * optional string icon_image = 13 [(.display_name) = "Node Icon", (.comment) = "Which icon to show on the map"];
       * @return This builder for chaining.
       */
      public Builder clearIconImage() {
        iconImage_ = getDefaultInstance().getIconImage();
        bitField0_ = (bitField0_ & ~0x00000100);
        onChanged();
        return this;
      }
      /**
       * optional string icon_image = 13 [(.display_name) = "Node Icon", (.comment) = "Which icon to show on the map"];
       * @param value The bytes for iconImage to set.
       * @return This builder for chaining.
       */
      public Builder setIconImageBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        iconImage_ = value;
        bitField0_ |= 0x00000100;
        onChanged();
        return this;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID theme_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> themeBuilder_;
      /**
       * optional .CMsgProtoDefID theme = 14 [(.valid_type) = DEF_TYPE_QUEST_THEME];
       * @return Whether the theme field is set.
       */
      public boolean hasTheme() {
        return ((bitField0_ & 0x00000200) != 0);
      }
      /**
       * optional .CMsgProtoDefID theme = 14 [(.valid_type) = DEF_TYPE_QUEST_THEME];
       * @return The theme.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getTheme() {
        if (themeBuilder_ == null) {
          return theme_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : theme_;
        } else {
          return themeBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgProtoDefID theme = 14 [(.valid_type) = DEF_TYPE_QUEST_THEME];
       */
      public Builder setTheme(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
        if (themeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          theme_ = value;
        } else {
          themeBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000200;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgProtoDefID theme = 14 [(.valid_type) = DEF_TYPE_QUEST_THEME];
       */
      public Builder setTheme(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder builderForValue) {
        if (themeBuilder_ == null) {
          theme_ = builderForValue.build();
        } else {
          themeBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000200;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgProtoDefID theme = 14 [(.valid_type) = DEF_TYPE_QUEST_THEME];
       */
      public Builder mergeTheme(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
        if (themeBuilder_ == null) {
          if (((bitField0_ & 0x00000200) != 0) &&
            theme_ != null &&
            theme_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance()) {
            getThemeBuilder().mergeFrom(value);
          } else {
            theme_ = value;
          }
        } else {
          themeBuilder_.mergeFrom(value);
        }
        if (theme_ != null) {
          bitField0_ |= 0x00000200;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgProtoDefID theme = 14 [(.valid_type) = DEF_TYPE_QUEST_THEME];
       */
      public Builder clearTheme() {
        bitField0_ = (bitField0_ & ~0x00000200);
        theme_ = null;
        if (themeBuilder_ != null) {
          themeBuilder_.dispose();
          themeBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgProtoDefID theme = 14 [(.valid_type) = DEF_TYPE_QUEST_THEME];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder getThemeBuilder() {
        bitField0_ |= 0x00000200;
        onChanged();
        return getThemeFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgProtoDefID theme = 14 [(.valid_type) = DEF_TYPE_QUEST_THEME];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getThemeOrBuilder() {
        if (themeBuilder_ != null) {
          return themeBuilder_.getMessageOrBuilder();
        } else {
          return theme_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : theme_;
        }
      }
      /**
       * optional .CMsgProtoDefID theme = 14 [(.valid_type) = DEF_TYPE_QUEST_THEME];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> 
          getThemeFieldBuilder() {
        if (themeBuilder_ == null) {
          themeBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder>(
                  getTheme(),
                  getParentForChildren(),
                  isClean());
          theme_ = null;
        }
        return themeBuilder_;
      }

      private com.google.protobuf.LazyStringArrayList loanerNames_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
      private void ensureLoanerNamesIsMutable() {
        if (!loanerNames_.isModifiable()) {
          loanerNames_ = new com.google.protobuf.LazyStringArrayList(loanerNames_);
        }
        bitField0_ |= 0x00000400;
      }
      /**
       * repeated string loaner_names = 15 [(.display_name) = "Loaners", (.comment) = "Names of items to give as loaners"];
       * @return A list containing the loanerNames.
       */
      public com.google.protobuf.ProtocolStringList
          getLoanerNamesList() {
        loanerNames_.makeImmutable();
        return loanerNames_;
      }
      /**
       * repeated string loaner_names = 15 [(.display_name) = "Loaners", (.comment) = "Names of items to give as loaners"];
       * @return The count of loanerNames.
       */
      public int getLoanerNamesCount() {
        return loanerNames_.size();
      }
      /**
       * repeated string loaner_names = 15 [(.display_name) = "Loaners", (.comment) = "Names of items to give as loaners"];
       * @param index The index of the element to return.
       * @return The loanerNames at the given index.
       */
      public java.lang.String getLoanerNames(int index) {
        return loanerNames_.get(index);
      }
      /**
       * repeated string loaner_names = 15 [(.display_name) = "Loaners", (.comment) = "Names of items to give as loaners"];
       * @param index The index of the value to return.
       * @return The bytes of the loanerNames at the given index.
       */
      public com.google.protobuf.ByteString
          getLoanerNamesBytes(int index) {
        return loanerNames_.getByteString(index);
      }
      /**
       * repeated string loaner_names = 15 [(.display_name) = "Loaners", (.comment) = "Names of items to give as loaners"];
       * @param index The index to set the value at.
       * @param value The loanerNames to set.
       * @return This builder for chaining.
       */
      public Builder setLoanerNames(
          int index, java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureLoanerNamesIsMutable();
        loanerNames_.set(index, value);
        bitField0_ |= 0x00000400;
        onChanged();
        return this;
      }
      /**
       * repeated string loaner_names = 15 [(.display_name) = "Loaners", (.comment) = "Names of items to give as loaners"];
       * @param value The loanerNames to add.
       * @return This builder for chaining.
       */
      public Builder addLoanerNames(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureLoanerNamesIsMutable();
        loanerNames_.add(value);
        bitField0_ |= 0x00000400;
        onChanged();
        return this;
      }
      /**
       * repeated string loaner_names = 15 [(.display_name) = "Loaners", (.comment) = "Names of items to give as loaners"];
       * @param values The loanerNames to add.
       * @return This builder for chaining.
       */
      public Builder addAllLoanerNames(
          java.lang.Iterable values) {
        ensureLoanerNamesIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, loanerNames_);
        bitField0_ |= 0x00000400;
        onChanged();
        return this;
      }
      /**
       * repeated string loaner_names = 15 [(.display_name) = "Loaners", (.comment) = "Names of items to give as loaners"];
       * @return This builder for chaining.
       */
      public Builder clearLoanerNames() {
        loanerNames_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
        bitField0_ = (bitField0_ & ~0x00000400);;
        onChanged();
        return this;
      }
      /**
       * repeated string loaner_names = 15 [(.display_name) = "Loaners", (.comment) = "Names of items to give as loaners"];
       * @param value The bytes of the loanerNames to add.
       * @return This builder for chaining.
       */
      public Builder addLoanerNamesBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        ensureLoanerNamesIsMutable();
        loanerNames_.add(value);
        bitField0_ |= 0x00000400;
        onChanged();
        return this;
      }

      private java.util.List objectives_ =
        java.util.Collections.emptyList();
      private void ensureObjectivesIsMutable() {
        if (!((bitField0_ & 0x00000800) != 0)) {
          objectives_ = new java.util.ArrayList(objectives_);
          bitField0_ |= 0x00000800;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstanceOrBuilder> objectivesBuilder_;

      /**
       * repeated .CMsgQuestDef.ObjectiveInstance objectives = 16;
       */
      public java.util.List getObjectivesList() {
        if (objectivesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(objectives_);
        } else {
          return objectivesBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CMsgQuestDef.ObjectiveInstance objectives = 16;
       */
      public int getObjectivesCount() {
        if (objectivesBuilder_ == null) {
          return objectives_.size();
        } else {
          return objectivesBuilder_.getCount();
        }
      }
      /**
       * repeated .CMsgQuestDef.ObjectiveInstance objectives = 16;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance getObjectives(int index) {
        if (objectivesBuilder_ == null) {
          return objectives_.get(index);
        } else {
          return objectivesBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CMsgQuestDef.ObjectiveInstance objectives = 16;
       */
      public Builder setObjectives(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance value) {
        if (objectivesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureObjectivesIsMutable();
          objectives_.set(index, value);
          onChanged();
        } else {
          objectivesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgQuestDef.ObjectiveInstance objectives = 16;
       */
      public Builder setObjectives(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance.Builder builderForValue) {
        if (objectivesBuilder_ == null) {
          ensureObjectivesIsMutable();
          objectives_.set(index, builderForValue.build());
          onChanged();
        } else {
          objectivesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgQuestDef.ObjectiveInstance objectives = 16;
       */
      public Builder addObjectives(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance value) {
        if (objectivesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureObjectivesIsMutable();
          objectives_.add(value);
          onChanged();
        } else {
          objectivesBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CMsgQuestDef.ObjectiveInstance objectives = 16;
       */
      public Builder addObjectives(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance value) {
        if (objectivesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureObjectivesIsMutable();
          objectives_.add(index, value);
          onChanged();
        } else {
          objectivesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgQuestDef.ObjectiveInstance objectives = 16;
       */
      public Builder addObjectives(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance.Builder builderForValue) {
        if (objectivesBuilder_ == null) {
          ensureObjectivesIsMutable();
          objectives_.add(builderForValue.build());
          onChanged();
        } else {
          objectivesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgQuestDef.ObjectiveInstance objectives = 16;
       */
      public Builder addObjectives(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance.Builder builderForValue) {
        if (objectivesBuilder_ == null) {
          ensureObjectivesIsMutable();
          objectives_.add(index, builderForValue.build());
          onChanged();
        } else {
          objectivesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgQuestDef.ObjectiveInstance objectives = 16;
       */
      public Builder addAllObjectives(
          java.lang.Iterable values) {
        if (objectivesBuilder_ == null) {
          ensureObjectivesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, objectives_);
          onChanged();
        } else {
          objectivesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CMsgQuestDef.ObjectiveInstance objectives = 16;
       */
      public Builder clearObjectives() {
        if (objectivesBuilder_ == null) {
          objectives_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000800);
          onChanged();
        } else {
          objectivesBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CMsgQuestDef.ObjectiveInstance objectives = 16;
       */
      public Builder removeObjectives(int index) {
        if (objectivesBuilder_ == null) {
          ensureObjectivesIsMutable();
          objectives_.remove(index);
          onChanged();
        } else {
          objectivesBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CMsgQuestDef.ObjectiveInstance objectives = 16;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance.Builder getObjectivesBuilder(
          int index) {
        return getObjectivesFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CMsgQuestDef.ObjectiveInstance objectives = 16;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstanceOrBuilder getObjectivesOrBuilder(
          int index) {
        if (objectivesBuilder_ == null) {
          return objectives_.get(index);  } else {
          return objectivesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CMsgQuestDef.ObjectiveInstance objectives = 16;
       */
      public java.util.List 
           getObjectivesOrBuilderList() {
        if (objectivesBuilder_ != null) {
          return objectivesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(objectives_);
        }
      }
      /**
       * repeated .CMsgQuestDef.ObjectiveInstance objectives = 16;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance.Builder addObjectivesBuilder() {
        return getObjectivesFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance.getDefaultInstance());
      }
      /**
       * repeated .CMsgQuestDef.ObjectiveInstance objectives = 16;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance.Builder addObjectivesBuilder(
          int index) {
        return getObjectivesFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance.getDefaultInstance());
      }
      /**
       * repeated .CMsgQuestDef.ObjectiveInstance objectives = 16;
       */
      public java.util.List 
           getObjectivesBuilderList() {
        return getObjectivesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstanceOrBuilder> 
          getObjectivesFieldBuilder() {
        if (objectivesBuilder_ == null) {
          objectivesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstance.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestDef.ObjectiveInstanceOrBuilder>(
                  objectives_,
                  ((bitField0_ & 0x00000800) != 0),
                  getParentForChildren(),
                  isClean());
          objectives_ = null;
        }
        return objectivesBuilder_;
      }

      private com.google.protobuf.LazyStringArrayList map_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
      private void ensureMapIsMutable() {
        if (!map_.isModifiable()) {
          map_ = new com.google.protobuf.LazyStringArrayList(map_);
        }
        bitField0_ |= 0x00001000;
      }
      /**
       * repeated string map = 17 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
       * @return A list containing the map.
       */
      public com.google.protobuf.ProtocolStringList
          getMapList() {
        map_.makeImmutable();
        return map_;
      }
      /**
       * repeated string map = 17 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
       * @return The count of map.
       */
      public int getMapCount() {
        return map_.size();
      }
      /**
       * repeated string map = 17 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
       * @param index The index of the element to return.
       * @return The map at the given index.
       */
      public java.lang.String getMap(int index) {
        return map_.get(index);
      }
      /**
       * repeated string map = 17 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
       * @param index The index of the value to return.
       * @return The bytes of the map at the given index.
       */
      public com.google.protobuf.ByteString
          getMapBytes(int index) {
        return map_.getByteString(index);
      }
      /**
       * repeated string map = 17 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
       * @param index The index to set the value at.
       * @param value The map to set.
       * @return This builder for chaining.
       */
      public Builder setMap(
          int index, java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureMapIsMutable();
        map_.set(index, value);
        bitField0_ |= 0x00001000;
        onChanged();
        return this;
      }
      /**
       * repeated string map = 17 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
       * @param value The map to add.
       * @return This builder for chaining.
       */
      public Builder addMap(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        ensureMapIsMutable();
        map_.add(value);
        bitField0_ |= 0x00001000;
        onChanged();
        return this;
      }
      /**
       * repeated string map = 17 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
       * @param values The map to add.
       * @return This builder for chaining.
       */
      public Builder addAllMap(
          java.lang.Iterable values) {
        ensureMapIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, map_);
        bitField0_ |= 0x00001000;
        onChanged();
        return this;
      }
      /**
       * repeated string map = 17 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
       * @return This builder for chaining.
       */
      public Builder clearMap() {
        map_ =
          com.google.protobuf.LazyStringArrayList.emptyList();
        bitField0_ = (bitField0_ & ~0x00001000);;
        onChanged();
        return this;
      }
      /**
       * repeated string map = 17 [(.display_name) = "Maps Modifier", (.comment) = "If set, the player must be on one of the listed maps to get credit."];
       * @param value The bytes of the map to add.
       * @return This builder for chaining.
       */
      public Builder addMapBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        ensureMapIsMutable();
        map_.add(value);
        bitField0_ |= 0x00001000;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgQuestDef)
    }

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

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

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

  }

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

    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return Whether the header field is set.
     */
    boolean hasHeader();
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return The header.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader();
    /**
     * required .CMsgProtoDefHeader header = 1;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder();

    /**
     * optional string item_name = 2;
     * @return Whether the itemName field is set.
     */
    boolean hasItemName();
    /**
     * optional string item_name = 2;
     * @return The itemName.
     */
    java.lang.String getItemName();
    /**
     * optional string item_name = 2;
     * @return The bytes for itemName.
     */
    com.google.protobuf.ByteString
        getItemNameBytes();

    /**
     * optional string reward_lootlist_name = 6 [(.display_name) = "Reward Lootlist", (.comment) = "The name of the lootlist to roll as a reward"];
     * @return Whether the rewardLootlistName field is set.
     */
    boolean hasRewardLootlistName();
    /**
     * optional string reward_lootlist_name = 6 [(.display_name) = "Reward Lootlist", (.comment) = "The name of the lootlist to roll as a reward"];
     * @return The rewardLootlistName.
     */
    java.lang.String getRewardLootlistName();
    /**
     * optional string reward_lootlist_name = 6 [(.display_name) = "Reward Lootlist", (.comment) = "The name of the lootlist to roll as a reward"];
     * @return The bytes for rewardLootlistName.
     */
    com.google.protobuf.ByteString
        getRewardLootlistNameBytes();

    /**
     * optional .CMsgVarField price = 3 [(.var_field_type) = VAR_TYPE_SINT32];
     * @return Whether the price field is set.
     */
    boolean hasPrice();
    /**
     * optional .CMsgVarField price = 3 [(.var_field_type) = VAR_TYPE_SINT32];
     * @return The price.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getPrice();
    /**
     * optional .CMsgVarField price = 3 [(.var_field_type) = VAR_TYPE_SINT32];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getPriceOrBuilder();

    /**
     * optional uint32 purchase_limit = 4 [(.display_name) = "Purchase Limit", (.comment) = "How many times this reward can be purchased"];
     * @return Whether the purchaseLimit field is set.
     */
    boolean hasPurchaseLimit();
    /**
     * optional uint32 purchase_limit = 4 [(.display_name) = "Purchase Limit", (.comment) = "How many times this reward can be purchased"];
     * @return The purchaseLimit.
     */
    int getPurchaseLimit();

    /**
     * optional uint32 sort_group = 5 [(.display_name) = "Sort group", (.comment) = "Sort by this group, then alhpabetically"];
     * @return Whether the sortGroup field is set.
     */
    boolean hasSortGroup();
    /**
     * optional uint32 sort_group = 5 [(.display_name) = "Sort group", (.comment) = "Sort by this group, then alhpabetically"];
     * @return The sortGroup.
     */
    int getSortGroup();
  }
  /**
   * Protobuf type {@code CMsgQuestMapStoreItem}
   */
  public static final class CMsgQuestMapStoreItem extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgQuestMapStoreItem)
      CMsgQuestMapStoreItemOrBuilder {
  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= */ "",
        CMsgQuestMapStoreItem.class.getName());
    }
    // Use CMsgQuestMapStoreItem.newBuilder() to construct.
    private CMsgQuestMapStoreItem(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgQuestMapStoreItem() {
      itemName_ = "";
      rewardLootlistName_ = "";
    }

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

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

    private int bitField0_;
    public static final int HEADER_FIELD_NUMBER = 1;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader header_;
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return Whether the header field is set.
     */
    @java.lang.Override
    public boolean hasHeader() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return The header.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader() {
      return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
    }
    /**
     * required .CMsgProtoDefHeader header = 1;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder() {
      return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
    }

    public static final int ITEM_NAME_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private volatile java.lang.Object itemName_ = "";
    /**
     * optional string item_name = 2;
     * @return Whether the itemName field is set.
     */
    @java.lang.Override
    public boolean hasItemName() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional string item_name = 2;
     * @return The itemName.
     */
    @java.lang.Override
    public java.lang.String getItemName() {
      java.lang.Object ref = itemName_;
      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()) {
          itemName_ = s;
        }
        return s;
      }
    }
    /**
     * optional string item_name = 2;
     * @return The bytes for itemName.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getItemNameBytes() {
      java.lang.Object ref = itemName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        itemName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int REWARD_LOOTLIST_NAME_FIELD_NUMBER = 6;
    @SuppressWarnings("serial")
    private volatile java.lang.Object rewardLootlistName_ = "";
    /**
     * optional string reward_lootlist_name = 6 [(.display_name) = "Reward Lootlist", (.comment) = "The name of the lootlist to roll as a reward"];
     * @return Whether the rewardLootlistName field is set.
     */
    @java.lang.Override
    public boolean hasRewardLootlistName() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional string reward_lootlist_name = 6 [(.display_name) = "Reward Lootlist", (.comment) = "The name of the lootlist to roll as a reward"];
     * @return The rewardLootlistName.
     */
    @java.lang.Override
    public java.lang.String getRewardLootlistName() {
      java.lang.Object ref = rewardLootlistName_;
      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()) {
          rewardLootlistName_ = s;
        }
        return s;
      }
    }
    /**
     * optional string reward_lootlist_name = 6 [(.display_name) = "Reward Lootlist", (.comment) = "The name of the lootlist to roll as a reward"];
     * @return The bytes for rewardLootlistName.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getRewardLootlistNameBytes() {
      java.lang.Object ref = rewardLootlistName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        rewardLootlistName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PRICE_FIELD_NUMBER = 3;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField price_;
    /**
     * optional .CMsgVarField price = 3 [(.var_field_type) = VAR_TYPE_SINT32];
     * @return Whether the price field is set.
     */
    @java.lang.Override
    public boolean hasPrice() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional .CMsgVarField price = 3 [(.var_field_type) = VAR_TYPE_SINT32];
     * @return The price.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getPrice() {
      return price_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : price_;
    }
    /**
     * optional .CMsgVarField price = 3 [(.var_field_type) = VAR_TYPE_SINT32];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getPriceOrBuilder() {
      return price_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : price_;
    }

    public static final int PURCHASE_LIMIT_FIELD_NUMBER = 4;
    private int purchaseLimit_ = 0;
    /**
     * optional uint32 purchase_limit = 4 [(.display_name) = "Purchase Limit", (.comment) = "How many times this reward can be purchased"];
     * @return Whether the purchaseLimit field is set.
     */
    @java.lang.Override
    public boolean hasPurchaseLimit() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * optional uint32 purchase_limit = 4 [(.display_name) = "Purchase Limit", (.comment) = "How many times this reward can be purchased"];
     * @return The purchaseLimit.
     */
    @java.lang.Override
    public int getPurchaseLimit() {
      return purchaseLimit_;
    }

    public static final int SORT_GROUP_FIELD_NUMBER = 5;
    private int sortGroup_ = 0;
    /**
     * optional uint32 sort_group = 5 [(.display_name) = "Sort group", (.comment) = "Sort by this group, then alhpabetically"];
     * @return Whether the sortGroup field is set.
     */
    @java.lang.Override
    public boolean hasSortGroup() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * optional uint32 sort_group = 5 [(.display_name) = "Sort group", (.comment) = "Sort by this group, then alhpabetically"];
     * @return The sortGroup.
     */
    @java.lang.Override
    public int getSortGroup() {
      return sortGroup_;
    }

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

      if (!hasHeader()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getHeader().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getHeader());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 2, itemName_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeMessage(3, getPrice());
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        output.writeUInt32(4, purchaseLimit_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        output.writeUInt32(5, sortGroup_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 6, rewardLootlistName_);
      }
      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
          .computeMessageSize(1, getHeader());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(2, itemName_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getPrice());
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, purchaseLimit_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(5, sortGroup_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(6, rewardLootlistName_);
      }
      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.TfProtoDefMessages.CMsgQuestMapStoreItem)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapStoreItem other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapStoreItem) obj;

      if (hasHeader() != other.hasHeader()) return false;
      if (hasHeader()) {
        if (!getHeader()
            .equals(other.getHeader())) return false;
      }
      if (hasItemName() != other.hasItemName()) return false;
      if (hasItemName()) {
        if (!getItemName()
            .equals(other.getItemName())) return false;
      }
      if (hasRewardLootlistName() != other.hasRewardLootlistName()) return false;
      if (hasRewardLootlistName()) {
        if (!getRewardLootlistName()
            .equals(other.getRewardLootlistName())) return false;
      }
      if (hasPrice() != other.hasPrice()) return false;
      if (hasPrice()) {
        if (!getPrice()
            .equals(other.getPrice())) return false;
      }
      if (hasPurchaseLimit() != other.hasPurchaseLimit()) return false;
      if (hasPurchaseLimit()) {
        if (getPurchaseLimit()
            != other.getPurchaseLimit()) return false;
      }
      if (hasSortGroup() != other.hasSortGroup()) return false;
      if (hasSortGroup()) {
        if (getSortGroup()
            != other.getSortGroup()) 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 (hasHeader()) {
        hash = (37 * hash) + HEADER_FIELD_NUMBER;
        hash = (53 * hash) + getHeader().hashCode();
      }
      if (hasItemName()) {
        hash = (37 * hash) + ITEM_NAME_FIELD_NUMBER;
        hash = (53 * hash) + getItemName().hashCode();
      }
      if (hasRewardLootlistName()) {
        hash = (37 * hash) + REWARD_LOOTLIST_NAME_FIELD_NUMBER;
        hash = (53 * hash) + getRewardLootlistName().hashCode();
      }
      if (hasPrice()) {
        hash = (37 * hash) + PRICE_FIELD_NUMBER;
        hash = (53 * hash) + getPrice().hashCode();
      }
      if (hasPurchaseLimit()) {
        hash = (37 * hash) + PURCHASE_LIMIT_FIELD_NUMBER;
        hash = (53 * hash) + getPurchaseLimit();
      }
      if (hasSortGroup()) {
        hash = (37 * hash) + SORT_GROUP_FIELD_NUMBER;
        hash = (53 * hash) + getSortGroup();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapStoreItem parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapStoreItem 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.TfProtoDefMessages.CMsgQuestMapStoreItem parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapStoreItem 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.TfProtoDefMessages.CMsgQuestMapStoreItem parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapStoreItem 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.TfProtoDefMessages.CMsgQuestMapStoreItem parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapStoreItem 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.TfProtoDefMessages.CMsgQuestMapStoreItem parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapStoreItem 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.TfProtoDefMessages.CMsgQuestMapStoreItem 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.TfProtoDefMessages.CMsgQuestMapStoreItem 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.TfProtoDefMessages.CMsgQuestMapStoreItem 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 CMsgQuestMapStoreItem}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgQuestMapStoreItem)
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapStoreItemOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgQuestMapStoreItem_descriptor;
      }

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

      // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapStoreItem.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage
                .alwaysUseFieldBuilders) {
          getHeaderFieldBuilder();
          getPriceFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        header_ = null;
        if (headerBuilder_ != null) {
          headerBuilder_.dispose();
          headerBuilder_ = null;
        }
        itemName_ = "";
        rewardLootlistName_ = "";
        price_ = null;
        if (priceBuilder_ != null) {
          priceBuilder_.dispose();
          priceBuilder_ = null;
        }
        purchaseLimit_ = 0;
        sortGroup_ = 0;
        return this;
      }

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

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

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

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

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapStoreItem result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.header_ = headerBuilder_ == null
              ? header_
              : headerBuilder_.build();
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.itemName_ = itemName_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.rewardLootlistName_ = rewardLootlistName_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.price_ = priceBuilder_ == null
              ? price_
              : priceBuilder_.build();
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.purchaseLimit_ = purchaseLimit_;
          to_bitField0_ |= 0x00000010;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          result.sortGroup_ = sortGroup_;
          to_bitField0_ |= 0x00000020;
        }
        result.bitField0_ |= to_bitField0_;
      }

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

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapStoreItem other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapStoreItem.getDefaultInstance()) return this;
        if (other.hasHeader()) {
          mergeHeader(other.getHeader());
        }
        if (other.hasItemName()) {
          itemName_ = other.itemName_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        if (other.hasRewardLootlistName()) {
          rewardLootlistName_ = other.rewardLootlistName_;
          bitField0_ |= 0x00000004;
          onChanged();
        }
        if (other.hasPrice()) {
          mergePrice(other.getPrice());
        }
        if (other.hasPurchaseLimit()) {
          setPurchaseLimit(other.getPurchaseLimit());
        }
        if (other.hasSortGroup()) {
          setSortGroup(other.getSortGroup());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasHeader()) {
          return false;
        }
        if (!getHeader().isInitialized()) {
          return false;
        }
        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: {
                input.readMessage(
                    getHeaderFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 18: {
                itemName_ = input.readBytes();
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              case 26: {
                input.readMessage(
                    getPriceFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000008;
                break;
              } // case 26
              case 32: {
                purchaseLimit_ = input.readUInt32();
                bitField0_ |= 0x00000010;
                break;
              } // case 32
              case 40: {
                sortGroup_ = input.readUInt32();
                bitField0_ |= 0x00000020;
                break;
              } // case 40
              case 50: {
                rewardLootlistName_ = input.readBytes();
                bitField0_ |= 0x00000004;
                break;
              } // case 50
              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 in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader header_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder> headerBuilder_;
      /**
       * required .CMsgProtoDefHeader header = 1;
       * @return Whether the header field is set.
       */
      public boolean hasHeader() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       * @return The header.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader() {
        if (headerBuilder_ == null) {
          return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
        } else {
          return headerBuilder_.getMessage();
        }
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder setHeader(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader value) {
        if (headerBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          header_ = value;
        } else {
          headerBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder setHeader(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder builderForValue) {
        if (headerBuilder_ == null) {
          header_ = builderForValue.build();
        } else {
          headerBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder mergeHeader(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader value) {
        if (headerBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
            header_ != null &&
            header_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance()) {
            getHeaderBuilder().mergeFrom(value);
          } else {
            header_ = value;
          }
        } else {
          headerBuilder_.mergeFrom(value);
        }
        if (header_ != null) {
          bitField0_ |= 0x00000001;
          onChanged();
        }
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder clearHeader() {
        bitField0_ = (bitField0_ & ~0x00000001);
        header_ = null;
        if (headerBuilder_ != null) {
          headerBuilder_.dispose();
          headerBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder getHeaderBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getHeaderFieldBuilder().getBuilder();
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder() {
        if (headerBuilder_ != null) {
          return headerBuilder_.getMessageOrBuilder();
        } else {
          return header_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
        }
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder> 
          getHeaderFieldBuilder() {
        if (headerBuilder_ == null) {
          headerBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder>(
                  getHeader(),
                  getParentForChildren(),
                  isClean());
          header_ = null;
        }
        return headerBuilder_;
      }

      private java.lang.Object itemName_ = "";
      /**
       * optional string item_name = 2;
       * @return Whether the itemName field is set.
       */
      public boolean hasItemName() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional string item_name = 2;
       * @return The itemName.
       */
      public java.lang.String getItemName() {
        java.lang.Object ref = itemName_;
        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()) {
            itemName_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string item_name = 2;
       * @return The bytes for itemName.
       */
      public com.google.protobuf.ByteString
          getItemNameBytes() {
        java.lang.Object ref = itemName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          itemName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string item_name = 2;
       * @param value The itemName to set.
       * @return This builder for chaining.
       */
      public Builder setItemName(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        itemName_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional string item_name = 2;
       * @return This builder for chaining.
       */
      public Builder clearItemName() {
        itemName_ = getDefaultInstance().getItemName();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * optional string item_name = 2;
       * @param value The bytes for itemName to set.
       * @return This builder for chaining.
       */
      public Builder setItemNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        itemName_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      private java.lang.Object rewardLootlistName_ = "";
      /**
       * optional string reward_lootlist_name = 6 [(.display_name) = "Reward Lootlist", (.comment) = "The name of the lootlist to roll as a reward"];
       * @return Whether the rewardLootlistName field is set.
       */
      public boolean hasRewardLootlistName() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional string reward_lootlist_name = 6 [(.display_name) = "Reward Lootlist", (.comment) = "The name of the lootlist to roll as a reward"];
       * @return The rewardLootlistName.
       */
      public java.lang.String getRewardLootlistName() {
        java.lang.Object ref = rewardLootlistName_;
        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()) {
            rewardLootlistName_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string reward_lootlist_name = 6 [(.display_name) = "Reward Lootlist", (.comment) = "The name of the lootlist to roll as a reward"];
       * @return The bytes for rewardLootlistName.
       */
      public com.google.protobuf.ByteString
          getRewardLootlistNameBytes() {
        java.lang.Object ref = rewardLootlistName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          rewardLootlistName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string reward_lootlist_name = 6 [(.display_name) = "Reward Lootlist", (.comment) = "The name of the lootlist to roll as a reward"];
       * @param value The rewardLootlistName to set.
       * @return This builder for chaining.
       */
      public Builder setRewardLootlistName(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        rewardLootlistName_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional string reward_lootlist_name = 6 [(.display_name) = "Reward Lootlist", (.comment) = "The name of the lootlist to roll as a reward"];
       * @return This builder for chaining.
       */
      public Builder clearRewardLootlistName() {
        rewardLootlistName_ = getDefaultInstance().getRewardLootlistName();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }
      /**
       * optional string reward_lootlist_name = 6 [(.display_name) = "Reward Lootlist", (.comment) = "The name of the lootlist to roll as a reward"];
       * @param value The bytes for rewardLootlistName to set.
       * @return This builder for chaining.
       */
      public Builder setRewardLootlistNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        rewardLootlistName_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField price_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> priceBuilder_;
      /**
       * optional .CMsgVarField price = 3 [(.var_field_type) = VAR_TYPE_SINT32];
       * @return Whether the price field is set.
       */
      public boolean hasPrice() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional .CMsgVarField price = 3 [(.var_field_type) = VAR_TYPE_SINT32];
       * @return The price.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getPrice() {
        if (priceBuilder_ == null) {
          return price_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : price_;
        } else {
          return priceBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField price = 3 [(.var_field_type) = VAR_TYPE_SINT32];
       */
      public Builder setPrice(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (priceBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          price_ = value;
        } else {
          priceBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField price = 3 [(.var_field_type) = VAR_TYPE_SINT32];
       */
      public Builder setPrice(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (priceBuilder_ == null) {
          price_ = builderForValue.build();
        } else {
          priceBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField price = 3 [(.var_field_type) = VAR_TYPE_SINT32];
       */
      public Builder mergePrice(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (priceBuilder_ == null) {
          if (((bitField0_ & 0x00000008) != 0) &&
            price_ != null &&
            price_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getPriceBuilder().mergeFrom(value);
          } else {
            price_ = value;
          }
        } else {
          priceBuilder_.mergeFrom(value);
        }
        if (price_ != null) {
          bitField0_ |= 0x00000008;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField price = 3 [(.var_field_type) = VAR_TYPE_SINT32];
       */
      public Builder clearPrice() {
        bitField0_ = (bitField0_ & ~0x00000008);
        price_ = null;
        if (priceBuilder_ != null) {
          priceBuilder_.dispose();
          priceBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField price = 3 [(.var_field_type) = VAR_TYPE_SINT32];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getPriceBuilder() {
        bitField0_ |= 0x00000008;
        onChanged();
        return getPriceFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField price = 3 [(.var_field_type) = VAR_TYPE_SINT32];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getPriceOrBuilder() {
        if (priceBuilder_ != null) {
          return priceBuilder_.getMessageOrBuilder();
        } else {
          return price_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : price_;
        }
      }
      /**
       * optional .CMsgVarField price = 3 [(.var_field_type) = VAR_TYPE_SINT32];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getPriceFieldBuilder() {
        if (priceBuilder_ == null) {
          priceBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getPrice(),
                  getParentForChildren(),
                  isClean());
          price_ = null;
        }
        return priceBuilder_;
      }

      private int purchaseLimit_ ;
      /**
       * optional uint32 purchase_limit = 4 [(.display_name) = "Purchase Limit", (.comment) = "How many times this reward can be purchased"];
       * @return Whether the purchaseLimit field is set.
       */
      @java.lang.Override
      public boolean hasPurchaseLimit() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * optional uint32 purchase_limit = 4 [(.display_name) = "Purchase Limit", (.comment) = "How many times this reward can be purchased"];
       * @return The purchaseLimit.
       */
      @java.lang.Override
      public int getPurchaseLimit() {
        return purchaseLimit_;
      }
      /**
       * optional uint32 purchase_limit = 4 [(.display_name) = "Purchase Limit", (.comment) = "How many times this reward can be purchased"];
       * @param value The purchaseLimit to set.
       * @return This builder for chaining.
       */
      public Builder setPurchaseLimit(int value) {

        purchaseLimit_ = value;
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * optional uint32 purchase_limit = 4 [(.display_name) = "Purchase Limit", (.comment) = "How many times this reward can be purchased"];
       * @return This builder for chaining.
       */
      public Builder clearPurchaseLimit() {
        bitField0_ = (bitField0_ & ~0x00000010);
        purchaseLimit_ = 0;
        onChanged();
        return this;
      }

      private int sortGroup_ ;
      /**
       * optional uint32 sort_group = 5 [(.display_name) = "Sort group", (.comment) = "Sort by this group, then alhpabetically"];
       * @return Whether the sortGroup field is set.
       */
      @java.lang.Override
      public boolean hasSortGroup() {
        return ((bitField0_ & 0x00000020) != 0);
      }
      /**
       * optional uint32 sort_group = 5 [(.display_name) = "Sort group", (.comment) = "Sort by this group, then alhpabetically"];
       * @return The sortGroup.
       */
      @java.lang.Override
      public int getSortGroup() {
        return sortGroup_;
      }
      /**
       * optional uint32 sort_group = 5 [(.display_name) = "Sort group", (.comment) = "Sort by this group, then alhpabetically"];
       * @param value The sortGroup to set.
       * @return This builder for chaining.
       */
      public Builder setSortGroup(int value) {

        sortGroup_ = value;
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * optional uint32 sort_group = 5 [(.display_name) = "Sort group", (.comment) = "Sort by this group, then alhpabetically"];
       * @return This builder for chaining.
       */
      public Builder clearSortGroup() {
        bitField0_ = (bitField0_ & ~0x00000020);
        sortGroup_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgQuestMapStoreItem)
    }

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

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

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

  }

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

    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return Whether the header field is set.
     */
    boolean hasHeader();
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return The header.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader();
    /**
     * required .CMsgProtoDefHeader header = 1;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder();

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

    /**
     * optional string resfile = 3;
     * @return Whether the resfile field is set.
     */
    boolean hasResfile();
    /**
     * optional string resfile = 3;
     * @return The resfile.
     */
    java.lang.String getResfile();
    /**
     * optional string resfile = 3;
     * @return The bytes for resfile.
     */
    com.google.protobuf.ByteString
        getResfileBytes();

    /**
     * repeated .CMsgQuestMapRegionDef.RegionLink links = 4;
     */
    java.util.List 
        getLinksList();
    /**
     * repeated .CMsgQuestMapRegionDef.RegionLink links = 4;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink getLinks(int index);
    /**
     * repeated .CMsgQuestMapRegionDef.RegionLink links = 4;
     */
    int getLinksCount();
    /**
     * repeated .CMsgQuestMapRegionDef.RegionLink links = 4;
     */
    java.util.List 
        getLinksOrBuilderList();
    /**
     * repeated .CMsgQuestMapRegionDef.RegionLink links = 4;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLinkOrBuilder getLinksOrBuilder(
        int index);

    /**
     * optional .CMsgProtoDefID return_link = 5 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION, (.display_name) = "Return Link", (.comment) = "Which link we go to when right-clicking in this region"];
     * @return Whether the returnLink field is set.
     */
    boolean hasReturnLink();
    /**
     * optional .CMsgProtoDefID return_link = 5 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION, (.display_name) = "Return Link", (.comment) = "Which link we go to when right-clicking in this region"];
     * @return The returnLink.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getReturnLink();
    /**
     * optional .CMsgProtoDefID return_link = 5 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION, (.display_name) = "Return Link", (.comment) = "Which link we go to when right-clicking in this region"];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getReturnLinkOrBuilder();

    /**
     * optional float radio_freq = 6 [(.display_name) = "Radio Freq.", (.comment) = "Where the radio tuner goes on the CYOA PDA when this region is selection"];
     * @return Whether the radioFreq field is set.
     */
    boolean hasRadioFreq();
    /**
     * optional float radio_freq = 6 [(.display_name) = "Radio Freq.", (.comment) = "Where the radio tuner goes on the CYOA PDA when this region is selection"];
     * @return The radioFreq.
     */
    float getRadioFreq();

    /**
     * optional float zoom_scale = 7 [(.display_name) = "Zoom Scale", (.comment) = "How zoomed in this panel should be.  Affects the scale of the map grid lines and node link dashed lines"];
     * @return Whether the zoomScale field is set.
     */
    boolean hasZoomScale();
    /**
     * optional float zoom_scale = 7 [(.display_name) = "Zoom Scale", (.comment) = "How zoomed in this panel should be.  Affects the scale of the map grid lines and node link dashed lines"];
     * @return The zoomScale.
     */
    float getZoomScale();

    /**
     * optional .CMsgProtoDefID star_type = 8 [(.valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (.display_name) = "Star Type", (.comment) = "What stars (if any) the nodes within use to unlock"];
     * @return Whether the starType field is set.
     */
    boolean hasStarType();
    /**
     * optional .CMsgProtoDefID star_type = 8 [(.valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (.display_name) = "Star Type", (.comment) = "What stars (if any) the nodes within use to unlock"];
     * @return The starType.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getStarType();
    /**
     * optional .CMsgProtoDefID star_type = 8 [(.valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (.display_name) = "Star Type", (.comment) = "What stars (if any) the nodes within use to unlock"];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getStarTypeOrBuilder();
  }
  /**
   * Protobuf type {@code CMsgQuestMapRegionDef}
   */
  public static final class CMsgQuestMapRegionDef extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgQuestMapRegionDef)
      CMsgQuestMapRegionDefOrBuilder {
  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= */ "",
        CMsgQuestMapRegionDef.class.getName());
    }
    // Use CMsgQuestMapRegionDef.newBuilder() to construct.
    private CMsgQuestMapRegionDef(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgQuestMapRegionDef() {
      name_ = "";
      resfile_ = "";
      links_ = java.util.Collections.emptyList();
    }

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

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

    public interface RegionLinkOrBuilder extends
        // @@protoc_insertion_point(interface_extends:CMsgQuestMapRegionDef.RegionLink)
        com.google.protobuf.MessageOrBuilder {

      /**
       * required .CMsgProtoDefID target_region_defid = 1 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION];
       * @return Whether the targetRegionDefid field is set.
       */
      boolean hasTargetRegionDefid();
      /**
       * required .CMsgProtoDefID target_region_defid = 1 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION];
       * @return The targetRegionDefid.
       */
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getTargetRegionDefid();
      /**
       * required .CMsgProtoDefID target_region_defid = 1 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION];
       */
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getTargetRegionDefidOrBuilder();

      /**
       * optional uint32 xpos = 2;
       * @return Whether the xpos field is set.
       */
      boolean hasXpos();
      /**
       * optional uint32 xpos = 2;
       * @return The xpos.
       */
      int getXpos();

      /**
       * optional uint32 ypos = 3;
       * @return Whether the ypos field is set.
       */
      boolean hasYpos();
      /**
       * optional uint32 ypos = 3;
       * @return The ypos.
       */
      int getYpos();
    }
    /**
     * Protobuf type {@code CMsgQuestMapRegionDef.RegionLink}
     */
    public static final class RegionLink extends
        com.google.protobuf.GeneratedMessage implements
        // @@protoc_insertion_point(message_implements:CMsgQuestMapRegionDef.RegionLink)
        RegionLinkOrBuilder {
    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= */ "",
          RegionLink.class.getName());
      }
      // Use RegionLink.newBuilder() to construct.
      private RegionLink(com.google.protobuf.GeneratedMessage.Builder builder) {
        super(builder);
      }
      private RegionLink() {
      }

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

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgQuestMapRegionDef_RegionLink_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink.class, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink.Builder.class);
      }

      private int bitField0_;
      public static final int TARGET_REGION_DEFID_FIELD_NUMBER = 1;
      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID targetRegionDefid_;
      /**
       * required .CMsgProtoDefID target_region_defid = 1 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION];
       * @return Whether the targetRegionDefid field is set.
       */
      @java.lang.Override
      public boolean hasTargetRegionDefid() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * required .CMsgProtoDefID target_region_defid = 1 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION];
       * @return The targetRegionDefid.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getTargetRegionDefid() {
        return targetRegionDefid_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : targetRegionDefid_;
      }
      /**
       * required .CMsgProtoDefID target_region_defid = 1 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION];
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getTargetRegionDefidOrBuilder() {
        return targetRegionDefid_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : targetRegionDefid_;
      }

      public static final int XPOS_FIELD_NUMBER = 2;
      private int xpos_ = 0;
      /**
       * optional uint32 xpos = 2;
       * @return Whether the xpos field is set.
       */
      @java.lang.Override
      public boolean hasXpos() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint32 xpos = 2;
       * @return The xpos.
       */
      @java.lang.Override
      public int getXpos() {
        return xpos_;
      }

      public static final int YPOS_FIELD_NUMBER = 3;
      private int ypos_ = 0;
      /**
       * optional uint32 ypos = 3;
       * @return Whether the ypos field is set.
       */
      @java.lang.Override
      public boolean hasYpos() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional uint32 ypos = 3;
       * @return The ypos.
       */
      @java.lang.Override
      public int getYpos() {
        return ypos_;
      }

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

        if (!hasTargetRegionDefid()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getTargetRegionDefid().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeMessage(1, getTargetRegionDefid());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeUInt32(2, xpos_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          output.writeUInt32(3, ypos_);
        }
        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
            .computeMessageSize(1, getTargetRegionDefid());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(2, xpos_);
        }
        if (((bitField0_ & 0x00000004) != 0)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(3, ypos_);
        }
        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.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink)) {
          return super.equals(obj);
        }
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink) obj;

        if (hasTargetRegionDefid() != other.hasTargetRegionDefid()) return false;
        if (hasTargetRegionDefid()) {
          if (!getTargetRegionDefid()
              .equals(other.getTargetRegionDefid())) return false;
        }
        if (hasXpos() != other.hasXpos()) return false;
        if (hasXpos()) {
          if (getXpos()
              != other.getXpos()) return false;
        }
        if (hasYpos() != other.hasYpos()) return false;
        if (hasYpos()) {
          if (getYpos()
              != other.getYpos()) 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 (hasTargetRegionDefid()) {
          hash = (37 * hash) + TARGET_REGION_DEFID_FIELD_NUMBER;
          hash = (53 * hash) + getTargetRegionDefid().hashCode();
        }
        if (hasXpos()) {
          hash = (37 * hash) + XPOS_FIELD_NUMBER;
          hash = (53 * hash) + getXpos();
        }
        if (hasYpos()) {
          hash = (37 * hash) + YPOS_FIELD_NUMBER;
          hash = (53 * hash) + getYpos();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink 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.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink 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.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink 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.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseWithIOException(PARSER, input);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink 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.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink 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.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink 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.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink 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.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink 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 CMsgQuestMapRegionDef.RegionLink}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder implements
          // @@protoc_insertion_point(builder_implements:CMsgQuestMapRegionDef.RegionLink)
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLinkOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgQuestMapRegionDef_RegionLink_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgQuestMapRegionDef_RegionLink_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink.class, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink.Builder.class);
        }

        // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage
                  .alwaysUseFieldBuilders) {
            getTargetRegionDefidFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          targetRegionDefid_ = null;
          if (targetRegionDefidBuilder_ != null) {
            targetRegionDefidBuilder_.dispose();
            targetRegionDefidBuilder_ = null;
          }
          xpos_ = 0;
          ypos_ = 0;
          return this;
        }

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

        @java.lang.Override
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink getDefaultInstanceForType() {
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink.getDefaultInstance();
        }

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

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

        private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.targetRegionDefid_ = targetRegionDefidBuilder_ == null
                ? targetRegionDefid_
                : targetRegionDefidBuilder_.build();
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.xpos_ = xpos_;
            to_bitField0_ |= 0x00000002;
          }
          if (((from_bitField0_ & 0x00000004) != 0)) {
            result.ypos_ = ypos_;
            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.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink) {
            return mergeFrom((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink other) {
          if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink.getDefaultInstance()) return this;
          if (other.hasTargetRegionDefid()) {
            mergeTargetRegionDefid(other.getTargetRegionDefid());
          }
          if (other.hasXpos()) {
            setXpos(other.getXpos());
          }
          if (other.hasYpos()) {
            setYpos(other.getYpos());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasTargetRegionDefid()) {
            return false;
          }
          if (!getTargetRegionDefid().isInitialized()) {
            return false;
          }
          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: {
                  input.readMessage(
                      getTargetRegionDefidFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 16: {
                  xpos_ = input.readUInt32();
                  bitField0_ |= 0x00000002;
                  break;
                } // case 16
                case 24: {
                  ypos_ = 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 in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID targetRegionDefid_;
        private com.google.protobuf.SingleFieldBuilder<
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> targetRegionDefidBuilder_;
        /**
         * required .CMsgProtoDefID target_region_defid = 1 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION];
         * @return Whether the targetRegionDefid field is set.
         */
        public boolean hasTargetRegionDefid() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * required .CMsgProtoDefID target_region_defid = 1 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION];
         * @return The targetRegionDefid.
         */
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getTargetRegionDefid() {
          if (targetRegionDefidBuilder_ == null) {
            return targetRegionDefid_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : targetRegionDefid_;
          } else {
            return targetRegionDefidBuilder_.getMessage();
          }
        }
        /**
         * required .CMsgProtoDefID target_region_defid = 1 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION];
         */
        public Builder setTargetRegionDefid(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
          if (targetRegionDefidBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            targetRegionDefid_ = value;
          } else {
            targetRegionDefidBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * required .CMsgProtoDefID target_region_defid = 1 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION];
         */
        public Builder setTargetRegionDefid(
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder builderForValue) {
          if (targetRegionDefidBuilder_ == null) {
            targetRegionDefid_ = builderForValue.build();
          } else {
            targetRegionDefidBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * required .CMsgProtoDefID target_region_defid = 1 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION];
         */
        public Builder mergeTargetRegionDefid(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
          if (targetRegionDefidBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0) &&
              targetRegionDefid_ != null &&
              targetRegionDefid_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance()) {
              getTargetRegionDefidBuilder().mergeFrom(value);
            } else {
              targetRegionDefid_ = value;
            }
          } else {
            targetRegionDefidBuilder_.mergeFrom(value);
          }
          if (targetRegionDefid_ != null) {
            bitField0_ |= 0x00000001;
            onChanged();
          }
          return this;
        }
        /**
         * required .CMsgProtoDefID target_region_defid = 1 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION];
         */
        public Builder clearTargetRegionDefid() {
          bitField0_ = (bitField0_ & ~0x00000001);
          targetRegionDefid_ = null;
          if (targetRegionDefidBuilder_ != null) {
            targetRegionDefidBuilder_.dispose();
            targetRegionDefidBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * required .CMsgProtoDefID target_region_defid = 1 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION];
         */
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder getTargetRegionDefidBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getTargetRegionDefidFieldBuilder().getBuilder();
        }
        /**
         * required .CMsgProtoDefID target_region_defid = 1 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION];
         */
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getTargetRegionDefidOrBuilder() {
          if (targetRegionDefidBuilder_ != null) {
            return targetRegionDefidBuilder_.getMessageOrBuilder();
          } else {
            return targetRegionDefid_ == null ?
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : targetRegionDefid_;
          }
        }
        /**
         * required .CMsgProtoDefID target_region_defid = 1 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION];
         */
        private com.google.protobuf.SingleFieldBuilder<
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> 
            getTargetRegionDefidFieldBuilder() {
          if (targetRegionDefidBuilder_ == null) {
            targetRegionDefidBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder>(
                    getTargetRegionDefid(),
                    getParentForChildren(),
                    isClean());
            targetRegionDefid_ = null;
          }
          return targetRegionDefidBuilder_;
        }

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

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

        private int ypos_ ;
        /**
         * optional uint32 ypos = 3;
         * @return Whether the ypos field is set.
         */
        @java.lang.Override
        public boolean hasYpos() {
          return ((bitField0_ & 0x00000004) != 0);
        }
        /**
         * optional uint32 ypos = 3;
         * @return The ypos.
         */
        @java.lang.Override
        public int getYpos() {
          return ypos_;
        }
        /**
         * optional uint32 ypos = 3;
         * @param value The ypos to set.
         * @return This builder for chaining.
         */
        public Builder setYpos(int value) {

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

        // @@protoc_insertion_point(builder_scope:CMsgQuestMapRegionDef.RegionLink)
      }

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

      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

    }

    private int bitField0_;
    public static final int HEADER_FIELD_NUMBER = 1;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader header_;
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return Whether the header field is set.
     */
    @java.lang.Override
    public boolean hasHeader() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return The header.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader() {
      return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
    }
    /**
     * required .CMsgProtoDefHeader header = 1;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder() {
      return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
    }

    public static final int NAME_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private volatile java.lang.Object name_ = "";
    /**
     * optional string name = 2 [(.localized) = true];
     * @return Whether the name field is set.
     */
    @java.lang.Override
    public boolean hasName() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional string name = 2 [(.localized) = true];
     * @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 [(.localized) = true];
     * @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 RESFILE_FIELD_NUMBER = 3;
    @SuppressWarnings("serial")
    private volatile java.lang.Object resfile_ = "";
    /**
     * optional string resfile = 3;
     * @return Whether the resfile field is set.
     */
    @java.lang.Override
    public boolean hasResfile() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional string resfile = 3;
     * @return The resfile.
     */
    @java.lang.Override
    public java.lang.String getResfile() {
      java.lang.Object ref = resfile_;
      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()) {
          resfile_ = s;
        }
        return s;
      }
    }
    /**
     * optional string resfile = 3;
     * @return The bytes for resfile.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getResfileBytes() {
      java.lang.Object ref = resfile_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        resfile_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int LINKS_FIELD_NUMBER = 4;
    @SuppressWarnings("serial")
    private java.util.List links_;
    /**
     * repeated .CMsgQuestMapRegionDef.RegionLink links = 4;
     */
    @java.lang.Override
    public java.util.List getLinksList() {
      return links_;
    }
    /**
     * repeated .CMsgQuestMapRegionDef.RegionLink links = 4;
     */
    @java.lang.Override
    public java.util.List 
        getLinksOrBuilderList() {
      return links_;
    }
    /**
     * repeated .CMsgQuestMapRegionDef.RegionLink links = 4;
     */
    @java.lang.Override
    public int getLinksCount() {
      return links_.size();
    }
    /**
     * repeated .CMsgQuestMapRegionDef.RegionLink links = 4;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink getLinks(int index) {
      return links_.get(index);
    }
    /**
     * repeated .CMsgQuestMapRegionDef.RegionLink links = 4;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLinkOrBuilder getLinksOrBuilder(
        int index) {
      return links_.get(index);
    }

    public static final int RETURN_LINK_FIELD_NUMBER = 5;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID returnLink_;
    /**
     * optional .CMsgProtoDefID return_link = 5 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION, (.display_name) = "Return Link", (.comment) = "Which link we go to when right-clicking in this region"];
     * @return Whether the returnLink field is set.
     */
    @java.lang.Override
    public boolean hasReturnLink() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional .CMsgProtoDefID return_link = 5 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION, (.display_name) = "Return Link", (.comment) = "Which link we go to when right-clicking in this region"];
     * @return The returnLink.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getReturnLink() {
      return returnLink_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : returnLink_;
    }
    /**
     * optional .CMsgProtoDefID return_link = 5 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION, (.display_name) = "Return Link", (.comment) = "Which link we go to when right-clicking in this region"];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getReturnLinkOrBuilder() {
      return returnLink_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : returnLink_;
    }

    public static final int RADIO_FREQ_FIELD_NUMBER = 6;
    private float radioFreq_ = 0F;
    /**
     * optional float radio_freq = 6 [(.display_name) = "Radio Freq.", (.comment) = "Where the radio tuner goes on the CYOA PDA when this region is selection"];
     * @return Whether the radioFreq field is set.
     */
    @java.lang.Override
    public boolean hasRadioFreq() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * optional float radio_freq = 6 [(.display_name) = "Radio Freq.", (.comment) = "Where the radio tuner goes on the CYOA PDA when this region is selection"];
     * @return The radioFreq.
     */
    @java.lang.Override
    public float getRadioFreq() {
      return radioFreq_;
    }

    public static final int ZOOM_SCALE_FIELD_NUMBER = 7;
    private float zoomScale_ = 0F;
    /**
     * optional float zoom_scale = 7 [(.display_name) = "Zoom Scale", (.comment) = "How zoomed in this panel should be.  Affects the scale of the map grid lines and node link dashed lines"];
     * @return Whether the zoomScale field is set.
     */
    @java.lang.Override
    public boolean hasZoomScale() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * optional float zoom_scale = 7 [(.display_name) = "Zoom Scale", (.comment) = "How zoomed in this panel should be.  Affects the scale of the map grid lines and node link dashed lines"];
     * @return The zoomScale.
     */
    @java.lang.Override
    public float getZoomScale() {
      return zoomScale_;
    }

    public static final int STAR_TYPE_FIELD_NUMBER = 8;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID starType_;
    /**
     * optional .CMsgProtoDefID star_type = 8 [(.valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (.display_name) = "Star Type", (.comment) = "What stars (if any) the nodes within use to unlock"];
     * @return Whether the starType field is set.
     */
    @java.lang.Override
    public boolean hasStarType() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     * optional .CMsgProtoDefID star_type = 8 [(.valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (.display_name) = "Star Type", (.comment) = "What stars (if any) the nodes within use to unlock"];
     * @return The starType.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getStarType() {
      return starType_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : starType_;
    }
    /**
     * optional .CMsgProtoDefID star_type = 8 [(.valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (.display_name) = "Star Type", (.comment) = "What stars (if any) the nodes within use to unlock"];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getStarTypeOrBuilder() {
      return starType_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : starType_;
    }

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

      if (!hasHeader()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getHeader().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getLinksCount(); i++) {
        if (!getLinks(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasReturnLink()) {
        if (!getReturnLink().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasStarType()) {
        if (!getStarType().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getHeader());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 2, name_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 3, resfile_);
      }
      for (int i = 0; i < links_.size(); i++) {
        output.writeMessage(4, links_.get(i));
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeMessage(5, getReturnLink());
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        output.writeFloat(6, radioFreq_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        output.writeFloat(7, zoomScale_);
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        output.writeMessage(8, getStarType());
      }
      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
          .computeMessageSize(1, getHeader());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(2, name_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(3, resfile_);
      }
      for (int i = 0; i < links_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, links_.get(i));
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, getReturnLink());
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(6, radioFreq_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(7, zoomScale_);
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(8, getStarType());
      }
      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.TfProtoDefMessages.CMsgQuestMapRegionDef)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef) obj;

      if (hasHeader() != other.hasHeader()) return false;
      if (hasHeader()) {
        if (!getHeader()
            .equals(other.getHeader())) return false;
      }
      if (hasName() != other.hasName()) return false;
      if (hasName()) {
        if (!getName()
            .equals(other.getName())) return false;
      }
      if (hasResfile() != other.hasResfile()) return false;
      if (hasResfile()) {
        if (!getResfile()
            .equals(other.getResfile())) return false;
      }
      if (!getLinksList()
          .equals(other.getLinksList())) return false;
      if (hasReturnLink() != other.hasReturnLink()) return false;
      if (hasReturnLink()) {
        if (!getReturnLink()
            .equals(other.getReturnLink())) return false;
      }
      if (hasRadioFreq() != other.hasRadioFreq()) return false;
      if (hasRadioFreq()) {
        if (java.lang.Float.floatToIntBits(getRadioFreq())
            != java.lang.Float.floatToIntBits(
                other.getRadioFreq())) return false;
      }
      if (hasZoomScale() != other.hasZoomScale()) return false;
      if (hasZoomScale()) {
        if (java.lang.Float.floatToIntBits(getZoomScale())
            != java.lang.Float.floatToIntBits(
                other.getZoomScale())) return false;
      }
      if (hasStarType() != other.hasStarType()) return false;
      if (hasStarType()) {
        if (!getStarType()
            .equals(other.getStarType())) 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 (hasHeader()) {
        hash = (37 * hash) + HEADER_FIELD_NUMBER;
        hash = (53 * hash) + getHeader().hashCode();
      }
      if (hasName()) {
        hash = (37 * hash) + NAME_FIELD_NUMBER;
        hash = (53 * hash) + getName().hashCode();
      }
      if (hasResfile()) {
        hash = (37 * hash) + RESFILE_FIELD_NUMBER;
        hash = (53 * hash) + getResfile().hashCode();
      }
      if (getLinksCount() > 0) {
        hash = (37 * hash) + LINKS_FIELD_NUMBER;
        hash = (53 * hash) + getLinksList().hashCode();
      }
      if (hasReturnLink()) {
        hash = (37 * hash) + RETURN_LINK_FIELD_NUMBER;
        hash = (53 * hash) + getReturnLink().hashCode();
      }
      if (hasRadioFreq()) {
        hash = (37 * hash) + RADIO_FREQ_FIELD_NUMBER;
        hash = (53 * hash) + java.lang.Float.floatToIntBits(
            getRadioFreq());
      }
      if (hasZoomScale()) {
        hash = (37 * hash) + ZOOM_SCALE_FIELD_NUMBER;
        hash = (53 * hash) + java.lang.Float.floatToIntBits(
            getZoomScale());
      }
      if (hasStarType()) {
        hash = (37 * hash) + STAR_TYPE_FIELD_NUMBER;
        hash = (53 * hash) + getStarType().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef 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.TfProtoDefMessages.CMsgQuestMapRegionDef parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef 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.TfProtoDefMessages.CMsgQuestMapRegionDef parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef 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.TfProtoDefMessages.CMsgQuestMapRegionDef parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef 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.TfProtoDefMessages.CMsgQuestMapRegionDef parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef 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.TfProtoDefMessages.CMsgQuestMapRegionDef 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.TfProtoDefMessages.CMsgQuestMapRegionDef 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.TfProtoDefMessages.CMsgQuestMapRegionDef 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 CMsgQuestMapRegionDef}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgQuestMapRegionDef)
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDefOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgQuestMapRegionDef_descriptor;
      }

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

      // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage
                .alwaysUseFieldBuilders) {
          getHeaderFieldBuilder();
          getLinksFieldBuilder();
          getReturnLinkFieldBuilder();
          getStarTypeFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        header_ = null;
        if (headerBuilder_ != null) {
          headerBuilder_.dispose();
          headerBuilder_ = null;
        }
        name_ = "";
        resfile_ = "";
        if (linksBuilder_ == null) {
          links_ = java.util.Collections.emptyList();
        } else {
          links_ = null;
          linksBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        returnLink_ = null;
        if (returnLinkBuilder_ != null) {
          returnLinkBuilder_.dispose();
          returnLinkBuilder_ = null;
        }
        radioFreq_ = 0F;
        zoomScale_ = 0F;
        starType_ = null;
        if (starTypeBuilder_ != null) {
          starTypeBuilder_.dispose();
          starTypeBuilder_ = null;
        }
        return this;
      }

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

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

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

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

      private void buildPartialRepeatedFields(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef result) {
        if (linksBuilder_ == null) {
          if (((bitField0_ & 0x00000008) != 0)) {
            links_ = java.util.Collections.unmodifiableList(links_);
            bitField0_ = (bitField0_ & ~0x00000008);
          }
          result.links_ = links_;
        } else {
          result.links_ = linksBuilder_.build();
        }
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.header_ = headerBuilder_ == null
              ? header_
              : headerBuilder_.build();
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.name_ = name_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.resfile_ = resfile_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.returnLink_ = returnLinkBuilder_ == null
              ? returnLink_
              : returnLinkBuilder_.build();
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          result.radioFreq_ = radioFreq_;
          to_bitField0_ |= 0x00000010;
        }
        if (((from_bitField0_ & 0x00000040) != 0)) {
          result.zoomScale_ = zoomScale_;
          to_bitField0_ |= 0x00000020;
        }
        if (((from_bitField0_ & 0x00000080) != 0)) {
          result.starType_ = starTypeBuilder_ == null
              ? starType_
              : starTypeBuilder_.build();
          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.TfProtoDefMessages.CMsgQuestMapRegionDef) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.getDefaultInstance()) return this;
        if (other.hasHeader()) {
          mergeHeader(other.getHeader());
        }
        if (other.hasName()) {
          name_ = other.name_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        if (other.hasResfile()) {
          resfile_ = other.resfile_;
          bitField0_ |= 0x00000004;
          onChanged();
        }
        if (linksBuilder_ == null) {
          if (!other.links_.isEmpty()) {
            if (links_.isEmpty()) {
              links_ = other.links_;
              bitField0_ = (bitField0_ & ~0x00000008);
            } else {
              ensureLinksIsMutable();
              links_.addAll(other.links_);
            }
            onChanged();
          }
        } else {
          if (!other.links_.isEmpty()) {
            if (linksBuilder_.isEmpty()) {
              linksBuilder_.dispose();
              linksBuilder_ = null;
              links_ = other.links_;
              bitField0_ = (bitField0_ & ~0x00000008);
              linksBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getLinksFieldBuilder() : null;
            } else {
              linksBuilder_.addAllMessages(other.links_);
            }
          }
        }
        if (other.hasReturnLink()) {
          mergeReturnLink(other.getReturnLink());
        }
        if (other.hasRadioFreq()) {
          setRadioFreq(other.getRadioFreq());
        }
        if (other.hasZoomScale()) {
          setZoomScale(other.getZoomScale());
        }
        if (other.hasStarType()) {
          mergeStarType(other.getStarType());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasHeader()) {
          return false;
        }
        if (!getHeader().isInitialized()) {
          return false;
        }
        for (int i = 0; i < getLinksCount(); i++) {
          if (!getLinks(i).isInitialized()) {
            return false;
          }
        }
        if (hasReturnLink()) {
          if (!getReturnLink().isInitialized()) {
            return false;
          }
        }
        if (hasStarType()) {
          if (!getStarType().isInitialized()) {
            return false;
          }
        }
        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: {
                input.readMessage(
                    getHeaderFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 18: {
                name_ = input.readBytes();
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              case 26: {
                resfile_ = input.readBytes();
                bitField0_ |= 0x00000004;
                break;
              } // case 26
              case 34: {
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink.parser(),
                        extensionRegistry);
                if (linksBuilder_ == null) {
                  ensureLinksIsMutable();
                  links_.add(m);
                } else {
                  linksBuilder_.addMessage(m);
                }
                break;
              } // case 34
              case 42: {
                input.readMessage(
                    getReturnLinkFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000010;
                break;
              } // case 42
              case 53: {
                radioFreq_ = input.readFloat();
                bitField0_ |= 0x00000020;
                break;
              } // case 53
              case 61: {
                zoomScale_ = input.readFloat();
                bitField0_ |= 0x00000040;
                break;
              } // case 61
              case 66: {
                input.readMessage(
                    getStarTypeFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000080;
                break;
              } // case 66
              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 in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader header_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder> headerBuilder_;
      /**
       * required .CMsgProtoDefHeader header = 1;
       * @return Whether the header field is set.
       */
      public boolean hasHeader() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       * @return The header.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader() {
        if (headerBuilder_ == null) {
          return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
        } else {
          return headerBuilder_.getMessage();
        }
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder setHeader(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader value) {
        if (headerBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          header_ = value;
        } else {
          headerBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder setHeader(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder builderForValue) {
        if (headerBuilder_ == null) {
          header_ = builderForValue.build();
        } else {
          headerBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder mergeHeader(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader value) {
        if (headerBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
            header_ != null &&
            header_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance()) {
            getHeaderBuilder().mergeFrom(value);
          } else {
            header_ = value;
          }
        } else {
          headerBuilder_.mergeFrom(value);
        }
        if (header_ != null) {
          bitField0_ |= 0x00000001;
          onChanged();
        }
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder clearHeader() {
        bitField0_ = (bitField0_ & ~0x00000001);
        header_ = null;
        if (headerBuilder_ != null) {
          headerBuilder_.dispose();
          headerBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder getHeaderBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getHeaderFieldBuilder().getBuilder();
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder() {
        if (headerBuilder_ != null) {
          return headerBuilder_.getMessageOrBuilder();
        } else {
          return header_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
        }
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder> 
          getHeaderFieldBuilder() {
        if (headerBuilder_ == null) {
          headerBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder>(
                  getHeader(),
                  getParentForChildren(),
                  isClean());
          header_ = null;
        }
        return headerBuilder_;
      }

      private java.lang.Object name_ = "";
      /**
       * optional string name = 2 [(.localized) = true];
       * @return Whether the name field is set.
       */
      public boolean hasName() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional string name = 2 [(.localized) = true];
       * @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 [(.localized) = true];
       * @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 [(.localized) = true];
       * @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 [(.localized) = true];
       * @return This builder for chaining.
       */
      public Builder clearName() {
        name_ = getDefaultInstance().getName();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * optional string name = 2 [(.localized) = true];
       * @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 resfile_ = "";
      /**
       * optional string resfile = 3;
       * @return Whether the resfile field is set.
       */
      public boolean hasResfile() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional string resfile = 3;
       * @return The resfile.
       */
      public java.lang.String getResfile() {
        java.lang.Object ref = resfile_;
        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()) {
            resfile_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string resfile = 3;
       * @return The bytes for resfile.
       */
      public com.google.protobuf.ByteString
          getResfileBytes() {
        java.lang.Object ref = resfile_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          resfile_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string resfile = 3;
       * @param value The resfile to set.
       * @return This builder for chaining.
       */
      public Builder setResfile(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        resfile_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional string resfile = 3;
       * @return This builder for chaining.
       */
      public Builder clearResfile() {
        resfile_ = getDefaultInstance().getResfile();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }
      /**
       * optional string resfile = 3;
       * @param value The bytes for resfile to set.
       * @return This builder for chaining.
       */
      public Builder setResfileBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        resfile_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }

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

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLinkOrBuilder> linksBuilder_;

      /**
       * repeated .CMsgQuestMapRegionDef.RegionLink links = 4;
       */
      public java.util.List getLinksList() {
        if (linksBuilder_ == null) {
          return java.util.Collections.unmodifiableList(links_);
        } else {
          return linksBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CMsgQuestMapRegionDef.RegionLink links = 4;
       */
      public int getLinksCount() {
        if (linksBuilder_ == null) {
          return links_.size();
        } else {
          return linksBuilder_.getCount();
        }
      }
      /**
       * repeated .CMsgQuestMapRegionDef.RegionLink links = 4;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink getLinks(int index) {
        if (linksBuilder_ == null) {
          return links_.get(index);
        } else {
          return linksBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CMsgQuestMapRegionDef.RegionLink links = 4;
       */
      public Builder setLinks(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink value) {
        if (linksBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureLinksIsMutable();
          links_.set(index, value);
          onChanged();
        } else {
          linksBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgQuestMapRegionDef.RegionLink links = 4;
       */
      public Builder setLinks(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink.Builder builderForValue) {
        if (linksBuilder_ == null) {
          ensureLinksIsMutable();
          links_.set(index, builderForValue.build());
          onChanged();
        } else {
          linksBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgQuestMapRegionDef.RegionLink links = 4;
       */
      public Builder addLinks(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink value) {
        if (linksBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureLinksIsMutable();
          links_.add(value);
          onChanged();
        } else {
          linksBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CMsgQuestMapRegionDef.RegionLink links = 4;
       */
      public Builder addLinks(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink value) {
        if (linksBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureLinksIsMutable();
          links_.add(index, value);
          onChanged();
        } else {
          linksBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgQuestMapRegionDef.RegionLink links = 4;
       */
      public Builder addLinks(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink.Builder builderForValue) {
        if (linksBuilder_ == null) {
          ensureLinksIsMutable();
          links_.add(builderForValue.build());
          onChanged();
        } else {
          linksBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgQuestMapRegionDef.RegionLink links = 4;
       */
      public Builder addLinks(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink.Builder builderForValue) {
        if (linksBuilder_ == null) {
          ensureLinksIsMutable();
          links_.add(index, builderForValue.build());
          onChanged();
        } else {
          linksBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgQuestMapRegionDef.RegionLink links = 4;
       */
      public Builder addAllLinks(
          java.lang.Iterable values) {
        if (linksBuilder_ == null) {
          ensureLinksIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, links_);
          onChanged();
        } else {
          linksBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CMsgQuestMapRegionDef.RegionLink links = 4;
       */
      public Builder clearLinks() {
        if (linksBuilder_ == null) {
          links_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
          onChanged();
        } else {
          linksBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CMsgQuestMapRegionDef.RegionLink links = 4;
       */
      public Builder removeLinks(int index) {
        if (linksBuilder_ == null) {
          ensureLinksIsMutable();
          links_.remove(index);
          onChanged();
        } else {
          linksBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CMsgQuestMapRegionDef.RegionLink links = 4;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink.Builder getLinksBuilder(
          int index) {
        return getLinksFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CMsgQuestMapRegionDef.RegionLink links = 4;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLinkOrBuilder getLinksOrBuilder(
          int index) {
        if (linksBuilder_ == null) {
          return links_.get(index);  } else {
          return linksBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CMsgQuestMapRegionDef.RegionLink links = 4;
       */
      public java.util.List 
           getLinksOrBuilderList() {
        if (linksBuilder_ != null) {
          return linksBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(links_);
        }
      }
      /**
       * repeated .CMsgQuestMapRegionDef.RegionLink links = 4;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink.Builder addLinksBuilder() {
        return getLinksFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink.getDefaultInstance());
      }
      /**
       * repeated .CMsgQuestMapRegionDef.RegionLink links = 4;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink.Builder addLinksBuilder(
          int index) {
        return getLinksFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink.getDefaultInstance());
      }
      /**
       * repeated .CMsgQuestMapRegionDef.RegionLink links = 4;
       */
      public java.util.List 
           getLinksBuilderList() {
        return getLinksFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLinkOrBuilder> 
          getLinksFieldBuilder() {
        if (linksBuilder_ == null) {
          linksBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLink.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapRegionDef.RegionLinkOrBuilder>(
                  links_,
                  ((bitField0_ & 0x00000008) != 0),
                  getParentForChildren(),
                  isClean());
          links_ = null;
        }
        return linksBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID returnLink_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> returnLinkBuilder_;
      /**
       * optional .CMsgProtoDefID return_link = 5 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION, (.display_name) = "Return Link", (.comment) = "Which link we go to when right-clicking in this region"];
       * @return Whether the returnLink field is set.
       */
      public boolean hasReturnLink() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * optional .CMsgProtoDefID return_link = 5 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION, (.display_name) = "Return Link", (.comment) = "Which link we go to when right-clicking in this region"];
       * @return The returnLink.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getReturnLink() {
        if (returnLinkBuilder_ == null) {
          return returnLink_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : returnLink_;
        } else {
          return returnLinkBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgProtoDefID return_link = 5 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION, (.display_name) = "Return Link", (.comment) = "Which link we go to when right-clicking in this region"];
       */
      public Builder setReturnLink(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
        if (returnLinkBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          returnLink_ = value;
        } else {
          returnLinkBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgProtoDefID return_link = 5 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION, (.display_name) = "Return Link", (.comment) = "Which link we go to when right-clicking in this region"];
       */
      public Builder setReturnLink(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder builderForValue) {
        if (returnLinkBuilder_ == null) {
          returnLink_ = builderForValue.build();
        } else {
          returnLinkBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgProtoDefID return_link = 5 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION, (.display_name) = "Return Link", (.comment) = "Which link we go to when right-clicking in this region"];
       */
      public Builder mergeReturnLink(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
        if (returnLinkBuilder_ == null) {
          if (((bitField0_ & 0x00000010) != 0) &&
            returnLink_ != null &&
            returnLink_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance()) {
            getReturnLinkBuilder().mergeFrom(value);
          } else {
            returnLink_ = value;
          }
        } else {
          returnLinkBuilder_.mergeFrom(value);
        }
        if (returnLink_ != null) {
          bitField0_ |= 0x00000010;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgProtoDefID return_link = 5 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION, (.display_name) = "Return Link", (.comment) = "Which link we go to when right-clicking in this region"];
       */
      public Builder clearReturnLink() {
        bitField0_ = (bitField0_ & ~0x00000010);
        returnLink_ = null;
        if (returnLinkBuilder_ != null) {
          returnLinkBuilder_.dispose();
          returnLinkBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgProtoDefID return_link = 5 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION, (.display_name) = "Return Link", (.comment) = "Which link we go to when right-clicking in this region"];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder getReturnLinkBuilder() {
        bitField0_ |= 0x00000010;
        onChanged();
        return getReturnLinkFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgProtoDefID return_link = 5 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION, (.display_name) = "Return Link", (.comment) = "Which link we go to when right-clicking in this region"];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getReturnLinkOrBuilder() {
        if (returnLinkBuilder_ != null) {
          return returnLinkBuilder_.getMessageOrBuilder();
        } else {
          return returnLink_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : returnLink_;
        }
      }
      /**
       * optional .CMsgProtoDefID return_link = 5 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION, (.display_name) = "Return Link", (.comment) = "Which link we go to when right-clicking in this region"];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> 
          getReturnLinkFieldBuilder() {
        if (returnLinkBuilder_ == null) {
          returnLinkBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder>(
                  getReturnLink(),
                  getParentForChildren(),
                  isClean());
          returnLink_ = null;
        }
        return returnLinkBuilder_;
      }

      private float radioFreq_ ;
      /**
       * optional float radio_freq = 6 [(.display_name) = "Radio Freq.", (.comment) = "Where the radio tuner goes on the CYOA PDA when this region is selection"];
       * @return Whether the radioFreq field is set.
       */
      @java.lang.Override
      public boolean hasRadioFreq() {
        return ((bitField0_ & 0x00000020) != 0);
      }
      /**
       * optional float radio_freq = 6 [(.display_name) = "Radio Freq.", (.comment) = "Where the radio tuner goes on the CYOA PDA when this region is selection"];
       * @return The radioFreq.
       */
      @java.lang.Override
      public float getRadioFreq() {
        return radioFreq_;
      }
      /**
       * optional float radio_freq = 6 [(.display_name) = "Radio Freq.", (.comment) = "Where the radio tuner goes on the CYOA PDA when this region is selection"];
       * @param value The radioFreq to set.
       * @return This builder for chaining.
       */
      public Builder setRadioFreq(float value) {

        radioFreq_ = value;
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * optional float radio_freq = 6 [(.display_name) = "Radio Freq.", (.comment) = "Where the radio tuner goes on the CYOA PDA when this region is selection"];
       * @return This builder for chaining.
       */
      public Builder clearRadioFreq() {
        bitField0_ = (bitField0_ & ~0x00000020);
        radioFreq_ = 0F;
        onChanged();
        return this;
      }

      private float zoomScale_ ;
      /**
       * optional float zoom_scale = 7 [(.display_name) = "Zoom Scale", (.comment) = "How zoomed in this panel should be.  Affects the scale of the map grid lines and node link dashed lines"];
       * @return Whether the zoomScale field is set.
       */
      @java.lang.Override
      public boolean hasZoomScale() {
        return ((bitField0_ & 0x00000040) != 0);
      }
      /**
       * optional float zoom_scale = 7 [(.display_name) = "Zoom Scale", (.comment) = "How zoomed in this panel should be.  Affects the scale of the map grid lines and node link dashed lines"];
       * @return The zoomScale.
       */
      @java.lang.Override
      public float getZoomScale() {
        return zoomScale_;
      }
      /**
       * optional float zoom_scale = 7 [(.display_name) = "Zoom Scale", (.comment) = "How zoomed in this panel should be.  Affects the scale of the map grid lines and node link dashed lines"];
       * @param value The zoomScale to set.
       * @return This builder for chaining.
       */
      public Builder setZoomScale(float value) {

        zoomScale_ = value;
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }
      /**
       * optional float zoom_scale = 7 [(.display_name) = "Zoom Scale", (.comment) = "How zoomed in this panel should be.  Affects the scale of the map grid lines and node link dashed lines"];
       * @return This builder for chaining.
       */
      public Builder clearZoomScale() {
        bitField0_ = (bitField0_ & ~0x00000040);
        zoomScale_ = 0F;
        onChanged();
        return this;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID starType_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> starTypeBuilder_;
      /**
       * optional .CMsgProtoDefID star_type = 8 [(.valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (.display_name) = "Star Type", (.comment) = "What stars (if any) the nodes within use to unlock"];
       * @return Whether the starType field is set.
       */
      public boolean hasStarType() {
        return ((bitField0_ & 0x00000080) != 0);
      }
      /**
       * optional .CMsgProtoDefID star_type = 8 [(.valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (.display_name) = "Star Type", (.comment) = "What stars (if any) the nodes within use to unlock"];
       * @return The starType.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getStarType() {
        if (starTypeBuilder_ == null) {
          return starType_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : starType_;
        } else {
          return starTypeBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgProtoDefID star_type = 8 [(.valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (.display_name) = "Star Type", (.comment) = "What stars (if any) the nodes within use to unlock"];
       */
      public Builder setStarType(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
        if (starTypeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          starType_ = value;
        } else {
          starTypeBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000080;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgProtoDefID star_type = 8 [(.valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (.display_name) = "Star Type", (.comment) = "What stars (if any) the nodes within use to unlock"];
       */
      public Builder setStarType(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder builderForValue) {
        if (starTypeBuilder_ == null) {
          starType_ = builderForValue.build();
        } else {
          starTypeBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000080;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgProtoDefID star_type = 8 [(.valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (.display_name) = "Star Type", (.comment) = "What stars (if any) the nodes within use to unlock"];
       */
      public Builder mergeStarType(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
        if (starTypeBuilder_ == null) {
          if (((bitField0_ & 0x00000080) != 0) &&
            starType_ != null &&
            starType_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance()) {
            getStarTypeBuilder().mergeFrom(value);
          } else {
            starType_ = value;
          }
        } else {
          starTypeBuilder_.mergeFrom(value);
        }
        if (starType_ != null) {
          bitField0_ |= 0x00000080;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgProtoDefID star_type = 8 [(.valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (.display_name) = "Star Type", (.comment) = "What stars (if any) the nodes within use to unlock"];
       */
      public Builder clearStarType() {
        bitField0_ = (bitField0_ & ~0x00000080);
        starType_ = null;
        if (starTypeBuilder_ != null) {
          starTypeBuilder_.dispose();
          starTypeBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgProtoDefID star_type = 8 [(.valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (.display_name) = "Star Type", (.comment) = "What stars (if any) the nodes within use to unlock"];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder getStarTypeBuilder() {
        bitField0_ |= 0x00000080;
        onChanged();
        return getStarTypeFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgProtoDefID star_type = 8 [(.valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (.display_name) = "Star Type", (.comment) = "What stars (if any) the nodes within use to unlock"];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getStarTypeOrBuilder() {
        if (starTypeBuilder_ != null) {
          return starTypeBuilder_.getMessageOrBuilder();
        } else {
          return starType_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : starType_;
        }
      }
      /**
       * optional .CMsgProtoDefID star_type = 8 [(.valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (.display_name) = "Star Type", (.comment) = "What stars (if any) the nodes within use to unlock"];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> 
          getStarTypeFieldBuilder() {
        if (starTypeBuilder_ == null) {
          starTypeBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder>(
                  getStarType(),
                  getParentForChildren(),
                  isClean());
          starType_ = null;
        }
        return starTypeBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgQuestMapRegionDef)
    }

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

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

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

  }

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

    /**
     * optional string variable = 1 [(.merging_key_field) = true];
     * @return Whether the variable field is set.
     */
    boolean hasVariable();
    /**
     * optional string variable = 1 [(.merging_key_field) = true];
     * @return The variable.
     */
    java.lang.String getVariable();
    /**
     * optional string variable = 1 [(.merging_key_field) = true];
     * @return The bytes for variable.
     */
    com.google.protobuf.ByteString
        getVariableBytes();

    /**
     * float float = 2;
     * @return Whether the float field is set.
     */
    boolean hasFloat();
    /**
     * float float = 2;
     * @return The float.
     */
    float getFloat();

    /**
     * double double = 3;
     * @return Whether the double field is set.
     */
    boolean hasDouble();
    /**
     * double double = 3;
     * @return The double.
     */
    double getDouble();

    /**
     * uint32 uint32 = 4;
     * @return Whether the uint32 field is set.
     */
    boolean hasUint32();
    /**
     * uint32 uint32 = 4;
     * @return The uint32.
     */
    int getUint32();

    /**
     * uint64 uint64 = 5;
     * @return Whether the uint64 field is set.
     */
    boolean hasUint64();
    /**
     * uint64 uint64 = 5;
     * @return The uint64.
     */
    long getUint64();

    /**
     * sint32 sint32 = 6;
     * @return Whether the sint32 field is set.
     */
    boolean hasSint32();
    /**
     * sint32 sint32 = 6;
     * @return The sint32.
     */
    int getSint32();

    /**
     * sint64 sint64 = 7;
     * @return Whether the sint64 field is set.
     */
    boolean hasSint64();
    /**
     * sint64 sint64 = 7;
     * @return The sint64.
     */
    long getSint64();

    /**
     * bool bool = 8;
     * @return Whether the bool field is set.
     */
    boolean hasBool();
    /**
     * bool bool = 8;
     * @return The bool.
     */
    boolean getBool();

    /**
     * string string = 9;
     * @return Whether the string field is set.
     */
    boolean hasString();
    /**
     * string string = 9;
     * @return The string.
     */
    java.lang.String getString();
    /**
     * string string = 9;
     * @return The bytes for string.
     */
    com.google.protobuf.ByteString
        getStringBytes();

    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.ValueCase getValueCase();
  }
  /**
   * Protobuf type {@code CMsgVarField}
   */
  public static final class CMsgVarField extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgVarField)
      CMsgVarFieldOrBuilder {
  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= */ "",
        CMsgVarField.class.getName());
    }
    // Use CMsgVarField.newBuilder() to construct.
    private CMsgVarField(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgVarField() {
      variable_ = "";
    }

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

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

    private int bitField0_;
    private int valueCase_ = 0;
    @SuppressWarnings("serial")
    private java.lang.Object value_;
    public enum ValueCase
        implements com.google.protobuf.Internal.EnumLite,
            com.google.protobuf.AbstractMessage.InternalOneOfEnum {
      FLOAT(2),
      DOUBLE(3),
      UINT32(4),
      UINT64(5),
      SINT32(6),
      SINT64(7),
      BOOL(8),
      STRING(9),
      VALUE_NOT_SET(0);
      private final int value;
      private ValueCase(int value) {
        this.value = value;
      }
      /**
       * @param value The number of the enum to look for.
       * @return The enum associated with the given number.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static ValueCase valueOf(int value) {
        return forNumber(value);
      }

      public static ValueCase forNumber(int value) {
        switch (value) {
          case 2: return FLOAT;
          case 3: return DOUBLE;
          case 4: return UINT32;
          case 5: return UINT64;
          case 6: return SINT32;
          case 7: return SINT64;
          case 8: return BOOL;
          case 9: return STRING;
          case 0: return VALUE_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    public ValueCase
    getValueCase() {
      return ValueCase.forNumber(
          valueCase_);
    }

    public static final int VARIABLE_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private volatile java.lang.Object variable_ = "";
    /**
     * optional string variable = 1 [(.merging_key_field) = true];
     * @return Whether the variable field is set.
     */
    @java.lang.Override
    public boolean hasVariable() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional string variable = 1 [(.merging_key_field) = true];
     * @return The variable.
     */
    @java.lang.Override
    public java.lang.String getVariable() {
      java.lang.Object ref = variable_;
      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()) {
          variable_ = s;
        }
        return s;
      }
    }
    /**
     * optional string variable = 1 [(.merging_key_field) = true];
     * @return The bytes for variable.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getVariableBytes() {
      java.lang.Object ref = variable_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        variable_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int FLOAT_FIELD_NUMBER = 2;
    /**
     * float float = 2;
     * @return Whether the float field is set.
     */
    @java.lang.Override
    public boolean hasFloat() {
      return valueCase_ == 2;
    }
    /**
     * float float = 2;
     * @return The float.
     */
    @java.lang.Override
    public float getFloat() {
      if (valueCase_ == 2) {
        return (java.lang.Float) value_;
      }
      return 0F;
    }

    public static final int DOUBLE_FIELD_NUMBER = 3;
    /**
     * double double = 3;
     * @return Whether the double field is set.
     */
    @java.lang.Override
    public boolean hasDouble() {
      return valueCase_ == 3;
    }
    /**
     * double double = 3;
     * @return The double.
     */
    @java.lang.Override
    public double getDouble() {
      if (valueCase_ == 3) {
        return (java.lang.Double) value_;
      }
      return 0D;
    }

    public static final int UINT32_FIELD_NUMBER = 4;
    /**
     * uint32 uint32 = 4;
     * @return Whether the uint32 field is set.
     */
    @java.lang.Override
    public boolean hasUint32() {
      return valueCase_ == 4;
    }
    /**
     * uint32 uint32 = 4;
     * @return The uint32.
     */
    @java.lang.Override
    public int getUint32() {
      if (valueCase_ == 4) {
        return (java.lang.Integer) value_;
      }
      return 0;
    }

    public static final int UINT64_FIELD_NUMBER = 5;
    /**
     * uint64 uint64 = 5;
     * @return Whether the uint64 field is set.
     */
    @java.lang.Override
    public boolean hasUint64() {
      return valueCase_ == 5;
    }
    /**
     * uint64 uint64 = 5;
     * @return The uint64.
     */
    @java.lang.Override
    public long getUint64() {
      if (valueCase_ == 5) {
        return (java.lang.Long) value_;
      }
      return 0L;
    }

    public static final int SINT32_FIELD_NUMBER = 6;
    /**
     * sint32 sint32 = 6;
     * @return Whether the sint32 field is set.
     */
    @java.lang.Override
    public boolean hasSint32() {
      return valueCase_ == 6;
    }
    /**
     * sint32 sint32 = 6;
     * @return The sint32.
     */
    @java.lang.Override
    public int getSint32() {
      if (valueCase_ == 6) {
        return (java.lang.Integer) value_;
      }
      return 0;
    }

    public static final int SINT64_FIELD_NUMBER = 7;
    /**
     * sint64 sint64 = 7;
     * @return Whether the sint64 field is set.
     */
    @java.lang.Override
    public boolean hasSint64() {
      return valueCase_ == 7;
    }
    /**
     * sint64 sint64 = 7;
     * @return The sint64.
     */
    @java.lang.Override
    public long getSint64() {
      if (valueCase_ == 7) {
        return (java.lang.Long) value_;
      }
      return 0L;
    }

    public static final int BOOL_FIELD_NUMBER = 8;
    /**
     * bool bool = 8;
     * @return Whether the bool field is set.
     */
    @java.lang.Override
    public boolean hasBool() {
      return valueCase_ == 8;
    }
    /**
     * bool bool = 8;
     * @return The bool.
     */
    @java.lang.Override
    public boolean getBool() {
      if (valueCase_ == 8) {
        return (java.lang.Boolean) value_;
      }
      return false;
    }

    public static final int STRING_FIELD_NUMBER = 9;
    /**
     * string string = 9;
     * @return Whether the string field is set.
     */
    public boolean hasString() {
      return valueCase_ == 9;
    }
    /**
     * string string = 9;
     * @return The string.
     */
    public java.lang.String getString() {
      java.lang.Object ref = "";
      if (valueCase_ == 9) {
        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() && (valueCase_ == 9)) {
          value_ = s;
        }
        return s;
      }
    }
    /**
     * string string = 9;
     * @return The bytes for string.
     */
    public com.google.protobuf.ByteString
        getStringBytes() {
      java.lang.Object ref = "";
      if (valueCase_ == 9) {
        ref = value_;
      }
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        if (valueCase_ == 9) {
          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, variable_);
      }
      if (valueCase_ == 2) {
        output.writeFloat(
            2, (float)((java.lang.Float) value_));
      }
      if (valueCase_ == 3) {
        output.writeDouble(
            3, (double)((java.lang.Double) value_));
      }
      if (valueCase_ == 4) {
        output.writeUInt32(
            4, (int)((java.lang.Integer) value_));
      }
      if (valueCase_ == 5) {
        output.writeUInt64(
            5, (long)((java.lang.Long) value_));
      }
      if (valueCase_ == 6) {
        output.writeSInt32(
            6, (int)((java.lang.Integer) value_));
      }
      if (valueCase_ == 7) {
        output.writeSInt64(
            7, (long)((java.lang.Long) value_));
      }
      if (valueCase_ == 8) {
        output.writeBool(
            8, (boolean)((java.lang.Boolean) value_));
      }
      if (valueCase_ == 9) {
        com.google.protobuf.GeneratedMessage.writeString(output, 9, 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, variable_);
      }
      if (valueCase_ == 2) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(
              2, (float)((java.lang.Float) value_));
      }
      if (valueCase_ == 3) {
        size += com.google.protobuf.CodedOutputStream
          .computeDoubleSize(
              3, (double)((java.lang.Double) value_));
      }
      if (valueCase_ == 4) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(
              4, (int)((java.lang.Integer) value_));
      }
      if (valueCase_ == 5) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(
              5, (long)((java.lang.Long) value_));
      }
      if (valueCase_ == 6) {
        size += com.google.protobuf.CodedOutputStream
          .computeSInt32Size(
              6, (int)((java.lang.Integer) value_));
      }
      if (valueCase_ == 7) {
        size += com.google.protobuf.CodedOutputStream
          .computeSInt64Size(
              7, (long)((java.lang.Long) value_));
      }
      if (valueCase_ == 8) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(
              8, (boolean)((java.lang.Boolean) value_));
      }
      if (valueCase_ == 9) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(9, 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.TfProtoDefMessages.CMsgVarField)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField) obj;

      if (hasVariable() != other.hasVariable()) return false;
      if (hasVariable()) {
        if (!getVariable()
            .equals(other.getVariable())) return false;
      }
      if (!getValueCase().equals(other.getValueCase())) return false;
      switch (valueCase_) {
        case 2:
          if (java.lang.Float.floatToIntBits(getFloat())
              != java.lang.Float.floatToIntBits(
                  other.getFloat())) return false;
          break;
        case 3:
          if (java.lang.Double.doubleToLongBits(getDouble())
              != java.lang.Double.doubleToLongBits(
                  other.getDouble())) return false;
          break;
        case 4:
          if (getUint32()
              != other.getUint32()) return false;
          break;
        case 5:
          if (getUint64()
              != other.getUint64()) return false;
          break;
        case 6:
          if (getSint32()
              != other.getSint32()) return false;
          break;
        case 7:
          if (getSint64()
              != other.getSint64()) return false;
          break;
        case 8:
          if (getBool()
              != other.getBool()) return false;
          break;
        case 9:
          if (!getString()
              .equals(other.getString())) return false;
          break;
        case 0:
        default:
      }
      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 (hasVariable()) {
        hash = (37 * hash) + VARIABLE_FIELD_NUMBER;
        hash = (53 * hash) + getVariable().hashCode();
      }
      switch (valueCase_) {
        case 2:
          hash = (37 * hash) + FLOAT_FIELD_NUMBER;
          hash = (53 * hash) + java.lang.Float.floatToIntBits(
              getFloat());
          break;
        case 3:
          hash = (37 * hash) + DOUBLE_FIELD_NUMBER;
          hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
              java.lang.Double.doubleToLongBits(getDouble()));
          break;
        case 4:
          hash = (37 * hash) + UINT32_FIELD_NUMBER;
          hash = (53 * hash) + getUint32();
          break;
        case 5:
          hash = (37 * hash) + UINT64_FIELD_NUMBER;
          hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
              getUint64());
          break;
        case 6:
          hash = (37 * hash) + SINT32_FIELD_NUMBER;
          hash = (53 * hash) + getSint32();
          break;
        case 7:
          hash = (37 * hash) + SINT64_FIELD_NUMBER;
          hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
              getSint64());
          break;
        case 8:
          hash = (37 * hash) + BOOL_FIELD_NUMBER;
          hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
              getBool());
          break;
        case 9:
          hash = (37 * hash) + STRING_FIELD_NUMBER;
          hash = (53 * hash) + getString().hashCode();
          break;
        case 0:
        default:
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField 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.TfProtoDefMessages.CMsgVarField parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField 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.TfProtoDefMessages.CMsgVarField parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField 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.TfProtoDefMessages.CMsgVarField parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField 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.TfProtoDefMessages.CMsgVarField parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField 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.TfProtoDefMessages.CMsgVarField 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.TfProtoDefMessages.CMsgVarField 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.TfProtoDefMessages.CMsgVarField 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 CMsgVarField}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgVarField)
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgVarField_descriptor;
      }

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

      // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.newBuilder()
      private Builder() {

      }

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

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

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

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

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

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

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

      private void buildPartialOneofs(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField result) {
        result.valueCase_ = valueCase_;
        result.value_ = this.value_;
      }

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

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) return this;
        if (other.hasVariable()) {
          variable_ = other.variable_;
          bitField0_ |= 0x00000001;
          onChanged();
        }
        switch (other.getValueCase()) {
          case FLOAT: {
            setFloat(other.getFloat());
            break;
          }
          case DOUBLE: {
            setDouble(other.getDouble());
            break;
          }
          case UINT32: {
            setUint32(other.getUint32());
            break;
          }
          case UINT64: {
            setUint64(other.getUint64());
            break;
          }
          case SINT32: {
            setSint32(other.getSint32());
            break;
          }
          case SINT64: {
            setSint64(other.getSint64());
            break;
          }
          case BOOL: {
            setBool(other.getBool());
            break;
          }
          case STRING: {
            valueCase_ = 9;
            value_ = other.value_;
            onChanged();
            break;
          }
          case VALUE_NOT_SET: {
            break;
          }
        }
        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: {
                variable_ = input.readBytes();
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 21: {
                value_ = input.readFloat();
                valueCase_ = 2;
                break;
              } // case 21
              case 25: {
                value_ = input.readDouble();
                valueCase_ = 3;
                break;
              } // case 25
              case 32: {
                value_ = input.readUInt32();
                valueCase_ = 4;
                break;
              } // case 32
              case 40: {
                value_ = input.readUInt64();
                valueCase_ = 5;
                break;
              } // case 40
              case 48: {
                value_ = input.readSInt32();
                valueCase_ = 6;
                break;
              } // case 48
              case 56: {
                value_ = input.readSInt64();
                valueCase_ = 7;
                break;
              } // case 56
              case 64: {
                value_ = input.readBool();
                valueCase_ = 8;
                break;
              } // case 64
              case 74: {
                com.google.protobuf.ByteString bs = input.readBytes();
                valueCase_ = 9;
                value_ = bs;
                break;
              } // case 74
              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 valueCase_ = 0;
      private java.lang.Object value_;
      public ValueCase
          getValueCase() {
        return ValueCase.forNumber(
            valueCase_);
      }

      public Builder clearValue() {
        valueCase_ = 0;
        value_ = null;
        onChanged();
        return this;
      }

      private int bitField0_;

      private java.lang.Object variable_ = "";
      /**
       * optional string variable = 1 [(.merging_key_field) = true];
       * @return Whether the variable field is set.
       */
      public boolean hasVariable() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional string variable = 1 [(.merging_key_field) = true];
       * @return The variable.
       */
      public java.lang.String getVariable() {
        java.lang.Object ref = variable_;
        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()) {
            variable_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string variable = 1 [(.merging_key_field) = true];
       * @return The bytes for variable.
       */
      public com.google.protobuf.ByteString
          getVariableBytes() {
        java.lang.Object ref = variable_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          variable_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string variable = 1 [(.merging_key_field) = true];
       * @param value The variable to set.
       * @return This builder for chaining.
       */
      public Builder setVariable(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        variable_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional string variable = 1 [(.merging_key_field) = true];
       * @return This builder for chaining.
       */
      public Builder clearVariable() {
        variable_ = getDefaultInstance().getVariable();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * optional string variable = 1 [(.merging_key_field) = true];
       * @param value The bytes for variable to set.
       * @return This builder for chaining.
       */
      public Builder setVariableBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        variable_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }

      /**
       * float float = 2;
       * @return Whether the float field is set.
       */
      public boolean hasFloat() {
        return valueCase_ == 2;
      }
      /**
       * float float = 2;
       * @return The float.
       */
      public float getFloat() {
        if (valueCase_ == 2) {
          return (java.lang.Float) value_;
        }
        return 0F;
      }
      /**
       * float float = 2;
       * @param value The float to set.
       * @return This builder for chaining.
       */
      public Builder setFloat(float value) {

        valueCase_ = 2;
        value_ = value;
        onChanged();
        return this;
      }
      /**
       * float float = 2;
       * @return This builder for chaining.
       */
      public Builder clearFloat() {
        if (valueCase_ == 2) {
          valueCase_ = 0;
          value_ = null;
          onChanged();
        }
        return this;
      }

      /**
       * double double = 3;
       * @return Whether the double field is set.
       */
      public boolean hasDouble() {
        return valueCase_ == 3;
      }
      /**
       * double double = 3;
       * @return The double.
       */
      public double getDouble() {
        if (valueCase_ == 3) {
          return (java.lang.Double) value_;
        }
        return 0D;
      }
      /**
       * double double = 3;
       * @param value The double to set.
       * @return This builder for chaining.
       */
      public Builder setDouble(double value) {

        valueCase_ = 3;
        value_ = value;
        onChanged();
        return this;
      }
      /**
       * double double = 3;
       * @return This builder for chaining.
       */
      public Builder clearDouble() {
        if (valueCase_ == 3) {
          valueCase_ = 0;
          value_ = null;
          onChanged();
        }
        return this;
      }

      /**
       * uint32 uint32 = 4;
       * @return Whether the uint32 field is set.
       */
      public boolean hasUint32() {
        return valueCase_ == 4;
      }
      /**
       * uint32 uint32 = 4;
       * @return The uint32.
       */
      public int getUint32() {
        if (valueCase_ == 4) {
          return (java.lang.Integer) value_;
        }
        return 0;
      }
      /**
       * uint32 uint32 = 4;
       * @param value The uint32 to set.
       * @return This builder for chaining.
       */
      public Builder setUint32(int value) {

        valueCase_ = 4;
        value_ = value;
        onChanged();
        return this;
      }
      /**
       * uint32 uint32 = 4;
       * @return This builder for chaining.
       */
      public Builder clearUint32() {
        if (valueCase_ == 4) {
          valueCase_ = 0;
          value_ = null;
          onChanged();
        }
        return this;
      }

      /**
       * uint64 uint64 = 5;
       * @return Whether the uint64 field is set.
       */
      public boolean hasUint64() {
        return valueCase_ == 5;
      }
      /**
       * uint64 uint64 = 5;
       * @return The uint64.
       */
      public long getUint64() {
        if (valueCase_ == 5) {
          return (java.lang.Long) value_;
        }
        return 0L;
      }
      /**
       * uint64 uint64 = 5;
       * @param value The uint64 to set.
       * @return This builder for chaining.
       */
      public Builder setUint64(long value) {

        valueCase_ = 5;
        value_ = value;
        onChanged();
        return this;
      }
      /**
       * uint64 uint64 = 5;
       * @return This builder for chaining.
       */
      public Builder clearUint64() {
        if (valueCase_ == 5) {
          valueCase_ = 0;
          value_ = null;
          onChanged();
        }
        return this;
      }

      /**
       * sint32 sint32 = 6;
       * @return Whether the sint32 field is set.
       */
      public boolean hasSint32() {
        return valueCase_ == 6;
      }
      /**
       * sint32 sint32 = 6;
       * @return The sint32.
       */
      public int getSint32() {
        if (valueCase_ == 6) {
          return (java.lang.Integer) value_;
        }
        return 0;
      }
      /**
       * sint32 sint32 = 6;
       * @param value The sint32 to set.
       * @return This builder for chaining.
       */
      public Builder setSint32(int value) {

        valueCase_ = 6;
        value_ = value;
        onChanged();
        return this;
      }
      /**
       * sint32 sint32 = 6;
       * @return This builder for chaining.
       */
      public Builder clearSint32() {
        if (valueCase_ == 6) {
          valueCase_ = 0;
          value_ = null;
          onChanged();
        }
        return this;
      }

      /**
       * sint64 sint64 = 7;
       * @return Whether the sint64 field is set.
       */
      public boolean hasSint64() {
        return valueCase_ == 7;
      }
      /**
       * sint64 sint64 = 7;
       * @return The sint64.
       */
      public long getSint64() {
        if (valueCase_ == 7) {
          return (java.lang.Long) value_;
        }
        return 0L;
      }
      /**
       * sint64 sint64 = 7;
       * @param value The sint64 to set.
       * @return This builder for chaining.
       */
      public Builder setSint64(long value) {

        valueCase_ = 7;
        value_ = value;
        onChanged();
        return this;
      }
      /**
       * sint64 sint64 = 7;
       * @return This builder for chaining.
       */
      public Builder clearSint64() {
        if (valueCase_ == 7) {
          valueCase_ = 0;
          value_ = null;
          onChanged();
        }
        return this;
      }

      /**
       * bool bool = 8;
       * @return Whether the bool field is set.
       */
      public boolean hasBool() {
        return valueCase_ == 8;
      }
      /**
       * bool bool = 8;
       * @return The bool.
       */
      public boolean getBool() {
        if (valueCase_ == 8) {
          return (java.lang.Boolean) value_;
        }
        return false;
      }
      /**
       * bool bool = 8;
       * @param value The bool to set.
       * @return This builder for chaining.
       */
      public Builder setBool(boolean value) {

        valueCase_ = 8;
        value_ = value;
        onChanged();
        return this;
      }
      /**
       * bool bool = 8;
       * @return This builder for chaining.
       */
      public Builder clearBool() {
        if (valueCase_ == 8) {
          valueCase_ = 0;
          value_ = null;
          onChanged();
        }
        return this;
      }

      /**
       * string string = 9;
       * @return Whether the string field is set.
       */
      @java.lang.Override
      public boolean hasString() {
        return valueCase_ == 9;
      }
      /**
       * string string = 9;
       * @return The string.
       */
      @java.lang.Override
      public java.lang.String getString() {
        java.lang.Object ref = "";
        if (valueCase_ == 9) {
          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 (valueCase_ == 9) {
            if (bs.isValidUtf8()) {
              value_ = s;
            }
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * string string = 9;
       * @return The bytes for string.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getStringBytes() {
        java.lang.Object ref = "";
        if (valueCase_ == 9) {
          ref = value_;
        }
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          if (valueCase_ == 9) {
            value_ = b;
          }
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * string string = 9;
       * @param value The string to set.
       * @return This builder for chaining.
       */
      public Builder setString(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        valueCase_ = 9;
        value_ = value;
        onChanged();
        return this;
      }
      /**
       * string string = 9;
       * @return This builder for chaining.
       */
      public Builder clearString() {
        if (valueCase_ == 9) {
          valueCase_ = 0;
          value_ = null;
          onChanged();
        }
        return this;
      }
      /**
       * string string = 9;
       * @param value The bytes for string to set.
       * @return This builder for chaining.
       */
      public Builder setStringBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        valueCase_ = 9;
        value_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgVarField)
    }

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

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

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

  }

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

    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return Whether the header field is set.
     */
    boolean hasHeader();
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return The header.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader();
    /**
     * required .CMsgProtoDefHeader header = 1;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder();

    /**
     * optional string name = 2 [(.localized) = true, (.display_name) = "Type Name"];
     * @return Whether the name field is set.
     */
    boolean hasName();
    /**
     * optional string name = 2 [(.localized) = true, (.display_name) = "Type Name"];
     * @return The name.
     */
    java.lang.String getName();
    /**
     * optional string name = 2 [(.localized) = true, (.display_name) = "Type Name"];
     * @return The bytes for name.
     */
    com.google.protobuf.ByteString
        getNameBytes();
  }
  /**
   * Protobuf type {@code CMsgQuestMapStarType}
   */
  public static final class CMsgQuestMapStarType extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgQuestMapStarType)
      CMsgQuestMapStarTypeOrBuilder {
  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= */ "",
        CMsgQuestMapStarType.class.getName());
    }
    // Use CMsgQuestMapStarType.newBuilder() to construct.
    private CMsgQuestMapStarType(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgQuestMapStarType() {
      name_ = "";
    }

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

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

    private int bitField0_;
    public static final int HEADER_FIELD_NUMBER = 1;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader header_;
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return Whether the header field is set.
     */
    @java.lang.Override
    public boolean hasHeader() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return The header.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader() {
      return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
    }
    /**
     * required .CMsgProtoDefHeader header = 1;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder() {
      return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
    }

    public static final int NAME_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private volatile java.lang.Object name_ = "";
    /**
     * optional string name = 2 [(.localized) = true, (.display_name) = "Type Name"];
     * @return Whether the name field is set.
     */
    @java.lang.Override
    public boolean hasName() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional string name = 2 [(.localized) = true, (.display_name) = "Type Name"];
     * @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 [(.localized) = true, (.display_name) = "Type Name"];
     * @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;
      }
    }

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

      if (!hasHeader()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getHeader().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getHeader());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 2, name_);
      }
      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
          .computeMessageSize(1, getHeader());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(2, name_);
      }
      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.TfProtoDefMessages.CMsgQuestMapStarType)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapStarType other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapStarType) obj;

      if (hasHeader() != other.hasHeader()) return false;
      if (hasHeader()) {
        if (!getHeader()
            .equals(other.getHeader())) return false;
      }
      if (hasName() != other.hasName()) return false;
      if (hasName()) {
        if (!getName()
            .equals(other.getName())) 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 (hasHeader()) {
        hash = (37 * hash) + HEADER_FIELD_NUMBER;
        hash = (53 * hash) + getHeader().hashCode();
      }
      if (hasName()) {
        hash = (37 * hash) + NAME_FIELD_NUMBER;
        hash = (53 * hash) + getName().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapStarType parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapStarType 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.TfProtoDefMessages.CMsgQuestMapStarType parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapStarType 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.TfProtoDefMessages.CMsgQuestMapStarType parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapStarType 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.TfProtoDefMessages.CMsgQuestMapStarType parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapStarType 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.TfProtoDefMessages.CMsgQuestMapStarType parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapStarType 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.TfProtoDefMessages.CMsgQuestMapStarType 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.TfProtoDefMessages.CMsgQuestMapStarType 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.TfProtoDefMessages.CMsgQuestMapStarType 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 CMsgQuestMapStarType}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgQuestMapStarType)
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapStarTypeOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgQuestMapStarType_descriptor;
      }

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

      // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapStarType.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage
                .alwaysUseFieldBuilders) {
          getHeaderFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        header_ = null;
        if (headerBuilder_ != null) {
          headerBuilder_.dispose();
          headerBuilder_ = null;
        }
        name_ = "";
        return this;
      }

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

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

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

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

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapStarType result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.header_ = headerBuilder_ == null
              ? header_
              : headerBuilder_.build();
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.name_ = name_;
          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.TfProtoDefMessages.CMsgQuestMapStarType) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapStarType)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapStarType other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapStarType.getDefaultInstance()) return this;
        if (other.hasHeader()) {
          mergeHeader(other.getHeader());
        }
        if (other.hasName()) {
          name_ = other.name_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasHeader()) {
          return false;
        }
        if (!getHeader().isInitialized()) {
          return false;
        }
        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: {
                input.readMessage(
                    getHeaderFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 18: {
                name_ = 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 in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader header_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder> headerBuilder_;
      /**
       * required .CMsgProtoDefHeader header = 1;
       * @return Whether the header field is set.
       */
      public boolean hasHeader() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       * @return The header.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader() {
        if (headerBuilder_ == null) {
          return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
        } else {
          return headerBuilder_.getMessage();
        }
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder setHeader(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader value) {
        if (headerBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          header_ = value;
        } else {
          headerBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder setHeader(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder builderForValue) {
        if (headerBuilder_ == null) {
          header_ = builderForValue.build();
        } else {
          headerBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder mergeHeader(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader value) {
        if (headerBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
            header_ != null &&
            header_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance()) {
            getHeaderBuilder().mergeFrom(value);
          } else {
            header_ = value;
          }
        } else {
          headerBuilder_.mergeFrom(value);
        }
        if (header_ != null) {
          bitField0_ |= 0x00000001;
          onChanged();
        }
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder clearHeader() {
        bitField0_ = (bitField0_ & ~0x00000001);
        header_ = null;
        if (headerBuilder_ != null) {
          headerBuilder_.dispose();
          headerBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder getHeaderBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getHeaderFieldBuilder().getBuilder();
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder() {
        if (headerBuilder_ != null) {
          return headerBuilder_.getMessageOrBuilder();
        } else {
          return header_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
        }
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder> 
          getHeaderFieldBuilder() {
        if (headerBuilder_ == null) {
          headerBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder>(
                  getHeader(),
                  getParentForChildren(),
                  isClean());
          header_ = null;
        }
        return headerBuilder_;
      }

      private java.lang.Object name_ = "";
      /**
       * optional string name = 2 [(.localized) = true, (.display_name) = "Type Name"];
       * @return Whether the name field is set.
       */
      public boolean hasName() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional string name = 2 [(.localized) = true, (.display_name) = "Type Name"];
       * @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 [(.localized) = true, (.display_name) = "Type Name"];
       * @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 [(.localized) = true, (.display_name) = "Type Name"];
       * @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 [(.localized) = true, (.display_name) = "Type Name"];
       * @return This builder for chaining.
       */
      public Builder clearName() {
        name_ = getDefaultInstance().getName();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * optional string name = 2 [(.localized) = true, (.display_name) = "Type Name"];
       * @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;
      }

      // @@protoc_insertion_point(builder_scope:CMsgQuestMapStarType)
    }

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

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

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

  }

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

    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return Whether the header field is set.
     */
    boolean hasHeader();
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return The header.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader();
    /**
     * required .CMsgProtoDefHeader header = 1;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder();

    /**
     * optional string name_loctoken = 4 [(.localized) = true, (.display_name) = "Node Name", (.comment) = "The name of this node"];
     * @return Whether the nameLoctoken field is set.
     */
    boolean hasNameLoctoken();
    /**
     * optional string name_loctoken = 4 [(.localized) = true, (.display_name) = "Node Name", (.comment) = "The name of this node"];
     * @return The nameLoctoken.
     */
    java.lang.String getNameLoctoken();
    /**
     * optional string name_loctoken = 4 [(.localized) = true, (.display_name) = "Node Name", (.comment) = "The name of this node"];
     * @return The bytes for nameLoctoken.
     */
    com.google.protobuf.ByteString
        getNameLoctokenBytes();

    /**
     * optional float x_pos = 6 [(.display_name) = "Map X Pos", (.comment) = "X position on the quest map"];
     * @return Whether the xPos field is set.
     */
    boolean hasXPos();
    /**
     * optional float x_pos = 6 [(.display_name) = "Map X Pos", (.comment) = "X position on the quest map"];
     * @return The xPos.
     */
    float getXPos();

    /**
     * optional float y_pos = 7 [(.display_name) = "Map Y Pos", (.comment) = "Y position on the quest map"];
     * @return Whether the yPos field is set.
     */
    boolean hasYPos();
    /**
     * optional float y_pos = 7 [(.display_name) = "Map Y Pos", (.comment) = "Y position on the quest map"];
     * @return The yPos.
     */
    float getYPos();

    /**
     * optional .CMsgQuestMapNodeCondition condition = 9 [(.display_name) = "Conditions", (.comment) = "Logic to unlock this node. Can be nested with logic"];
     * @return Whether the condition field is set.
     */
    boolean hasCondition();
    /**
     * optional .CMsgQuestMapNodeCondition condition = 9 [(.display_name) = "Conditions", (.comment) = "Logic to unlock this node. Can be nested with logic"];
     * @return The condition.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition getCondition();
    /**
     * optional .CMsgQuestMapNodeCondition condition = 9 [(.display_name) = "Conditions", (.comment) = "Logic to unlock this node. Can be nested with logic"];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeConditionOrBuilder getConditionOrBuilder();

    /**
     * optional .CMsgProtoDefID owning_region = 10 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION, (.display_name) = "Region", (.comment) = "Which region in the map this node shows up in"];
     * @return Whether the owningRegion field is set.
     */
    boolean hasOwningRegion();
    /**
     * optional .CMsgProtoDefID owning_region = 10 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION, (.display_name) = "Region", (.comment) = "Which region in the map this node shows up in"];
     * @return The owningRegion.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getOwningRegion();
    /**
     * optional .CMsgProtoDefID owning_region = 10 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION, (.display_name) = "Region", (.comment) = "Which region in the map this node shows up in"];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getOwningRegionOrBuilder();

    /**
     * repeated .CMsgProtoDefID quest_options = 11 [(.valid_type) = DEF_TYPE_QUEST, (.display_name) = "Offered Quests", (.comment) = "Which quests this node offers.", (.max_count) = 3];
     */
    java.util.List 
        getQuestOptionsList();
    /**
     * repeated .CMsgProtoDefID quest_options = 11 [(.valid_type) = DEF_TYPE_QUEST, (.display_name) = "Offered Quests", (.comment) = "Which quests this node offers.", (.max_count) = 3];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getQuestOptions(int index);
    /**
     * repeated .CMsgProtoDefID quest_options = 11 [(.valid_type) = DEF_TYPE_QUEST, (.display_name) = "Offered Quests", (.comment) = "Which quests this node offers.", (.max_count) = 3];
     */
    int getQuestOptionsCount();
    /**
     * repeated .CMsgProtoDefID quest_options = 11 [(.valid_type) = DEF_TYPE_QUEST, (.display_name) = "Offered Quests", (.comment) = "Which quests this node offers.", (.max_count) = 3];
     */
    java.util.List 
        getQuestOptionsOrBuilderList();
    /**
     * repeated .CMsgProtoDefID quest_options = 11 [(.valid_type) = DEF_TYPE_QUEST, (.display_name) = "Offered Quests", (.comment) = "Which quests this node offers.", (.max_count) = 3];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getQuestOptionsOrBuilder(
        int index);

    /**
     * optional string associated_operation = 16 [(.display_name) = "Associated Operation", (.comment) = "Operation this node is associated with"];
     * @return Whether the associatedOperation field is set.
     */
    boolean hasAssociatedOperation();
    /**
     * optional string associated_operation = 16 [(.display_name) = "Associated Operation", (.comment) = "Operation this node is associated with"];
     * @return The associatedOperation.
     */
    java.lang.String getAssociatedOperation();
    /**
     * optional string associated_operation = 16 [(.display_name) = "Associated Operation", (.comment) = "Operation this node is associated with"];
     * @return The bytes for associatedOperation.
     */
    com.google.protobuf.ByteString
        getAssociatedOperationBytes();

    /**
     * optional string reward_item_name = 18 [(.display_name) = "Reward Item", (.comment) = "The name of an item to give as a reward"];
     * @return Whether the rewardItemName field is set.
     */
    boolean hasRewardItemName();
    /**
     * optional string reward_item_name = 18 [(.display_name) = "Reward Item", (.comment) = "The name of an item to give as a reward"];
     * @return The rewardItemName.
     */
    java.lang.String getRewardItemName();
    /**
     * optional string reward_item_name = 18 [(.display_name) = "Reward Item", (.comment) = "The name of an item to give as a reward"];
     * @return The bytes for rewardItemName.
     */
    com.google.protobuf.ByteString
        getRewardItemNameBytes();

    /**
     * optional string reward_lootlist_name = 22 [(.display_name) = "Reward Lootlist", (.comment) = "The name of the lootlist to roll as a reward"];
     * @return Whether the rewardLootlistName field is set.
     */
    boolean hasRewardLootlistName();
    /**
     * optional string reward_lootlist_name = 22 [(.display_name) = "Reward Lootlist", (.comment) = "The name of the lootlist to roll as a reward"];
     * @return The rewardLootlistName.
     */
    java.lang.String getRewardLootlistName();
    /**
     * optional string reward_lootlist_name = 22 [(.display_name) = "Reward Lootlist", (.comment) = "The name of the lootlist to roll as a reward"];
     * @return The bytes for rewardLootlistName.
     */
    com.google.protobuf.ByteString
        getRewardLootlistNameBytes();

    /**
     * optional .ENodeCashReward cash_reward = 19 [default = CASH_REWARD_NONE, (.display_name) = "Cash Reward", (.comment) = "How much cash to give when completing the primary objective"];
     * @return Whether the cashReward field is set.
     */
    boolean hasCashReward();
    /**
     * optional .ENodeCashReward cash_reward = 19 [default = CASH_REWARD_NONE, (.display_name) = "Cash Reward", (.comment) = "How much cash to give when completing the primary objective"];
     * @return The cashReward.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ENodeCashReward getCashReward();

    /**
     * optional .CMsgProtoDefID star_type = 20 [(.valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (.display_name) = "Star Type", (.comment) = "Which type of star this node uses"];
     * @return Whether the starType field is set.
     */
    boolean hasStarType();
    /**
     * optional .CMsgProtoDefID star_type = 20 [(.valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (.display_name) = "Star Type", (.comment) = "Which type of star this node uses"];
     * @return The starType.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getStarType();
    /**
     * optional .CMsgProtoDefID star_type = 20 [(.valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (.display_name) = "Star Type", (.comment) = "Which type of star this node uses"];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getStarTypeOrBuilder();

    /**
     * optional uint32 stars_to_unlock = 21 [default = 1, (.display_name) = "Stars to Unlock", (.comment) = "Numbers of stars it costs to unlock"];
     * @return Whether the starsToUnlock field is set.
     */
    boolean hasStarsToUnlock();
    /**
     * optional uint32 stars_to_unlock = 21 [default = 1, (.display_name) = "Stars to Unlock", (.comment) = "Numbers of stars it costs to unlock"];
     * @return The starsToUnlock.
     */
    int getStarsToUnlock();
  }
  /**
   * Protobuf type {@code CMsgQuestMapNodeDef}
   */
  public static final class CMsgQuestMapNodeDef extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgQuestMapNodeDef)
      CMsgQuestMapNodeDefOrBuilder {
  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= */ "",
        CMsgQuestMapNodeDef.class.getName());
    }
    // Use CMsgQuestMapNodeDef.newBuilder() to construct.
    private CMsgQuestMapNodeDef(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgQuestMapNodeDef() {
      nameLoctoken_ = "";
      questOptions_ = java.util.Collections.emptyList();
      associatedOperation_ = "";
      rewardItemName_ = "";
      rewardLootlistName_ = "";
      cashReward_ = 1;
      starsToUnlock_ = 1;
    }

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

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

    private int bitField0_;
    public static final int HEADER_FIELD_NUMBER = 1;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader header_;
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return Whether the header field is set.
     */
    @java.lang.Override
    public boolean hasHeader() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return The header.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader() {
      return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
    }
    /**
     * required .CMsgProtoDefHeader header = 1;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder() {
      return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
    }

    public static final int NAME_LOCTOKEN_FIELD_NUMBER = 4;
    @SuppressWarnings("serial")
    private volatile java.lang.Object nameLoctoken_ = "";
    /**
     * optional string name_loctoken = 4 [(.localized) = true, (.display_name) = "Node Name", (.comment) = "The name of this node"];
     * @return Whether the nameLoctoken field is set.
     */
    @java.lang.Override
    public boolean hasNameLoctoken() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional string name_loctoken = 4 [(.localized) = true, (.display_name) = "Node Name", (.comment) = "The name of this node"];
     * @return The nameLoctoken.
     */
    @java.lang.Override
    public java.lang.String getNameLoctoken() {
      java.lang.Object ref = nameLoctoken_;
      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()) {
          nameLoctoken_ = s;
        }
        return s;
      }
    }
    /**
     * optional string name_loctoken = 4 [(.localized) = true, (.display_name) = "Node Name", (.comment) = "The name of this node"];
     * @return The bytes for nameLoctoken.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNameLoctokenBytes() {
      java.lang.Object ref = nameLoctoken_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        nameLoctoken_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int X_POS_FIELD_NUMBER = 6;
    private float xPos_ = 0F;
    /**
     * optional float x_pos = 6 [(.display_name) = "Map X Pos", (.comment) = "X position on the quest map"];
     * @return Whether the xPos field is set.
     */
    @java.lang.Override
    public boolean hasXPos() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional float x_pos = 6 [(.display_name) = "Map X Pos", (.comment) = "X position on the quest map"];
     * @return The xPos.
     */
    @java.lang.Override
    public float getXPos() {
      return xPos_;
    }

    public static final int Y_POS_FIELD_NUMBER = 7;
    private float yPos_ = 0F;
    /**
     * optional float y_pos = 7 [(.display_name) = "Map Y Pos", (.comment) = "Y position on the quest map"];
     * @return Whether the yPos field is set.
     */
    @java.lang.Override
    public boolean hasYPos() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional float y_pos = 7 [(.display_name) = "Map Y Pos", (.comment) = "Y position on the quest map"];
     * @return The yPos.
     */
    @java.lang.Override
    public float getYPos() {
      return yPos_;
    }

    public static final int CONDITION_FIELD_NUMBER = 9;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition condition_;
    /**
     * optional .CMsgQuestMapNodeCondition condition = 9 [(.display_name) = "Conditions", (.comment) = "Logic to unlock this node. Can be nested with logic"];
     * @return Whether the condition field is set.
     */
    @java.lang.Override
    public boolean hasCondition() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * optional .CMsgQuestMapNodeCondition condition = 9 [(.display_name) = "Conditions", (.comment) = "Logic to unlock this node. Can be nested with logic"];
     * @return The condition.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition getCondition() {
      return condition_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition.getDefaultInstance() : condition_;
    }
    /**
     * optional .CMsgQuestMapNodeCondition condition = 9 [(.display_name) = "Conditions", (.comment) = "Logic to unlock this node. Can be nested with logic"];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeConditionOrBuilder getConditionOrBuilder() {
      return condition_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition.getDefaultInstance() : condition_;
    }

    public static final int OWNING_REGION_FIELD_NUMBER = 10;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID owningRegion_;
    /**
     * optional .CMsgProtoDefID owning_region = 10 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION, (.display_name) = "Region", (.comment) = "Which region in the map this node shows up in"];
     * @return Whether the owningRegion field is set.
     */
    @java.lang.Override
    public boolean hasOwningRegion() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * optional .CMsgProtoDefID owning_region = 10 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION, (.display_name) = "Region", (.comment) = "Which region in the map this node shows up in"];
     * @return The owningRegion.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getOwningRegion() {
      return owningRegion_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : owningRegion_;
    }
    /**
     * optional .CMsgProtoDefID owning_region = 10 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION, (.display_name) = "Region", (.comment) = "Which region in the map this node shows up in"];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getOwningRegionOrBuilder() {
      return owningRegion_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : owningRegion_;
    }

    public static final int QUEST_OPTIONS_FIELD_NUMBER = 11;
    @SuppressWarnings("serial")
    private java.util.List questOptions_;
    /**
     * repeated .CMsgProtoDefID quest_options = 11 [(.valid_type) = DEF_TYPE_QUEST, (.display_name) = "Offered Quests", (.comment) = "Which quests this node offers.", (.max_count) = 3];
     */
    @java.lang.Override
    public java.util.List getQuestOptionsList() {
      return questOptions_;
    }
    /**
     * repeated .CMsgProtoDefID quest_options = 11 [(.valid_type) = DEF_TYPE_QUEST, (.display_name) = "Offered Quests", (.comment) = "Which quests this node offers.", (.max_count) = 3];
     */
    @java.lang.Override
    public java.util.List 
        getQuestOptionsOrBuilderList() {
      return questOptions_;
    }
    /**
     * repeated .CMsgProtoDefID quest_options = 11 [(.valid_type) = DEF_TYPE_QUEST, (.display_name) = "Offered Quests", (.comment) = "Which quests this node offers.", (.max_count) = 3];
     */
    @java.lang.Override
    public int getQuestOptionsCount() {
      return questOptions_.size();
    }
    /**
     * repeated .CMsgProtoDefID quest_options = 11 [(.valid_type) = DEF_TYPE_QUEST, (.display_name) = "Offered Quests", (.comment) = "Which quests this node offers.", (.max_count) = 3];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getQuestOptions(int index) {
      return questOptions_.get(index);
    }
    /**
     * repeated .CMsgProtoDefID quest_options = 11 [(.valid_type) = DEF_TYPE_QUEST, (.display_name) = "Offered Quests", (.comment) = "Which quests this node offers.", (.max_count) = 3];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getQuestOptionsOrBuilder(
        int index) {
      return questOptions_.get(index);
    }

    public static final int ASSOCIATED_OPERATION_FIELD_NUMBER = 16;
    @SuppressWarnings("serial")
    private volatile java.lang.Object associatedOperation_ = "";
    /**
     * optional string associated_operation = 16 [(.display_name) = "Associated Operation", (.comment) = "Operation this node is associated with"];
     * @return Whether the associatedOperation field is set.
     */
    @java.lang.Override
    public boolean hasAssociatedOperation() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     * optional string associated_operation = 16 [(.display_name) = "Associated Operation", (.comment) = "Operation this node is associated with"];
     * @return The associatedOperation.
     */
    @java.lang.Override
    public java.lang.String getAssociatedOperation() {
      java.lang.Object ref = associatedOperation_;
      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()) {
          associatedOperation_ = s;
        }
        return s;
      }
    }
    /**
     * optional string associated_operation = 16 [(.display_name) = "Associated Operation", (.comment) = "Operation this node is associated with"];
     * @return The bytes for associatedOperation.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getAssociatedOperationBytes() {
      java.lang.Object ref = associatedOperation_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        associatedOperation_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int REWARD_ITEM_NAME_FIELD_NUMBER = 18;
    @SuppressWarnings("serial")
    private volatile java.lang.Object rewardItemName_ = "";
    /**
     * optional string reward_item_name = 18 [(.display_name) = "Reward Item", (.comment) = "The name of an item to give as a reward"];
     * @return Whether the rewardItemName field is set.
     */
    @java.lang.Override
    public boolean hasRewardItemName() {
      return ((bitField0_ & 0x00000080) != 0);
    }
    /**
     * optional string reward_item_name = 18 [(.display_name) = "Reward Item", (.comment) = "The name of an item to give as a reward"];
     * @return The rewardItemName.
     */
    @java.lang.Override
    public java.lang.String getRewardItemName() {
      java.lang.Object ref = rewardItemName_;
      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()) {
          rewardItemName_ = s;
        }
        return s;
      }
    }
    /**
     * optional string reward_item_name = 18 [(.display_name) = "Reward Item", (.comment) = "The name of an item to give as a reward"];
     * @return The bytes for rewardItemName.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getRewardItemNameBytes() {
      java.lang.Object ref = rewardItemName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        rewardItemName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int REWARD_LOOTLIST_NAME_FIELD_NUMBER = 22;
    @SuppressWarnings("serial")
    private volatile java.lang.Object rewardLootlistName_ = "";
    /**
     * optional string reward_lootlist_name = 22 [(.display_name) = "Reward Lootlist", (.comment) = "The name of the lootlist to roll as a reward"];
     * @return Whether the rewardLootlistName field is set.
     */
    @java.lang.Override
    public boolean hasRewardLootlistName() {
      return ((bitField0_ & 0x00000100) != 0);
    }
    /**
     * optional string reward_lootlist_name = 22 [(.display_name) = "Reward Lootlist", (.comment) = "The name of the lootlist to roll as a reward"];
     * @return The rewardLootlistName.
     */
    @java.lang.Override
    public java.lang.String getRewardLootlistName() {
      java.lang.Object ref = rewardLootlistName_;
      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()) {
          rewardLootlistName_ = s;
        }
        return s;
      }
    }
    /**
     * optional string reward_lootlist_name = 22 [(.display_name) = "Reward Lootlist", (.comment) = "The name of the lootlist to roll as a reward"];
     * @return The bytes for rewardLootlistName.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getRewardLootlistNameBytes() {
      java.lang.Object ref = rewardLootlistName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        rewardLootlistName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CASH_REWARD_FIELD_NUMBER = 19;
    private int cashReward_ = 1;
    /**
     * optional .ENodeCashReward cash_reward = 19 [default = CASH_REWARD_NONE, (.display_name) = "Cash Reward", (.comment) = "How much cash to give when completing the primary objective"];
     * @return Whether the cashReward field is set.
     */
    @java.lang.Override public boolean hasCashReward() {
      return ((bitField0_ & 0x00000200) != 0);
    }
    /**
     * optional .ENodeCashReward cash_reward = 19 [default = CASH_REWARD_NONE, (.display_name) = "Cash Reward", (.comment) = "How much cash to give when completing the primary objective"];
     * @return The cashReward.
     */
    @java.lang.Override public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ENodeCashReward getCashReward() {
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ENodeCashReward result = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ENodeCashReward.forNumber(cashReward_);
      return result == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ENodeCashReward.CASH_REWARD_NONE : result;
    }

    public static final int STAR_TYPE_FIELD_NUMBER = 20;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID starType_;
    /**
     * optional .CMsgProtoDefID star_type = 20 [(.valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (.display_name) = "Star Type", (.comment) = "Which type of star this node uses"];
     * @return Whether the starType field is set.
     */
    @java.lang.Override
    public boolean hasStarType() {
      return ((bitField0_ & 0x00000400) != 0);
    }
    /**
     * optional .CMsgProtoDefID star_type = 20 [(.valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (.display_name) = "Star Type", (.comment) = "Which type of star this node uses"];
     * @return The starType.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getStarType() {
      return starType_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : starType_;
    }
    /**
     * optional .CMsgProtoDefID star_type = 20 [(.valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (.display_name) = "Star Type", (.comment) = "Which type of star this node uses"];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getStarTypeOrBuilder() {
      return starType_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : starType_;
    }

    public static final int STARS_TO_UNLOCK_FIELD_NUMBER = 21;
    private int starsToUnlock_ = 1;
    /**
     * optional uint32 stars_to_unlock = 21 [default = 1, (.display_name) = "Stars to Unlock", (.comment) = "Numbers of stars it costs to unlock"];
     * @return Whether the starsToUnlock field is set.
     */
    @java.lang.Override
    public boolean hasStarsToUnlock() {
      return ((bitField0_ & 0x00000800) != 0);
    }
    /**
     * optional uint32 stars_to_unlock = 21 [default = 1, (.display_name) = "Stars to Unlock", (.comment) = "Numbers of stars it costs to unlock"];
     * @return The starsToUnlock.
     */
    @java.lang.Override
    public int getStarsToUnlock() {
      return starsToUnlock_;
    }

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

      if (!hasHeader()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getHeader().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (hasCondition()) {
        if (!getCondition().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasOwningRegion()) {
        if (!getOwningRegion().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getQuestOptionsCount(); i++) {
        if (!getQuestOptions(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasStarType()) {
        if (!getStarType().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getHeader());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 4, nameLoctoken_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeFloat(6, xPos_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeFloat(7, yPos_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        output.writeMessage(9, getCondition());
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        output.writeMessage(10, getOwningRegion());
      }
      for (int i = 0; i < questOptions_.size(); i++) {
        output.writeMessage(11, questOptions_.get(i));
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 16, associatedOperation_);
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 18, rewardItemName_);
      }
      if (((bitField0_ & 0x00000200) != 0)) {
        output.writeEnum(19, cashReward_);
      }
      if (((bitField0_ & 0x00000400) != 0)) {
        output.writeMessage(20, getStarType());
      }
      if (((bitField0_ & 0x00000800) != 0)) {
        output.writeUInt32(21, starsToUnlock_);
      }
      if (((bitField0_ & 0x00000100) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 22, rewardLootlistName_);
      }
      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
          .computeMessageSize(1, getHeader());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(4, nameLoctoken_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(6, xPos_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(7, yPos_);
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(9, getCondition());
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(10, getOwningRegion());
      }
      for (int i = 0; i < questOptions_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(11, questOptions_.get(i));
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(16, associatedOperation_);
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(18, rewardItemName_);
      }
      if (((bitField0_ & 0x00000200) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(19, cashReward_);
      }
      if (((bitField0_ & 0x00000400) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(20, getStarType());
      }
      if (((bitField0_ & 0x00000800) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(21, starsToUnlock_);
      }
      if (((bitField0_ & 0x00000100) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(22, rewardLootlistName_);
      }
      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.TfProtoDefMessages.CMsgQuestMapNodeDef)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef) obj;

      if (hasHeader() != other.hasHeader()) return false;
      if (hasHeader()) {
        if (!getHeader()
            .equals(other.getHeader())) return false;
      }
      if (hasNameLoctoken() != other.hasNameLoctoken()) return false;
      if (hasNameLoctoken()) {
        if (!getNameLoctoken()
            .equals(other.getNameLoctoken())) return false;
      }
      if (hasXPos() != other.hasXPos()) return false;
      if (hasXPos()) {
        if (java.lang.Float.floatToIntBits(getXPos())
            != java.lang.Float.floatToIntBits(
                other.getXPos())) return false;
      }
      if (hasYPos() != other.hasYPos()) return false;
      if (hasYPos()) {
        if (java.lang.Float.floatToIntBits(getYPos())
            != java.lang.Float.floatToIntBits(
                other.getYPos())) return false;
      }
      if (hasCondition() != other.hasCondition()) return false;
      if (hasCondition()) {
        if (!getCondition()
            .equals(other.getCondition())) return false;
      }
      if (hasOwningRegion() != other.hasOwningRegion()) return false;
      if (hasOwningRegion()) {
        if (!getOwningRegion()
            .equals(other.getOwningRegion())) return false;
      }
      if (!getQuestOptionsList()
          .equals(other.getQuestOptionsList())) return false;
      if (hasAssociatedOperation() != other.hasAssociatedOperation()) return false;
      if (hasAssociatedOperation()) {
        if (!getAssociatedOperation()
            .equals(other.getAssociatedOperation())) return false;
      }
      if (hasRewardItemName() != other.hasRewardItemName()) return false;
      if (hasRewardItemName()) {
        if (!getRewardItemName()
            .equals(other.getRewardItemName())) return false;
      }
      if (hasRewardLootlistName() != other.hasRewardLootlistName()) return false;
      if (hasRewardLootlistName()) {
        if (!getRewardLootlistName()
            .equals(other.getRewardLootlistName())) return false;
      }
      if (hasCashReward() != other.hasCashReward()) return false;
      if (hasCashReward()) {
        if (cashReward_ != other.cashReward_) return false;
      }
      if (hasStarType() != other.hasStarType()) return false;
      if (hasStarType()) {
        if (!getStarType()
            .equals(other.getStarType())) return false;
      }
      if (hasStarsToUnlock() != other.hasStarsToUnlock()) return false;
      if (hasStarsToUnlock()) {
        if (getStarsToUnlock()
            != other.getStarsToUnlock()) 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 (hasHeader()) {
        hash = (37 * hash) + HEADER_FIELD_NUMBER;
        hash = (53 * hash) + getHeader().hashCode();
      }
      if (hasNameLoctoken()) {
        hash = (37 * hash) + NAME_LOCTOKEN_FIELD_NUMBER;
        hash = (53 * hash) + getNameLoctoken().hashCode();
      }
      if (hasXPos()) {
        hash = (37 * hash) + X_POS_FIELD_NUMBER;
        hash = (53 * hash) + java.lang.Float.floatToIntBits(
            getXPos());
      }
      if (hasYPos()) {
        hash = (37 * hash) + Y_POS_FIELD_NUMBER;
        hash = (53 * hash) + java.lang.Float.floatToIntBits(
            getYPos());
      }
      if (hasCondition()) {
        hash = (37 * hash) + CONDITION_FIELD_NUMBER;
        hash = (53 * hash) + getCondition().hashCode();
      }
      if (hasOwningRegion()) {
        hash = (37 * hash) + OWNING_REGION_FIELD_NUMBER;
        hash = (53 * hash) + getOwningRegion().hashCode();
      }
      if (getQuestOptionsCount() > 0) {
        hash = (37 * hash) + QUEST_OPTIONS_FIELD_NUMBER;
        hash = (53 * hash) + getQuestOptionsList().hashCode();
      }
      if (hasAssociatedOperation()) {
        hash = (37 * hash) + ASSOCIATED_OPERATION_FIELD_NUMBER;
        hash = (53 * hash) + getAssociatedOperation().hashCode();
      }
      if (hasRewardItemName()) {
        hash = (37 * hash) + REWARD_ITEM_NAME_FIELD_NUMBER;
        hash = (53 * hash) + getRewardItemName().hashCode();
      }
      if (hasRewardLootlistName()) {
        hash = (37 * hash) + REWARD_LOOTLIST_NAME_FIELD_NUMBER;
        hash = (53 * hash) + getRewardLootlistName().hashCode();
      }
      if (hasCashReward()) {
        hash = (37 * hash) + CASH_REWARD_FIELD_NUMBER;
        hash = (53 * hash) + cashReward_;
      }
      if (hasStarType()) {
        hash = (37 * hash) + STAR_TYPE_FIELD_NUMBER;
        hash = (53 * hash) + getStarType().hashCode();
      }
      if (hasStarsToUnlock()) {
        hash = (37 * hash) + STARS_TO_UNLOCK_FIELD_NUMBER;
        hash = (53 * hash) + getStarsToUnlock();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef 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.TfProtoDefMessages.CMsgQuestMapNodeDef parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef 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.TfProtoDefMessages.CMsgQuestMapNodeDef parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef 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.TfProtoDefMessages.CMsgQuestMapNodeDef parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef 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.TfProtoDefMessages.CMsgQuestMapNodeDef parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef 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.TfProtoDefMessages.CMsgQuestMapNodeDef 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.TfProtoDefMessages.CMsgQuestMapNodeDef 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.TfProtoDefMessages.CMsgQuestMapNodeDef 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 CMsgQuestMapNodeDef}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgQuestMapNodeDef)
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDefOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgQuestMapNodeDef_descriptor;
      }

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

      // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage
                .alwaysUseFieldBuilders) {
          getHeaderFieldBuilder();
          getConditionFieldBuilder();
          getOwningRegionFieldBuilder();
          getQuestOptionsFieldBuilder();
          getStarTypeFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        header_ = null;
        if (headerBuilder_ != null) {
          headerBuilder_.dispose();
          headerBuilder_ = null;
        }
        nameLoctoken_ = "";
        xPos_ = 0F;
        yPos_ = 0F;
        condition_ = null;
        if (conditionBuilder_ != null) {
          conditionBuilder_.dispose();
          conditionBuilder_ = null;
        }
        owningRegion_ = null;
        if (owningRegionBuilder_ != null) {
          owningRegionBuilder_.dispose();
          owningRegionBuilder_ = null;
        }
        if (questOptionsBuilder_ == null) {
          questOptions_ = java.util.Collections.emptyList();
        } else {
          questOptions_ = null;
          questOptionsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000040);
        associatedOperation_ = "";
        rewardItemName_ = "";
        rewardLootlistName_ = "";
        cashReward_ = 1;
        starType_ = null;
        if (starTypeBuilder_ != null) {
          starTypeBuilder_.dispose();
          starTypeBuilder_ = null;
        }
        starsToUnlock_ = 1;
        return this;
      }

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

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

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

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

      private void buildPartialRepeatedFields(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef result) {
        if (questOptionsBuilder_ == null) {
          if (((bitField0_ & 0x00000040) != 0)) {
            questOptions_ = java.util.Collections.unmodifiableList(questOptions_);
            bitField0_ = (bitField0_ & ~0x00000040);
          }
          result.questOptions_ = questOptions_;
        } else {
          result.questOptions_ = questOptionsBuilder_.build();
        }
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.header_ = headerBuilder_ == null
              ? header_
              : headerBuilder_.build();
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.nameLoctoken_ = nameLoctoken_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.xPos_ = xPos_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.yPos_ = yPos_;
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.condition_ = conditionBuilder_ == null
              ? condition_
              : conditionBuilder_.build();
          to_bitField0_ |= 0x00000010;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          result.owningRegion_ = owningRegionBuilder_ == null
              ? owningRegion_
              : owningRegionBuilder_.build();
          to_bitField0_ |= 0x00000020;
        }
        if (((from_bitField0_ & 0x00000080) != 0)) {
          result.associatedOperation_ = associatedOperation_;
          to_bitField0_ |= 0x00000040;
        }
        if (((from_bitField0_ & 0x00000100) != 0)) {
          result.rewardItemName_ = rewardItemName_;
          to_bitField0_ |= 0x00000080;
        }
        if (((from_bitField0_ & 0x00000200) != 0)) {
          result.rewardLootlistName_ = rewardLootlistName_;
          to_bitField0_ |= 0x00000100;
        }
        if (((from_bitField0_ & 0x00000400) != 0)) {
          result.cashReward_ = cashReward_;
          to_bitField0_ |= 0x00000200;
        }
        if (((from_bitField0_ & 0x00000800) != 0)) {
          result.starType_ = starTypeBuilder_ == null
              ? starType_
              : starTypeBuilder_.build();
          to_bitField0_ |= 0x00000400;
        }
        if (((from_bitField0_ & 0x00001000) != 0)) {
          result.starsToUnlock_ = starsToUnlock_;
          to_bitField0_ |= 0x00000800;
        }
        result.bitField0_ |= to_bitField0_;
      }

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

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeDef.getDefaultInstance()) return this;
        if (other.hasHeader()) {
          mergeHeader(other.getHeader());
        }
        if (other.hasNameLoctoken()) {
          nameLoctoken_ = other.nameLoctoken_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        if (other.hasXPos()) {
          setXPos(other.getXPos());
        }
        if (other.hasYPos()) {
          setYPos(other.getYPos());
        }
        if (other.hasCondition()) {
          mergeCondition(other.getCondition());
        }
        if (other.hasOwningRegion()) {
          mergeOwningRegion(other.getOwningRegion());
        }
        if (questOptionsBuilder_ == null) {
          if (!other.questOptions_.isEmpty()) {
            if (questOptions_.isEmpty()) {
              questOptions_ = other.questOptions_;
              bitField0_ = (bitField0_ & ~0x00000040);
            } else {
              ensureQuestOptionsIsMutable();
              questOptions_.addAll(other.questOptions_);
            }
            onChanged();
          }
        } else {
          if (!other.questOptions_.isEmpty()) {
            if (questOptionsBuilder_.isEmpty()) {
              questOptionsBuilder_.dispose();
              questOptionsBuilder_ = null;
              questOptions_ = other.questOptions_;
              bitField0_ = (bitField0_ & ~0x00000040);
              questOptionsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getQuestOptionsFieldBuilder() : null;
            } else {
              questOptionsBuilder_.addAllMessages(other.questOptions_);
            }
          }
        }
        if (other.hasAssociatedOperation()) {
          associatedOperation_ = other.associatedOperation_;
          bitField0_ |= 0x00000080;
          onChanged();
        }
        if (other.hasRewardItemName()) {
          rewardItemName_ = other.rewardItemName_;
          bitField0_ |= 0x00000100;
          onChanged();
        }
        if (other.hasRewardLootlistName()) {
          rewardLootlistName_ = other.rewardLootlistName_;
          bitField0_ |= 0x00000200;
          onChanged();
        }
        if (other.hasCashReward()) {
          setCashReward(other.getCashReward());
        }
        if (other.hasStarType()) {
          mergeStarType(other.getStarType());
        }
        if (other.hasStarsToUnlock()) {
          setStarsToUnlock(other.getStarsToUnlock());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasHeader()) {
          return false;
        }
        if (!getHeader().isInitialized()) {
          return false;
        }
        if (hasCondition()) {
          if (!getCondition().isInitialized()) {
            return false;
          }
        }
        if (hasOwningRegion()) {
          if (!getOwningRegion().isInitialized()) {
            return false;
          }
        }
        for (int i = 0; i < getQuestOptionsCount(); i++) {
          if (!getQuestOptions(i).isInitialized()) {
            return false;
          }
        }
        if (hasStarType()) {
          if (!getStarType().isInitialized()) {
            return false;
          }
        }
        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: {
                input.readMessage(
                    getHeaderFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 34: {
                nameLoctoken_ = input.readBytes();
                bitField0_ |= 0x00000002;
                break;
              } // case 34
              case 53: {
                xPos_ = input.readFloat();
                bitField0_ |= 0x00000004;
                break;
              } // case 53
              case 61: {
                yPos_ = input.readFloat();
                bitField0_ |= 0x00000008;
                break;
              } // case 61
              case 74: {
                input.readMessage(
                    getConditionFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000010;
                break;
              } // case 74
              case 82: {
                input.readMessage(
                    getOwningRegionFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000020;
                break;
              } // case 82
              case 90: {
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.parser(),
                        extensionRegistry);
                if (questOptionsBuilder_ == null) {
                  ensureQuestOptionsIsMutable();
                  questOptions_.add(m);
                } else {
                  questOptionsBuilder_.addMessage(m);
                }
                break;
              } // case 90
              case 130: {
                associatedOperation_ = input.readBytes();
                bitField0_ |= 0x00000080;
                break;
              } // case 130
              case 146: {
                rewardItemName_ = input.readBytes();
                bitField0_ |= 0x00000100;
                break;
              } // case 146
              case 152: {
                int tmpRaw = input.readEnum();
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ENodeCashReward tmpValue =
                    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ENodeCashReward.forNumber(tmpRaw);
                if (tmpValue == null) {
                  mergeUnknownVarintField(19, tmpRaw);
                } else {
                  cashReward_ = tmpRaw;
                  bitField0_ |= 0x00000400;
                }
                break;
              } // case 152
              case 162: {
                input.readMessage(
                    getStarTypeFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000800;
                break;
              } // case 162
              case 168: {
                starsToUnlock_ = input.readUInt32();
                bitField0_ |= 0x00001000;
                break;
              } // case 168
              case 178: {
                rewardLootlistName_ = input.readBytes();
                bitField0_ |= 0x00000200;
                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 in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader header_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder> headerBuilder_;
      /**
       * required .CMsgProtoDefHeader header = 1;
       * @return Whether the header field is set.
       */
      public boolean hasHeader() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       * @return The header.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader() {
        if (headerBuilder_ == null) {
          return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
        } else {
          return headerBuilder_.getMessage();
        }
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder setHeader(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader value) {
        if (headerBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          header_ = value;
        } else {
          headerBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder setHeader(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder builderForValue) {
        if (headerBuilder_ == null) {
          header_ = builderForValue.build();
        } else {
          headerBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder mergeHeader(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader value) {
        if (headerBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
            header_ != null &&
            header_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance()) {
            getHeaderBuilder().mergeFrom(value);
          } else {
            header_ = value;
          }
        } else {
          headerBuilder_.mergeFrom(value);
        }
        if (header_ != null) {
          bitField0_ |= 0x00000001;
          onChanged();
        }
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder clearHeader() {
        bitField0_ = (bitField0_ & ~0x00000001);
        header_ = null;
        if (headerBuilder_ != null) {
          headerBuilder_.dispose();
          headerBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder getHeaderBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getHeaderFieldBuilder().getBuilder();
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder() {
        if (headerBuilder_ != null) {
          return headerBuilder_.getMessageOrBuilder();
        } else {
          return header_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
        }
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder> 
          getHeaderFieldBuilder() {
        if (headerBuilder_ == null) {
          headerBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder>(
                  getHeader(),
                  getParentForChildren(),
                  isClean());
          header_ = null;
        }
        return headerBuilder_;
      }

      private java.lang.Object nameLoctoken_ = "";
      /**
       * optional string name_loctoken = 4 [(.localized) = true, (.display_name) = "Node Name", (.comment) = "The name of this node"];
       * @return Whether the nameLoctoken field is set.
       */
      public boolean hasNameLoctoken() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional string name_loctoken = 4 [(.localized) = true, (.display_name) = "Node Name", (.comment) = "The name of this node"];
       * @return The nameLoctoken.
       */
      public java.lang.String getNameLoctoken() {
        java.lang.Object ref = nameLoctoken_;
        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()) {
            nameLoctoken_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string name_loctoken = 4 [(.localized) = true, (.display_name) = "Node Name", (.comment) = "The name of this node"];
       * @return The bytes for nameLoctoken.
       */
      public com.google.protobuf.ByteString
          getNameLoctokenBytes() {
        java.lang.Object ref = nameLoctoken_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          nameLoctoken_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string name_loctoken = 4 [(.localized) = true, (.display_name) = "Node Name", (.comment) = "The name of this node"];
       * @param value The nameLoctoken to set.
       * @return This builder for chaining.
       */
      public Builder setNameLoctoken(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        nameLoctoken_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional string name_loctoken = 4 [(.localized) = true, (.display_name) = "Node Name", (.comment) = "The name of this node"];
       * @return This builder for chaining.
       */
      public Builder clearNameLoctoken() {
        nameLoctoken_ = getDefaultInstance().getNameLoctoken();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * optional string name_loctoken = 4 [(.localized) = true, (.display_name) = "Node Name", (.comment) = "The name of this node"];
       * @param value The bytes for nameLoctoken to set.
       * @return This builder for chaining.
       */
      public Builder setNameLoctokenBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        nameLoctoken_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      private float xPos_ ;
      /**
       * optional float x_pos = 6 [(.display_name) = "Map X Pos", (.comment) = "X position on the quest map"];
       * @return Whether the xPos field is set.
       */
      @java.lang.Override
      public boolean hasXPos() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional float x_pos = 6 [(.display_name) = "Map X Pos", (.comment) = "X position on the quest map"];
       * @return The xPos.
       */
      @java.lang.Override
      public float getXPos() {
        return xPos_;
      }
      /**
       * optional float x_pos = 6 [(.display_name) = "Map X Pos", (.comment) = "X position on the quest map"];
       * @param value The xPos to set.
       * @return This builder for chaining.
       */
      public Builder setXPos(float value) {

        xPos_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional float x_pos = 6 [(.display_name) = "Map X Pos", (.comment) = "X position on the quest map"];
       * @return This builder for chaining.
       */
      public Builder clearXPos() {
        bitField0_ = (bitField0_ & ~0x00000004);
        xPos_ = 0F;
        onChanged();
        return this;
      }

      private float yPos_ ;
      /**
       * optional float y_pos = 7 [(.display_name) = "Map Y Pos", (.comment) = "Y position on the quest map"];
       * @return Whether the yPos field is set.
       */
      @java.lang.Override
      public boolean hasYPos() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional float y_pos = 7 [(.display_name) = "Map Y Pos", (.comment) = "Y position on the quest map"];
       * @return The yPos.
       */
      @java.lang.Override
      public float getYPos() {
        return yPos_;
      }
      /**
       * optional float y_pos = 7 [(.display_name) = "Map Y Pos", (.comment) = "Y position on the quest map"];
       * @param value The yPos to set.
       * @return This builder for chaining.
       */
      public Builder setYPos(float value) {

        yPos_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional float y_pos = 7 [(.display_name) = "Map Y Pos", (.comment) = "Y position on the quest map"];
       * @return This builder for chaining.
       */
      public Builder clearYPos() {
        bitField0_ = (bitField0_ & ~0x00000008);
        yPos_ = 0F;
        onChanged();
        return this;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition condition_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeConditionOrBuilder> conditionBuilder_;
      /**
       * optional .CMsgQuestMapNodeCondition condition = 9 [(.display_name) = "Conditions", (.comment) = "Logic to unlock this node. Can be nested with logic"];
       * @return Whether the condition field is set.
       */
      public boolean hasCondition() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * optional .CMsgQuestMapNodeCondition condition = 9 [(.display_name) = "Conditions", (.comment) = "Logic to unlock this node. Can be nested with logic"];
       * @return The condition.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition getCondition() {
        if (conditionBuilder_ == null) {
          return condition_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition.getDefaultInstance() : condition_;
        } else {
          return conditionBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgQuestMapNodeCondition condition = 9 [(.display_name) = "Conditions", (.comment) = "Logic to unlock this node. Can be nested with logic"];
       */
      public Builder setCondition(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition value) {
        if (conditionBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          condition_ = value;
        } else {
          conditionBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgQuestMapNodeCondition condition = 9 [(.display_name) = "Conditions", (.comment) = "Logic to unlock this node. Can be nested with logic"];
       */
      public Builder setCondition(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition.Builder builderForValue) {
        if (conditionBuilder_ == null) {
          condition_ = builderForValue.build();
        } else {
          conditionBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgQuestMapNodeCondition condition = 9 [(.display_name) = "Conditions", (.comment) = "Logic to unlock this node. Can be nested with logic"];
       */
      public Builder mergeCondition(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition value) {
        if (conditionBuilder_ == null) {
          if (((bitField0_ & 0x00000010) != 0) &&
            condition_ != null &&
            condition_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition.getDefaultInstance()) {
            getConditionBuilder().mergeFrom(value);
          } else {
            condition_ = value;
          }
        } else {
          conditionBuilder_.mergeFrom(value);
        }
        if (condition_ != null) {
          bitField0_ |= 0x00000010;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgQuestMapNodeCondition condition = 9 [(.display_name) = "Conditions", (.comment) = "Logic to unlock this node. Can be nested with logic"];
       */
      public Builder clearCondition() {
        bitField0_ = (bitField0_ & ~0x00000010);
        condition_ = null;
        if (conditionBuilder_ != null) {
          conditionBuilder_.dispose();
          conditionBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgQuestMapNodeCondition condition = 9 [(.display_name) = "Conditions", (.comment) = "Logic to unlock this node. Can be nested with logic"];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition.Builder getConditionBuilder() {
        bitField0_ |= 0x00000010;
        onChanged();
        return getConditionFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgQuestMapNodeCondition condition = 9 [(.display_name) = "Conditions", (.comment) = "Logic to unlock this node. Can be nested with logic"];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeConditionOrBuilder getConditionOrBuilder() {
        if (conditionBuilder_ != null) {
          return conditionBuilder_.getMessageOrBuilder();
        } else {
          return condition_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition.getDefaultInstance() : condition_;
        }
      }
      /**
       * optional .CMsgQuestMapNodeCondition condition = 9 [(.display_name) = "Conditions", (.comment) = "Logic to unlock this node. Can be nested with logic"];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeConditionOrBuilder> 
          getConditionFieldBuilder() {
        if (conditionBuilder_ == null) {
          conditionBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeConditionOrBuilder>(
                  getCondition(),
                  getParentForChildren(),
                  isClean());
          condition_ = null;
        }
        return conditionBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID owningRegion_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> owningRegionBuilder_;
      /**
       * optional .CMsgProtoDefID owning_region = 10 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION, (.display_name) = "Region", (.comment) = "Which region in the map this node shows up in"];
       * @return Whether the owningRegion field is set.
       */
      public boolean hasOwningRegion() {
        return ((bitField0_ & 0x00000020) != 0);
      }
      /**
       * optional .CMsgProtoDefID owning_region = 10 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION, (.display_name) = "Region", (.comment) = "Which region in the map this node shows up in"];
       * @return The owningRegion.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getOwningRegion() {
        if (owningRegionBuilder_ == null) {
          return owningRegion_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : owningRegion_;
        } else {
          return owningRegionBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgProtoDefID owning_region = 10 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION, (.display_name) = "Region", (.comment) = "Which region in the map this node shows up in"];
       */
      public Builder setOwningRegion(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
        if (owningRegionBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          owningRegion_ = value;
        } else {
          owningRegionBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgProtoDefID owning_region = 10 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION, (.display_name) = "Region", (.comment) = "Which region in the map this node shows up in"];
       */
      public Builder setOwningRegion(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder builderForValue) {
        if (owningRegionBuilder_ == null) {
          owningRegion_ = builderForValue.build();
        } else {
          owningRegionBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgProtoDefID owning_region = 10 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION, (.display_name) = "Region", (.comment) = "Which region in the map this node shows up in"];
       */
      public Builder mergeOwningRegion(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
        if (owningRegionBuilder_ == null) {
          if (((bitField0_ & 0x00000020) != 0) &&
            owningRegion_ != null &&
            owningRegion_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance()) {
            getOwningRegionBuilder().mergeFrom(value);
          } else {
            owningRegion_ = value;
          }
        } else {
          owningRegionBuilder_.mergeFrom(value);
        }
        if (owningRegion_ != null) {
          bitField0_ |= 0x00000020;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgProtoDefID owning_region = 10 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION, (.display_name) = "Region", (.comment) = "Which region in the map this node shows up in"];
       */
      public Builder clearOwningRegion() {
        bitField0_ = (bitField0_ & ~0x00000020);
        owningRegion_ = null;
        if (owningRegionBuilder_ != null) {
          owningRegionBuilder_.dispose();
          owningRegionBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgProtoDefID owning_region = 10 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION, (.display_name) = "Region", (.comment) = "Which region in the map this node shows up in"];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder getOwningRegionBuilder() {
        bitField0_ |= 0x00000020;
        onChanged();
        return getOwningRegionFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgProtoDefID owning_region = 10 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION, (.display_name) = "Region", (.comment) = "Which region in the map this node shows up in"];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getOwningRegionOrBuilder() {
        if (owningRegionBuilder_ != null) {
          return owningRegionBuilder_.getMessageOrBuilder();
        } else {
          return owningRegion_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : owningRegion_;
        }
      }
      /**
       * optional .CMsgProtoDefID owning_region = 10 [(.valid_type) = DEF_TYPE_QUEST_MAP_REGION, (.display_name) = "Region", (.comment) = "Which region in the map this node shows up in"];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> 
          getOwningRegionFieldBuilder() {
        if (owningRegionBuilder_ == null) {
          owningRegionBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder>(
                  getOwningRegion(),
                  getParentForChildren(),
                  isClean());
          owningRegion_ = null;
        }
        return owningRegionBuilder_;
      }

      private java.util.List questOptions_ =
        java.util.Collections.emptyList();
      private void ensureQuestOptionsIsMutable() {
        if (!((bitField0_ & 0x00000040) != 0)) {
          questOptions_ = new java.util.ArrayList(questOptions_);
          bitField0_ |= 0x00000040;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> questOptionsBuilder_;

      /**
       * repeated .CMsgProtoDefID quest_options = 11 [(.valid_type) = DEF_TYPE_QUEST, (.display_name) = "Offered Quests", (.comment) = "Which quests this node offers.", (.max_count) = 3];
       */
      public java.util.List getQuestOptionsList() {
        if (questOptionsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(questOptions_);
        } else {
          return questOptionsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CMsgProtoDefID quest_options = 11 [(.valid_type) = DEF_TYPE_QUEST, (.display_name) = "Offered Quests", (.comment) = "Which quests this node offers.", (.max_count) = 3];
       */
      public int getQuestOptionsCount() {
        if (questOptionsBuilder_ == null) {
          return questOptions_.size();
        } else {
          return questOptionsBuilder_.getCount();
        }
      }
      /**
       * repeated .CMsgProtoDefID quest_options = 11 [(.valid_type) = DEF_TYPE_QUEST, (.display_name) = "Offered Quests", (.comment) = "Which quests this node offers.", (.max_count) = 3];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getQuestOptions(int index) {
        if (questOptionsBuilder_ == null) {
          return questOptions_.get(index);
        } else {
          return questOptionsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CMsgProtoDefID quest_options = 11 [(.valid_type) = DEF_TYPE_QUEST, (.display_name) = "Offered Quests", (.comment) = "Which quests this node offers.", (.max_count) = 3];
       */
      public Builder setQuestOptions(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
        if (questOptionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureQuestOptionsIsMutable();
          questOptions_.set(index, value);
          onChanged();
        } else {
          questOptionsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgProtoDefID quest_options = 11 [(.valid_type) = DEF_TYPE_QUEST, (.display_name) = "Offered Quests", (.comment) = "Which quests this node offers.", (.max_count) = 3];
       */
      public Builder setQuestOptions(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder builderForValue) {
        if (questOptionsBuilder_ == null) {
          ensureQuestOptionsIsMutable();
          questOptions_.set(index, builderForValue.build());
          onChanged();
        } else {
          questOptionsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgProtoDefID quest_options = 11 [(.valid_type) = DEF_TYPE_QUEST, (.display_name) = "Offered Quests", (.comment) = "Which quests this node offers.", (.max_count) = 3];
       */
      public Builder addQuestOptions(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
        if (questOptionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureQuestOptionsIsMutable();
          questOptions_.add(value);
          onChanged();
        } else {
          questOptionsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CMsgProtoDefID quest_options = 11 [(.valid_type) = DEF_TYPE_QUEST, (.display_name) = "Offered Quests", (.comment) = "Which quests this node offers.", (.max_count) = 3];
       */
      public Builder addQuestOptions(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
        if (questOptionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureQuestOptionsIsMutable();
          questOptions_.add(index, value);
          onChanged();
        } else {
          questOptionsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgProtoDefID quest_options = 11 [(.valid_type) = DEF_TYPE_QUEST, (.display_name) = "Offered Quests", (.comment) = "Which quests this node offers.", (.max_count) = 3];
       */
      public Builder addQuestOptions(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder builderForValue) {
        if (questOptionsBuilder_ == null) {
          ensureQuestOptionsIsMutable();
          questOptions_.add(builderForValue.build());
          onChanged();
        } else {
          questOptionsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgProtoDefID quest_options = 11 [(.valid_type) = DEF_TYPE_QUEST, (.display_name) = "Offered Quests", (.comment) = "Which quests this node offers.", (.max_count) = 3];
       */
      public Builder addQuestOptions(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder builderForValue) {
        if (questOptionsBuilder_ == null) {
          ensureQuestOptionsIsMutable();
          questOptions_.add(index, builderForValue.build());
          onChanged();
        } else {
          questOptionsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgProtoDefID quest_options = 11 [(.valid_type) = DEF_TYPE_QUEST, (.display_name) = "Offered Quests", (.comment) = "Which quests this node offers.", (.max_count) = 3];
       */
      public Builder addAllQuestOptions(
          java.lang.Iterable values) {
        if (questOptionsBuilder_ == null) {
          ensureQuestOptionsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, questOptions_);
          onChanged();
        } else {
          questOptionsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CMsgProtoDefID quest_options = 11 [(.valid_type) = DEF_TYPE_QUEST, (.display_name) = "Offered Quests", (.comment) = "Which quests this node offers.", (.max_count) = 3];
       */
      public Builder clearQuestOptions() {
        if (questOptionsBuilder_ == null) {
          questOptions_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000040);
          onChanged();
        } else {
          questOptionsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CMsgProtoDefID quest_options = 11 [(.valid_type) = DEF_TYPE_QUEST, (.display_name) = "Offered Quests", (.comment) = "Which quests this node offers.", (.max_count) = 3];
       */
      public Builder removeQuestOptions(int index) {
        if (questOptionsBuilder_ == null) {
          ensureQuestOptionsIsMutable();
          questOptions_.remove(index);
          onChanged();
        } else {
          questOptionsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CMsgProtoDefID quest_options = 11 [(.valid_type) = DEF_TYPE_QUEST, (.display_name) = "Offered Quests", (.comment) = "Which quests this node offers.", (.max_count) = 3];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder getQuestOptionsBuilder(
          int index) {
        return getQuestOptionsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CMsgProtoDefID quest_options = 11 [(.valid_type) = DEF_TYPE_QUEST, (.display_name) = "Offered Quests", (.comment) = "Which quests this node offers.", (.max_count) = 3];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getQuestOptionsOrBuilder(
          int index) {
        if (questOptionsBuilder_ == null) {
          return questOptions_.get(index);  } else {
          return questOptionsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CMsgProtoDefID quest_options = 11 [(.valid_type) = DEF_TYPE_QUEST, (.display_name) = "Offered Quests", (.comment) = "Which quests this node offers.", (.max_count) = 3];
       */
      public java.util.List 
           getQuestOptionsOrBuilderList() {
        if (questOptionsBuilder_ != null) {
          return questOptionsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(questOptions_);
        }
      }
      /**
       * repeated .CMsgProtoDefID quest_options = 11 [(.valid_type) = DEF_TYPE_QUEST, (.display_name) = "Offered Quests", (.comment) = "Which quests this node offers.", (.max_count) = 3];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder addQuestOptionsBuilder() {
        return getQuestOptionsFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance());
      }
      /**
       * repeated .CMsgProtoDefID quest_options = 11 [(.valid_type) = DEF_TYPE_QUEST, (.display_name) = "Offered Quests", (.comment) = "Which quests this node offers.", (.max_count) = 3];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder addQuestOptionsBuilder(
          int index) {
        return getQuestOptionsFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance());
      }
      /**
       * repeated .CMsgProtoDefID quest_options = 11 [(.valid_type) = DEF_TYPE_QUEST, (.display_name) = "Offered Quests", (.comment) = "Which quests this node offers.", (.max_count) = 3];
       */
      public java.util.List 
           getQuestOptionsBuilderList() {
        return getQuestOptionsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> 
          getQuestOptionsFieldBuilder() {
        if (questOptionsBuilder_ == null) {
          questOptionsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder>(
                  questOptions_,
                  ((bitField0_ & 0x00000040) != 0),
                  getParentForChildren(),
                  isClean());
          questOptions_ = null;
        }
        return questOptionsBuilder_;
      }

      private java.lang.Object associatedOperation_ = "";
      /**
       * optional string associated_operation = 16 [(.display_name) = "Associated Operation", (.comment) = "Operation this node is associated with"];
       * @return Whether the associatedOperation field is set.
       */
      public boolean hasAssociatedOperation() {
        return ((bitField0_ & 0x00000080) != 0);
      }
      /**
       * optional string associated_operation = 16 [(.display_name) = "Associated Operation", (.comment) = "Operation this node is associated with"];
       * @return The associatedOperation.
       */
      public java.lang.String getAssociatedOperation() {
        java.lang.Object ref = associatedOperation_;
        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()) {
            associatedOperation_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string associated_operation = 16 [(.display_name) = "Associated Operation", (.comment) = "Operation this node is associated with"];
       * @return The bytes for associatedOperation.
       */
      public com.google.protobuf.ByteString
          getAssociatedOperationBytes() {
        java.lang.Object ref = associatedOperation_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          associatedOperation_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string associated_operation = 16 [(.display_name) = "Associated Operation", (.comment) = "Operation this node is associated with"];
       * @param value The associatedOperation to set.
       * @return This builder for chaining.
       */
      public Builder setAssociatedOperation(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        associatedOperation_ = value;
        bitField0_ |= 0x00000080;
        onChanged();
        return this;
      }
      /**
       * optional string associated_operation = 16 [(.display_name) = "Associated Operation", (.comment) = "Operation this node is associated with"];
       * @return This builder for chaining.
       */
      public Builder clearAssociatedOperation() {
        associatedOperation_ = getDefaultInstance().getAssociatedOperation();
        bitField0_ = (bitField0_ & ~0x00000080);
        onChanged();
        return this;
      }
      /**
       * optional string associated_operation = 16 [(.display_name) = "Associated Operation", (.comment) = "Operation this node is associated with"];
       * @param value The bytes for associatedOperation to set.
       * @return This builder for chaining.
       */
      public Builder setAssociatedOperationBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        associatedOperation_ = value;
        bitField0_ |= 0x00000080;
        onChanged();
        return this;
      }

      private java.lang.Object rewardItemName_ = "";
      /**
       * optional string reward_item_name = 18 [(.display_name) = "Reward Item", (.comment) = "The name of an item to give as a reward"];
       * @return Whether the rewardItemName field is set.
       */
      public boolean hasRewardItemName() {
        return ((bitField0_ & 0x00000100) != 0);
      }
      /**
       * optional string reward_item_name = 18 [(.display_name) = "Reward Item", (.comment) = "The name of an item to give as a reward"];
       * @return The rewardItemName.
       */
      public java.lang.String getRewardItemName() {
        java.lang.Object ref = rewardItemName_;
        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()) {
            rewardItemName_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string reward_item_name = 18 [(.display_name) = "Reward Item", (.comment) = "The name of an item to give as a reward"];
       * @return The bytes for rewardItemName.
       */
      public com.google.protobuf.ByteString
          getRewardItemNameBytes() {
        java.lang.Object ref = rewardItemName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          rewardItemName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string reward_item_name = 18 [(.display_name) = "Reward Item", (.comment) = "The name of an item to give as a reward"];
       * @param value The rewardItemName to set.
       * @return This builder for chaining.
       */
      public Builder setRewardItemName(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        rewardItemName_ = value;
        bitField0_ |= 0x00000100;
        onChanged();
        return this;
      }
      /**
       * optional string reward_item_name = 18 [(.display_name) = "Reward Item", (.comment) = "The name of an item to give as a reward"];
       * @return This builder for chaining.
       */
      public Builder clearRewardItemName() {
        rewardItemName_ = getDefaultInstance().getRewardItemName();
        bitField0_ = (bitField0_ & ~0x00000100);
        onChanged();
        return this;
      }
      /**
       * optional string reward_item_name = 18 [(.display_name) = "Reward Item", (.comment) = "The name of an item to give as a reward"];
       * @param value The bytes for rewardItemName to set.
       * @return This builder for chaining.
       */
      public Builder setRewardItemNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        rewardItemName_ = value;
        bitField0_ |= 0x00000100;
        onChanged();
        return this;
      }

      private java.lang.Object rewardLootlistName_ = "";
      /**
       * optional string reward_lootlist_name = 22 [(.display_name) = "Reward Lootlist", (.comment) = "The name of the lootlist to roll as a reward"];
       * @return Whether the rewardLootlistName field is set.
       */
      public boolean hasRewardLootlistName() {
        return ((bitField0_ & 0x00000200) != 0);
      }
      /**
       * optional string reward_lootlist_name = 22 [(.display_name) = "Reward Lootlist", (.comment) = "The name of the lootlist to roll as a reward"];
       * @return The rewardLootlistName.
       */
      public java.lang.String getRewardLootlistName() {
        java.lang.Object ref = rewardLootlistName_;
        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()) {
            rewardLootlistName_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string reward_lootlist_name = 22 [(.display_name) = "Reward Lootlist", (.comment) = "The name of the lootlist to roll as a reward"];
       * @return The bytes for rewardLootlistName.
       */
      public com.google.protobuf.ByteString
          getRewardLootlistNameBytes() {
        java.lang.Object ref = rewardLootlistName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          rewardLootlistName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string reward_lootlist_name = 22 [(.display_name) = "Reward Lootlist", (.comment) = "The name of the lootlist to roll as a reward"];
       * @param value The rewardLootlistName to set.
       * @return This builder for chaining.
       */
      public Builder setRewardLootlistName(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        rewardLootlistName_ = value;
        bitField0_ |= 0x00000200;
        onChanged();
        return this;
      }
      /**
       * optional string reward_lootlist_name = 22 [(.display_name) = "Reward Lootlist", (.comment) = "The name of the lootlist to roll as a reward"];
       * @return This builder for chaining.
       */
      public Builder clearRewardLootlistName() {
        rewardLootlistName_ = getDefaultInstance().getRewardLootlistName();
        bitField0_ = (bitField0_ & ~0x00000200);
        onChanged();
        return this;
      }
      /**
       * optional string reward_lootlist_name = 22 [(.display_name) = "Reward Lootlist", (.comment) = "The name of the lootlist to roll as a reward"];
       * @param value The bytes for rewardLootlistName to set.
       * @return This builder for chaining.
       */
      public Builder setRewardLootlistNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        rewardLootlistName_ = value;
        bitField0_ |= 0x00000200;
        onChanged();
        return this;
      }

      private int cashReward_ = 1;
      /**
       * optional .ENodeCashReward cash_reward = 19 [default = CASH_REWARD_NONE, (.display_name) = "Cash Reward", (.comment) = "How much cash to give when completing the primary objective"];
       * @return Whether the cashReward field is set.
       */
      @java.lang.Override public boolean hasCashReward() {
        return ((bitField0_ & 0x00000400) != 0);
      }
      /**
       * optional .ENodeCashReward cash_reward = 19 [default = CASH_REWARD_NONE, (.display_name) = "Cash Reward", (.comment) = "How much cash to give when completing the primary objective"];
       * @return The cashReward.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ENodeCashReward getCashReward() {
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ENodeCashReward result = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ENodeCashReward.forNumber(cashReward_);
        return result == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ENodeCashReward.CASH_REWARD_NONE : result;
      }
      /**
       * optional .ENodeCashReward cash_reward = 19 [default = CASH_REWARD_NONE, (.display_name) = "Cash Reward", (.comment) = "How much cash to give when completing the primary objective"];
       * @param value The cashReward to set.
       * @return This builder for chaining.
       */
      public Builder setCashReward(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ENodeCashReward value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000400;
        cashReward_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * optional .ENodeCashReward cash_reward = 19 [default = CASH_REWARD_NONE, (.display_name) = "Cash Reward", (.comment) = "How much cash to give when completing the primary objective"];
       * @return This builder for chaining.
       */
      public Builder clearCashReward() {
        bitField0_ = (bitField0_ & ~0x00000400);
        cashReward_ = 1;
        onChanged();
        return this;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID starType_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> starTypeBuilder_;
      /**
       * optional .CMsgProtoDefID star_type = 20 [(.valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (.display_name) = "Star Type", (.comment) = "Which type of star this node uses"];
       * @return Whether the starType field is set.
       */
      public boolean hasStarType() {
        return ((bitField0_ & 0x00000800) != 0);
      }
      /**
       * optional .CMsgProtoDefID star_type = 20 [(.valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (.display_name) = "Star Type", (.comment) = "Which type of star this node uses"];
       * @return The starType.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getStarType() {
        if (starTypeBuilder_ == null) {
          return starType_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : starType_;
        } else {
          return starTypeBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgProtoDefID star_type = 20 [(.valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (.display_name) = "Star Type", (.comment) = "Which type of star this node uses"];
       */
      public Builder setStarType(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
        if (starTypeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          starType_ = value;
        } else {
          starTypeBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000800;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgProtoDefID star_type = 20 [(.valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (.display_name) = "Star Type", (.comment) = "Which type of star this node uses"];
       */
      public Builder setStarType(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder builderForValue) {
        if (starTypeBuilder_ == null) {
          starType_ = builderForValue.build();
        } else {
          starTypeBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000800;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgProtoDefID star_type = 20 [(.valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (.display_name) = "Star Type", (.comment) = "Which type of star this node uses"];
       */
      public Builder mergeStarType(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
        if (starTypeBuilder_ == null) {
          if (((bitField0_ & 0x00000800) != 0) &&
            starType_ != null &&
            starType_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance()) {
            getStarTypeBuilder().mergeFrom(value);
          } else {
            starType_ = value;
          }
        } else {
          starTypeBuilder_.mergeFrom(value);
        }
        if (starType_ != null) {
          bitField0_ |= 0x00000800;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgProtoDefID star_type = 20 [(.valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (.display_name) = "Star Type", (.comment) = "Which type of star this node uses"];
       */
      public Builder clearStarType() {
        bitField0_ = (bitField0_ & ~0x00000800);
        starType_ = null;
        if (starTypeBuilder_ != null) {
          starTypeBuilder_.dispose();
          starTypeBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgProtoDefID star_type = 20 [(.valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (.display_name) = "Star Type", (.comment) = "Which type of star this node uses"];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder getStarTypeBuilder() {
        bitField0_ |= 0x00000800;
        onChanged();
        return getStarTypeFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgProtoDefID star_type = 20 [(.valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (.display_name) = "Star Type", (.comment) = "Which type of star this node uses"];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getStarTypeOrBuilder() {
        if (starTypeBuilder_ != null) {
          return starTypeBuilder_.getMessageOrBuilder();
        } else {
          return starType_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : starType_;
        }
      }
      /**
       * optional .CMsgProtoDefID star_type = 20 [(.valid_type) = DEF_TYPE_QUEST_MAP_STAR_TYPE, (.display_name) = "Star Type", (.comment) = "Which type of star this node uses"];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> 
          getStarTypeFieldBuilder() {
        if (starTypeBuilder_ == null) {
          starTypeBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder>(
                  getStarType(),
                  getParentForChildren(),
                  isClean());
          starType_ = null;
        }
        return starTypeBuilder_;
      }

      private int starsToUnlock_ = 1;
      /**
       * optional uint32 stars_to_unlock = 21 [default = 1, (.display_name) = "Stars to Unlock", (.comment) = "Numbers of stars it costs to unlock"];
       * @return Whether the starsToUnlock field is set.
       */
      @java.lang.Override
      public boolean hasStarsToUnlock() {
        return ((bitField0_ & 0x00001000) != 0);
      }
      /**
       * optional uint32 stars_to_unlock = 21 [default = 1, (.display_name) = "Stars to Unlock", (.comment) = "Numbers of stars it costs to unlock"];
       * @return The starsToUnlock.
       */
      @java.lang.Override
      public int getStarsToUnlock() {
        return starsToUnlock_;
      }
      /**
       * optional uint32 stars_to_unlock = 21 [default = 1, (.display_name) = "Stars to Unlock", (.comment) = "Numbers of stars it costs to unlock"];
       * @param value The starsToUnlock to set.
       * @return This builder for chaining.
       */
      public Builder setStarsToUnlock(int value) {

        starsToUnlock_ = value;
        bitField0_ |= 0x00001000;
        onChanged();
        return this;
      }
      /**
       * optional uint32 stars_to_unlock = 21 [default = 1, (.display_name) = "Stars to Unlock", (.comment) = "Numbers of stars it costs to unlock"];
       * @return This builder for chaining.
       */
      public Builder clearStarsToUnlock() {
        bitField0_ = (bitField0_ & ~0x00001000);
        starsToUnlock_ = 1;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgQuestMapNodeDef)
    }

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

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

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

  }

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

    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return Whether the header field is set.
     */
    boolean hasHeader();
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return The header.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader();
    /**
     * required .CMsgProtoDefHeader header = 1;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder();
  }
  /**
   * Protobuf type {@code CMsgPaintKit_Variables}
   */
  public static final class CMsgPaintKit_Variables extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgPaintKit_Variables)
      CMsgPaintKit_VariablesOrBuilder {
  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= */ "",
        CMsgPaintKit_Variables.class.getName());
    }
    // Use CMsgPaintKit_Variables.newBuilder() to construct.
    private CMsgPaintKit_Variables(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgPaintKit_Variables() {
    }

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

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

    private int bitField0_;
    public static final int HEADER_FIELD_NUMBER = 1;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader header_;
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return Whether the header field is set.
     */
    @java.lang.Override
    public boolean hasHeader() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return The header.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader() {
      return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
    }
    /**
     * required .CMsgProtoDefHeader header = 1;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder() {
      return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
    }

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

      if (!hasHeader()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getHeader().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getHeader());
      }
      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
          .computeMessageSize(1, getHeader());
      }
      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.TfProtoDefMessages.CMsgPaintKit_Variables)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables) obj;

      if (hasHeader() != other.hasHeader()) return false;
      if (hasHeader()) {
        if (!getHeader()
            .equals(other.getHeader())) 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 (hasHeader()) {
        hash = (37 * hash) + HEADER_FIELD_NUMBER;
        hash = (53 * hash) + getHeader().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables 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.TfProtoDefMessages.CMsgPaintKit_Variables parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables 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.TfProtoDefMessages.CMsgPaintKit_Variables parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables 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.TfProtoDefMessages.CMsgPaintKit_Variables parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables 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.TfProtoDefMessages.CMsgPaintKit_Variables parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables 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.TfProtoDefMessages.CMsgPaintKit_Variables 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.TfProtoDefMessages.CMsgPaintKit_Variables 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.TfProtoDefMessages.CMsgPaintKit_Variables 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 CMsgPaintKit_Variables}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgPaintKit_Variables)
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_VariablesOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgPaintKit_Variables_descriptor;
      }

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

      // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage
                .alwaysUseFieldBuilders) {
          getHeaderFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        header_ = null;
        if (headerBuilder_ != null) {
          headerBuilder_.dispose();
          headerBuilder_ = null;
        }
        return this;
      }

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

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

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

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

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.header_ = headerBuilder_ == null
              ? header_
              : headerBuilder_.build();
          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.TfProtoDefMessages.CMsgPaintKit_Variables) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Variables.getDefaultInstance()) return this;
        if (other.hasHeader()) {
          mergeHeader(other.getHeader());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasHeader()) {
          return false;
        }
        if (!getHeader().isInitialized()) {
          return false;
        }
        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: {
                input.readMessage(
                    getHeaderFieldBuilder().getBuilder(),
                    extensionRegistry);
                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 in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader header_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder> headerBuilder_;
      /**
       * required .CMsgProtoDefHeader header = 1;
       * @return Whether the header field is set.
       */
      public boolean hasHeader() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       * @return The header.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader() {
        if (headerBuilder_ == null) {
          return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
        } else {
          return headerBuilder_.getMessage();
        }
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder setHeader(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader value) {
        if (headerBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          header_ = value;
        } else {
          headerBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder setHeader(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder builderForValue) {
        if (headerBuilder_ == null) {
          header_ = builderForValue.build();
        } else {
          headerBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder mergeHeader(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader value) {
        if (headerBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
            header_ != null &&
            header_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance()) {
            getHeaderBuilder().mergeFrom(value);
          } else {
            header_ = value;
          }
        } else {
          headerBuilder_.mergeFrom(value);
        }
        if (header_ != null) {
          bitField0_ |= 0x00000001;
          onChanged();
        }
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder clearHeader() {
        bitField0_ = (bitField0_ & ~0x00000001);
        header_ = null;
        if (headerBuilder_ != null) {
          headerBuilder_.dispose();
          headerBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder getHeaderBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getHeaderFieldBuilder().getBuilder();
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder() {
        if (headerBuilder_ != null) {
          return headerBuilder_.getMessageOrBuilder();
        } else {
          return header_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
        }
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder> 
          getHeaderFieldBuilder() {
        if (headerBuilder_ == null) {
          headerBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder>(
                  getHeader(),
                  getParentForChildren(),
                  isClean());
          header_ = null;
        }
        return headerBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgPaintKit_Variables)
    }

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

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

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

  }

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

    /**
     * optional .CMsgVarField texture = 1 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the texture field is set.
     */
    boolean hasTexture();
    /**
     * optional .CMsgVarField texture = 1 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The texture.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getTexture();
    /**
     * optional .CMsgVarField texture = 1 [(.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getTextureOrBuilder();

    /**
     * optional .CMsgVarField texture_red = 2 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the textureRed field is set.
     */
    boolean hasTextureRed();
    /**
     * optional .CMsgVarField texture_red = 2 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The textureRed.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getTextureRed();
    /**
     * optional .CMsgVarField texture_red = 2 [(.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getTextureRedOrBuilder();

    /**
     * optional .CMsgVarField texture_blue = 3 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the textureBlue field is set.
     */
    boolean hasTextureBlue();
    /**
     * optional .CMsgVarField texture_blue = 3 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The textureBlue.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getTextureBlue();
    /**
     * optional .CMsgVarField texture_blue = 3 [(.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getTextureBlueOrBuilder();

    /**
     * optional .CMsgVarField adjust_black = 4 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the adjustBlack field is set.
     */
    boolean hasAdjustBlack();
    /**
     * optional .CMsgVarField adjust_black = 4 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The adjustBlack.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getAdjustBlack();
    /**
     * optional .CMsgVarField adjust_black = 4 [(.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getAdjustBlackOrBuilder();

    /**
     * optional .CMsgVarField adjust_offset = 5 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the adjustOffset field is set.
     */
    boolean hasAdjustOffset();
    /**
     * optional .CMsgVarField adjust_offset = 5 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The adjustOffset.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getAdjustOffset();
    /**
     * optional .CMsgVarField adjust_offset = 5 [(.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getAdjustOffsetOrBuilder();

    /**
     * optional .CMsgVarField adjust_gamma = 6 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the adjustGamma field is set.
     */
    boolean hasAdjustGamma();
    /**
     * optional .CMsgVarField adjust_gamma = 6 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The adjustGamma.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getAdjustGamma();
    /**
     * optional .CMsgVarField adjust_gamma = 6 [(.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getAdjustGammaOrBuilder();

    /**
     * optional .CMsgVarField rotation = 7 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the rotation field is set.
     */
    boolean hasRotation();
    /**
     * optional .CMsgVarField rotation = 7 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The rotation.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getRotation();
    /**
     * optional .CMsgVarField rotation = 7 [(.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getRotationOrBuilder();

    /**
     * optional .CMsgVarField translate_u = 8 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the translateU field is set.
     */
    boolean hasTranslateU();
    /**
     * optional .CMsgVarField translate_u = 8 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The translateU.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getTranslateU();
    /**
     * optional .CMsgVarField translate_u = 8 [(.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getTranslateUOrBuilder();

    /**
     * optional .CMsgVarField translate_v = 9 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the translateV field is set.
     */
    boolean hasTranslateV();
    /**
     * optional .CMsgVarField translate_v = 9 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The translateV.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getTranslateV();
    /**
     * optional .CMsgVarField translate_v = 9 [(.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getTranslateVOrBuilder();

    /**
     * optional .CMsgVarField scale_uv = 10 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the scaleUv field is set.
     */
    boolean hasScaleUv();
    /**
     * optional .CMsgVarField scale_uv = 10 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The scaleUv.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getScaleUv();
    /**
     * optional .CMsgVarField scale_uv = 10 [(.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getScaleUvOrBuilder();

    /**
     * optional .CMsgVarField flip_u = 11 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the flipU field is set.
     */
    boolean hasFlipU();
    /**
     * optional .CMsgVarField flip_u = 11 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The flipU.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getFlipU();
    /**
     * optional .CMsgVarField flip_u = 11 [(.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getFlipUOrBuilder();

    /**
     * optional .CMsgVarField flip_v = 12 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the flipV field is set.
     */
    boolean hasFlipV();
    /**
     * optional .CMsgVarField flip_v = 12 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The flipV.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getFlipV();
    /**
     * optional .CMsgVarField flip_v = 12 [(.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getFlipVOrBuilder();
  }
  /**
   * Protobuf type {@code CMsgPaintKit_Operation_TextureStage}
   */
  public static final class CMsgPaintKit_Operation_TextureStage extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgPaintKit_Operation_TextureStage)
      CMsgPaintKit_Operation_TextureStageOrBuilder {
  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= */ "",
        CMsgPaintKit_Operation_TextureStage.class.getName());
    }
    // Use CMsgPaintKit_Operation_TextureStage.newBuilder() to construct.
    private CMsgPaintKit_Operation_TextureStage(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgPaintKit_Operation_TextureStage() {
    }

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

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

    private int bitField0_;
    public static final int TEXTURE_FIELD_NUMBER = 1;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField texture_;
    /**
     * optional .CMsgVarField texture = 1 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the texture field is set.
     */
    @java.lang.Override
    public boolean hasTexture() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional .CMsgVarField texture = 1 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The texture.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getTexture() {
      return texture_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : texture_;
    }
    /**
     * optional .CMsgVarField texture = 1 [(.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getTextureOrBuilder() {
      return texture_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : texture_;
    }

    public static final int TEXTURE_RED_FIELD_NUMBER = 2;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField textureRed_;
    /**
     * optional .CMsgVarField texture_red = 2 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the textureRed field is set.
     */
    @java.lang.Override
    public boolean hasTextureRed() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional .CMsgVarField texture_red = 2 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The textureRed.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getTextureRed() {
      return textureRed_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : textureRed_;
    }
    /**
     * optional .CMsgVarField texture_red = 2 [(.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getTextureRedOrBuilder() {
      return textureRed_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : textureRed_;
    }

    public static final int TEXTURE_BLUE_FIELD_NUMBER = 3;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField textureBlue_;
    /**
     * optional .CMsgVarField texture_blue = 3 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the textureBlue field is set.
     */
    @java.lang.Override
    public boolean hasTextureBlue() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional .CMsgVarField texture_blue = 3 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The textureBlue.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getTextureBlue() {
      return textureBlue_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : textureBlue_;
    }
    /**
     * optional .CMsgVarField texture_blue = 3 [(.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getTextureBlueOrBuilder() {
      return textureBlue_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : textureBlue_;
    }

    public static final int ADJUST_BLACK_FIELD_NUMBER = 4;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField adjustBlack_;
    /**
     * optional .CMsgVarField adjust_black = 4 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the adjustBlack field is set.
     */
    @java.lang.Override
    public boolean hasAdjustBlack() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional .CMsgVarField adjust_black = 4 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The adjustBlack.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getAdjustBlack() {
      return adjustBlack_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustBlack_;
    }
    /**
     * optional .CMsgVarField adjust_black = 4 [(.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getAdjustBlackOrBuilder() {
      return adjustBlack_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustBlack_;
    }

    public static final int ADJUST_OFFSET_FIELD_NUMBER = 5;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField adjustOffset_;
    /**
     * optional .CMsgVarField adjust_offset = 5 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the adjustOffset field is set.
     */
    @java.lang.Override
    public boolean hasAdjustOffset() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * optional .CMsgVarField adjust_offset = 5 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The adjustOffset.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getAdjustOffset() {
      return adjustOffset_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustOffset_;
    }
    /**
     * optional .CMsgVarField adjust_offset = 5 [(.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getAdjustOffsetOrBuilder() {
      return adjustOffset_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustOffset_;
    }

    public static final int ADJUST_GAMMA_FIELD_NUMBER = 6;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField adjustGamma_;
    /**
     * optional .CMsgVarField adjust_gamma = 6 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the adjustGamma field is set.
     */
    @java.lang.Override
    public boolean hasAdjustGamma() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * optional .CMsgVarField adjust_gamma = 6 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The adjustGamma.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getAdjustGamma() {
      return adjustGamma_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustGamma_;
    }
    /**
     * optional .CMsgVarField adjust_gamma = 6 [(.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getAdjustGammaOrBuilder() {
      return adjustGamma_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustGamma_;
    }

    public static final int ROTATION_FIELD_NUMBER = 7;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField rotation_;
    /**
     * optional .CMsgVarField rotation = 7 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the rotation field is set.
     */
    @java.lang.Override
    public boolean hasRotation() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     * optional .CMsgVarField rotation = 7 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The rotation.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getRotation() {
      return rotation_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : rotation_;
    }
    /**
     * optional .CMsgVarField rotation = 7 [(.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getRotationOrBuilder() {
      return rotation_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : rotation_;
    }

    public static final int TRANSLATE_U_FIELD_NUMBER = 8;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField translateU_;
    /**
     * optional .CMsgVarField translate_u = 8 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the translateU field is set.
     */
    @java.lang.Override
    public boolean hasTranslateU() {
      return ((bitField0_ & 0x00000080) != 0);
    }
    /**
     * optional .CMsgVarField translate_u = 8 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The translateU.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getTranslateU() {
      return translateU_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : translateU_;
    }
    /**
     * optional .CMsgVarField translate_u = 8 [(.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getTranslateUOrBuilder() {
      return translateU_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : translateU_;
    }

    public static final int TRANSLATE_V_FIELD_NUMBER = 9;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField translateV_;
    /**
     * optional .CMsgVarField translate_v = 9 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the translateV field is set.
     */
    @java.lang.Override
    public boolean hasTranslateV() {
      return ((bitField0_ & 0x00000100) != 0);
    }
    /**
     * optional .CMsgVarField translate_v = 9 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The translateV.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getTranslateV() {
      return translateV_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : translateV_;
    }
    /**
     * optional .CMsgVarField translate_v = 9 [(.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getTranslateVOrBuilder() {
      return translateV_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : translateV_;
    }

    public static final int SCALE_UV_FIELD_NUMBER = 10;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField scaleUv_;
    /**
     * optional .CMsgVarField scale_uv = 10 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the scaleUv field is set.
     */
    @java.lang.Override
    public boolean hasScaleUv() {
      return ((bitField0_ & 0x00000200) != 0);
    }
    /**
     * optional .CMsgVarField scale_uv = 10 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The scaleUv.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getScaleUv() {
      return scaleUv_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : scaleUv_;
    }
    /**
     * optional .CMsgVarField scale_uv = 10 [(.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getScaleUvOrBuilder() {
      return scaleUv_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : scaleUv_;
    }

    public static final int FLIP_U_FIELD_NUMBER = 11;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField flipU_;
    /**
     * optional .CMsgVarField flip_u = 11 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the flipU field is set.
     */
    @java.lang.Override
    public boolean hasFlipU() {
      return ((bitField0_ & 0x00000400) != 0);
    }
    /**
     * optional .CMsgVarField flip_u = 11 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The flipU.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getFlipU() {
      return flipU_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : flipU_;
    }
    /**
     * optional .CMsgVarField flip_u = 11 [(.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getFlipUOrBuilder() {
      return flipU_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : flipU_;
    }

    public static final int FLIP_V_FIELD_NUMBER = 12;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField flipV_;
    /**
     * optional .CMsgVarField flip_v = 12 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the flipV field is set.
     */
    @java.lang.Override
    public boolean hasFlipV() {
      return ((bitField0_ & 0x00000800) != 0);
    }
    /**
     * optional .CMsgVarField flip_v = 12 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The flipV.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getFlipV() {
      return flipV_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : flipV_;
    }
    /**
     * optional .CMsgVarField flip_v = 12 [(.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getFlipVOrBuilder() {
      return flipV_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : flipV_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getTexture());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeMessage(2, getTextureRed());
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeMessage(3, getTextureBlue());
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeMessage(4, getAdjustBlack());
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        output.writeMessage(5, getAdjustOffset());
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        output.writeMessage(6, getAdjustGamma());
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        output.writeMessage(7, getRotation());
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        output.writeMessage(8, getTranslateU());
      }
      if (((bitField0_ & 0x00000100) != 0)) {
        output.writeMessage(9, getTranslateV());
      }
      if (((bitField0_ & 0x00000200) != 0)) {
        output.writeMessage(10, getScaleUv());
      }
      if (((bitField0_ & 0x00000400) != 0)) {
        output.writeMessage(11, getFlipU());
      }
      if (((bitField0_ & 0x00000800) != 0)) {
        output.writeMessage(12, getFlipV());
      }
      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
          .computeMessageSize(1, getTexture());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getTextureRed());
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getTextureBlue());
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, getAdjustBlack());
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, getAdjustOffset());
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, getAdjustGamma());
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(7, getRotation());
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(8, getTranslateU());
      }
      if (((bitField0_ & 0x00000100) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(9, getTranslateV());
      }
      if (((bitField0_ & 0x00000200) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(10, getScaleUv());
      }
      if (((bitField0_ & 0x00000400) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(11, getFlipU());
      }
      if (((bitField0_ & 0x00000800) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(12, getFlipV());
      }
      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.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage) obj;

      if (hasTexture() != other.hasTexture()) return false;
      if (hasTexture()) {
        if (!getTexture()
            .equals(other.getTexture())) return false;
      }
      if (hasTextureRed() != other.hasTextureRed()) return false;
      if (hasTextureRed()) {
        if (!getTextureRed()
            .equals(other.getTextureRed())) return false;
      }
      if (hasTextureBlue() != other.hasTextureBlue()) return false;
      if (hasTextureBlue()) {
        if (!getTextureBlue()
            .equals(other.getTextureBlue())) return false;
      }
      if (hasAdjustBlack() != other.hasAdjustBlack()) return false;
      if (hasAdjustBlack()) {
        if (!getAdjustBlack()
            .equals(other.getAdjustBlack())) return false;
      }
      if (hasAdjustOffset() != other.hasAdjustOffset()) return false;
      if (hasAdjustOffset()) {
        if (!getAdjustOffset()
            .equals(other.getAdjustOffset())) return false;
      }
      if (hasAdjustGamma() != other.hasAdjustGamma()) return false;
      if (hasAdjustGamma()) {
        if (!getAdjustGamma()
            .equals(other.getAdjustGamma())) return false;
      }
      if (hasRotation() != other.hasRotation()) return false;
      if (hasRotation()) {
        if (!getRotation()
            .equals(other.getRotation())) return false;
      }
      if (hasTranslateU() != other.hasTranslateU()) return false;
      if (hasTranslateU()) {
        if (!getTranslateU()
            .equals(other.getTranslateU())) return false;
      }
      if (hasTranslateV() != other.hasTranslateV()) return false;
      if (hasTranslateV()) {
        if (!getTranslateV()
            .equals(other.getTranslateV())) return false;
      }
      if (hasScaleUv() != other.hasScaleUv()) return false;
      if (hasScaleUv()) {
        if (!getScaleUv()
            .equals(other.getScaleUv())) return false;
      }
      if (hasFlipU() != other.hasFlipU()) return false;
      if (hasFlipU()) {
        if (!getFlipU()
            .equals(other.getFlipU())) return false;
      }
      if (hasFlipV() != other.hasFlipV()) return false;
      if (hasFlipV()) {
        if (!getFlipV()
            .equals(other.getFlipV())) 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 (hasTexture()) {
        hash = (37 * hash) + TEXTURE_FIELD_NUMBER;
        hash = (53 * hash) + getTexture().hashCode();
      }
      if (hasTextureRed()) {
        hash = (37 * hash) + TEXTURE_RED_FIELD_NUMBER;
        hash = (53 * hash) + getTextureRed().hashCode();
      }
      if (hasTextureBlue()) {
        hash = (37 * hash) + TEXTURE_BLUE_FIELD_NUMBER;
        hash = (53 * hash) + getTextureBlue().hashCode();
      }
      if (hasAdjustBlack()) {
        hash = (37 * hash) + ADJUST_BLACK_FIELD_NUMBER;
        hash = (53 * hash) + getAdjustBlack().hashCode();
      }
      if (hasAdjustOffset()) {
        hash = (37 * hash) + ADJUST_OFFSET_FIELD_NUMBER;
        hash = (53 * hash) + getAdjustOffset().hashCode();
      }
      if (hasAdjustGamma()) {
        hash = (37 * hash) + ADJUST_GAMMA_FIELD_NUMBER;
        hash = (53 * hash) + getAdjustGamma().hashCode();
      }
      if (hasRotation()) {
        hash = (37 * hash) + ROTATION_FIELD_NUMBER;
        hash = (53 * hash) + getRotation().hashCode();
      }
      if (hasTranslateU()) {
        hash = (37 * hash) + TRANSLATE_U_FIELD_NUMBER;
        hash = (53 * hash) + getTranslateU().hashCode();
      }
      if (hasTranslateV()) {
        hash = (37 * hash) + TRANSLATE_V_FIELD_NUMBER;
        hash = (53 * hash) + getTranslateV().hashCode();
      }
      if (hasScaleUv()) {
        hash = (37 * hash) + SCALE_UV_FIELD_NUMBER;
        hash = (53 * hash) + getScaleUv().hashCode();
      }
      if (hasFlipU()) {
        hash = (37 * hash) + FLIP_U_FIELD_NUMBER;
        hash = (53 * hash) + getFlipU().hashCode();
      }
      if (hasFlipV()) {
        hash = (37 * hash) + FLIP_V_FIELD_NUMBER;
        hash = (53 * hash) + getFlipV().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage 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.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage 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.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage 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.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage 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.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage 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.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage 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.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage 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.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage 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 CMsgPaintKit_Operation_TextureStage}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgPaintKit_Operation_TextureStage)
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStageOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgPaintKit_Operation_TextureStage_descriptor;
      }

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

      // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage
                .alwaysUseFieldBuilders) {
          getTextureFieldBuilder();
          getTextureRedFieldBuilder();
          getTextureBlueFieldBuilder();
          getAdjustBlackFieldBuilder();
          getAdjustOffsetFieldBuilder();
          getAdjustGammaFieldBuilder();
          getRotationFieldBuilder();
          getTranslateUFieldBuilder();
          getTranslateVFieldBuilder();
          getScaleUvFieldBuilder();
          getFlipUFieldBuilder();
          getFlipVFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        texture_ = null;
        if (textureBuilder_ != null) {
          textureBuilder_.dispose();
          textureBuilder_ = null;
        }
        textureRed_ = null;
        if (textureRedBuilder_ != null) {
          textureRedBuilder_.dispose();
          textureRedBuilder_ = null;
        }
        textureBlue_ = null;
        if (textureBlueBuilder_ != null) {
          textureBlueBuilder_.dispose();
          textureBlueBuilder_ = null;
        }
        adjustBlack_ = null;
        if (adjustBlackBuilder_ != null) {
          adjustBlackBuilder_.dispose();
          adjustBlackBuilder_ = null;
        }
        adjustOffset_ = null;
        if (adjustOffsetBuilder_ != null) {
          adjustOffsetBuilder_.dispose();
          adjustOffsetBuilder_ = null;
        }
        adjustGamma_ = null;
        if (adjustGammaBuilder_ != null) {
          adjustGammaBuilder_.dispose();
          adjustGammaBuilder_ = null;
        }
        rotation_ = null;
        if (rotationBuilder_ != null) {
          rotationBuilder_.dispose();
          rotationBuilder_ = null;
        }
        translateU_ = null;
        if (translateUBuilder_ != null) {
          translateUBuilder_.dispose();
          translateUBuilder_ = null;
        }
        translateV_ = null;
        if (translateVBuilder_ != null) {
          translateVBuilder_.dispose();
          translateVBuilder_ = null;
        }
        scaleUv_ = null;
        if (scaleUvBuilder_ != null) {
          scaleUvBuilder_.dispose();
          scaleUvBuilder_ = null;
        }
        flipU_ = null;
        if (flipUBuilder_ != null) {
          flipUBuilder_.dispose();
          flipUBuilder_ = null;
        }
        flipV_ = null;
        if (flipVBuilder_ != null) {
          flipVBuilder_.dispose();
          flipVBuilder_ = null;
        }
        return this;
      }

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

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

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

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

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.texture_ = textureBuilder_ == null
              ? texture_
              : textureBuilder_.build();
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.textureRed_ = textureRedBuilder_ == null
              ? textureRed_
              : textureRedBuilder_.build();
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.textureBlue_ = textureBlueBuilder_ == null
              ? textureBlue_
              : textureBlueBuilder_.build();
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.adjustBlack_ = adjustBlackBuilder_ == null
              ? adjustBlack_
              : adjustBlackBuilder_.build();
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.adjustOffset_ = adjustOffsetBuilder_ == null
              ? adjustOffset_
              : adjustOffsetBuilder_.build();
          to_bitField0_ |= 0x00000010;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          result.adjustGamma_ = adjustGammaBuilder_ == null
              ? adjustGamma_
              : adjustGammaBuilder_.build();
          to_bitField0_ |= 0x00000020;
        }
        if (((from_bitField0_ & 0x00000040) != 0)) {
          result.rotation_ = rotationBuilder_ == null
              ? rotation_
              : rotationBuilder_.build();
          to_bitField0_ |= 0x00000040;
        }
        if (((from_bitField0_ & 0x00000080) != 0)) {
          result.translateU_ = translateUBuilder_ == null
              ? translateU_
              : translateUBuilder_.build();
          to_bitField0_ |= 0x00000080;
        }
        if (((from_bitField0_ & 0x00000100) != 0)) {
          result.translateV_ = translateVBuilder_ == null
              ? translateV_
              : translateVBuilder_.build();
          to_bitField0_ |= 0x00000100;
        }
        if (((from_bitField0_ & 0x00000200) != 0)) {
          result.scaleUv_ = scaleUvBuilder_ == null
              ? scaleUv_
              : scaleUvBuilder_.build();
          to_bitField0_ |= 0x00000200;
        }
        if (((from_bitField0_ & 0x00000400) != 0)) {
          result.flipU_ = flipUBuilder_ == null
              ? flipU_
              : flipUBuilder_.build();
          to_bitField0_ |= 0x00000400;
        }
        if (((from_bitField0_ & 0x00000800) != 0)) {
          result.flipV_ = flipVBuilder_ == null
              ? flipV_
              : flipVBuilder_.build();
          to_bitField0_ |= 0x00000800;
        }
        result.bitField0_ |= to_bitField0_;
      }

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

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage.getDefaultInstance()) return this;
        if (other.hasTexture()) {
          mergeTexture(other.getTexture());
        }
        if (other.hasTextureRed()) {
          mergeTextureRed(other.getTextureRed());
        }
        if (other.hasTextureBlue()) {
          mergeTextureBlue(other.getTextureBlue());
        }
        if (other.hasAdjustBlack()) {
          mergeAdjustBlack(other.getAdjustBlack());
        }
        if (other.hasAdjustOffset()) {
          mergeAdjustOffset(other.getAdjustOffset());
        }
        if (other.hasAdjustGamma()) {
          mergeAdjustGamma(other.getAdjustGamma());
        }
        if (other.hasRotation()) {
          mergeRotation(other.getRotation());
        }
        if (other.hasTranslateU()) {
          mergeTranslateU(other.getTranslateU());
        }
        if (other.hasTranslateV()) {
          mergeTranslateV(other.getTranslateV());
        }
        if (other.hasScaleUv()) {
          mergeScaleUv(other.getScaleUv());
        }
        if (other.hasFlipU()) {
          mergeFlipU(other.getFlipU());
        }
        if (other.hasFlipV()) {
          mergeFlipV(other.getFlipV());
        }
        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: {
                input.readMessage(
                    getTextureFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 18: {
                input.readMessage(
                    getTextureRedFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              case 26: {
                input.readMessage(
                    getTextureBlueFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000004;
                break;
              } // case 26
              case 34: {
                input.readMessage(
                    getAdjustBlackFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000008;
                break;
              } // case 34
              case 42: {
                input.readMessage(
                    getAdjustOffsetFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000010;
                break;
              } // case 42
              case 50: {
                input.readMessage(
                    getAdjustGammaFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000020;
                break;
              } // case 50
              case 58: {
                input.readMessage(
                    getRotationFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000040;
                break;
              } // case 58
              case 66: {
                input.readMessage(
                    getTranslateUFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000080;
                break;
              } // case 66
              case 74: {
                input.readMessage(
                    getTranslateVFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000100;
                break;
              } // case 74
              case 82: {
                input.readMessage(
                    getScaleUvFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000200;
                break;
              } // case 82
              case 90: {
                input.readMessage(
                    getFlipUFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000400;
                break;
              } // case 90
              case 98: {
                input.readMessage(
                    getFlipVFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000800;
                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 in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField texture_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> textureBuilder_;
      /**
       * optional .CMsgVarField texture = 1 [(.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the texture field is set.
       */
      public boolean hasTexture() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional .CMsgVarField texture = 1 [(.var_field_type) = VAR_TYPE_STRING];
       * @return The texture.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getTexture() {
        if (textureBuilder_ == null) {
          return texture_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : texture_;
        } else {
          return textureBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField texture = 1 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setTexture(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (textureBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          texture_ = value;
        } else {
          textureBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField texture = 1 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setTexture(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (textureBuilder_ == null) {
          texture_ = builderForValue.build();
        } else {
          textureBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField texture = 1 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeTexture(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (textureBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
            texture_ != null &&
            texture_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getTextureBuilder().mergeFrom(value);
          } else {
            texture_ = value;
          }
        } else {
          textureBuilder_.mergeFrom(value);
        }
        if (texture_ != null) {
          bitField0_ |= 0x00000001;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField texture = 1 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearTexture() {
        bitField0_ = (bitField0_ & ~0x00000001);
        texture_ = null;
        if (textureBuilder_ != null) {
          textureBuilder_.dispose();
          textureBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField texture = 1 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getTextureBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getTextureFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField texture = 1 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getTextureOrBuilder() {
        if (textureBuilder_ != null) {
          return textureBuilder_.getMessageOrBuilder();
        } else {
          return texture_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : texture_;
        }
      }
      /**
       * optional .CMsgVarField texture = 1 [(.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getTextureFieldBuilder() {
        if (textureBuilder_ == null) {
          textureBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getTexture(),
                  getParentForChildren(),
                  isClean());
          texture_ = null;
        }
        return textureBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField textureRed_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> textureRedBuilder_;
      /**
       * optional .CMsgVarField texture_red = 2 [(.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the textureRed field is set.
       */
      public boolean hasTextureRed() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional .CMsgVarField texture_red = 2 [(.var_field_type) = VAR_TYPE_STRING];
       * @return The textureRed.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getTextureRed() {
        if (textureRedBuilder_ == null) {
          return textureRed_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : textureRed_;
        } else {
          return textureRedBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField texture_red = 2 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setTextureRed(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (textureRedBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          textureRed_ = value;
        } else {
          textureRedBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField texture_red = 2 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setTextureRed(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (textureRedBuilder_ == null) {
          textureRed_ = builderForValue.build();
        } else {
          textureRedBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField texture_red = 2 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeTextureRed(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (textureRedBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0) &&
            textureRed_ != null &&
            textureRed_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getTextureRedBuilder().mergeFrom(value);
          } else {
            textureRed_ = value;
          }
        } else {
          textureRedBuilder_.mergeFrom(value);
        }
        if (textureRed_ != null) {
          bitField0_ |= 0x00000002;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField texture_red = 2 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearTextureRed() {
        bitField0_ = (bitField0_ & ~0x00000002);
        textureRed_ = null;
        if (textureRedBuilder_ != null) {
          textureRedBuilder_.dispose();
          textureRedBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField texture_red = 2 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getTextureRedBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getTextureRedFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField texture_red = 2 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getTextureRedOrBuilder() {
        if (textureRedBuilder_ != null) {
          return textureRedBuilder_.getMessageOrBuilder();
        } else {
          return textureRed_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : textureRed_;
        }
      }
      /**
       * optional .CMsgVarField texture_red = 2 [(.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getTextureRedFieldBuilder() {
        if (textureRedBuilder_ == null) {
          textureRedBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getTextureRed(),
                  getParentForChildren(),
                  isClean());
          textureRed_ = null;
        }
        return textureRedBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField textureBlue_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> textureBlueBuilder_;
      /**
       * optional .CMsgVarField texture_blue = 3 [(.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the textureBlue field is set.
       */
      public boolean hasTextureBlue() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional .CMsgVarField texture_blue = 3 [(.var_field_type) = VAR_TYPE_STRING];
       * @return The textureBlue.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getTextureBlue() {
        if (textureBlueBuilder_ == null) {
          return textureBlue_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : textureBlue_;
        } else {
          return textureBlueBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField texture_blue = 3 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setTextureBlue(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (textureBlueBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          textureBlue_ = value;
        } else {
          textureBlueBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField texture_blue = 3 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setTextureBlue(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (textureBlueBuilder_ == null) {
          textureBlue_ = builderForValue.build();
        } else {
          textureBlueBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField texture_blue = 3 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeTextureBlue(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (textureBlueBuilder_ == null) {
          if (((bitField0_ & 0x00000004) != 0) &&
            textureBlue_ != null &&
            textureBlue_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getTextureBlueBuilder().mergeFrom(value);
          } else {
            textureBlue_ = value;
          }
        } else {
          textureBlueBuilder_.mergeFrom(value);
        }
        if (textureBlue_ != null) {
          bitField0_ |= 0x00000004;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField texture_blue = 3 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearTextureBlue() {
        bitField0_ = (bitField0_ & ~0x00000004);
        textureBlue_ = null;
        if (textureBlueBuilder_ != null) {
          textureBlueBuilder_.dispose();
          textureBlueBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField texture_blue = 3 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getTextureBlueBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getTextureBlueFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField texture_blue = 3 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getTextureBlueOrBuilder() {
        if (textureBlueBuilder_ != null) {
          return textureBlueBuilder_.getMessageOrBuilder();
        } else {
          return textureBlue_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : textureBlue_;
        }
      }
      /**
       * optional .CMsgVarField texture_blue = 3 [(.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getTextureBlueFieldBuilder() {
        if (textureBlueBuilder_ == null) {
          textureBlueBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getTextureBlue(),
                  getParentForChildren(),
                  isClean());
          textureBlue_ = null;
        }
        return textureBlueBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField adjustBlack_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> adjustBlackBuilder_;
      /**
       * optional .CMsgVarField adjust_black = 4 [(.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the adjustBlack field is set.
       */
      public boolean hasAdjustBlack() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional .CMsgVarField adjust_black = 4 [(.var_field_type) = VAR_TYPE_STRING];
       * @return The adjustBlack.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getAdjustBlack() {
        if (adjustBlackBuilder_ == null) {
          return adjustBlack_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustBlack_;
        } else {
          return adjustBlackBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField adjust_black = 4 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setAdjustBlack(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (adjustBlackBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          adjustBlack_ = value;
        } else {
          adjustBlackBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField adjust_black = 4 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setAdjustBlack(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (adjustBlackBuilder_ == null) {
          adjustBlack_ = builderForValue.build();
        } else {
          adjustBlackBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField adjust_black = 4 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeAdjustBlack(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (adjustBlackBuilder_ == null) {
          if (((bitField0_ & 0x00000008) != 0) &&
            adjustBlack_ != null &&
            adjustBlack_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getAdjustBlackBuilder().mergeFrom(value);
          } else {
            adjustBlack_ = value;
          }
        } else {
          adjustBlackBuilder_.mergeFrom(value);
        }
        if (adjustBlack_ != null) {
          bitField0_ |= 0x00000008;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField adjust_black = 4 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearAdjustBlack() {
        bitField0_ = (bitField0_ & ~0x00000008);
        adjustBlack_ = null;
        if (adjustBlackBuilder_ != null) {
          adjustBlackBuilder_.dispose();
          adjustBlackBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField adjust_black = 4 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getAdjustBlackBuilder() {
        bitField0_ |= 0x00000008;
        onChanged();
        return getAdjustBlackFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField adjust_black = 4 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getAdjustBlackOrBuilder() {
        if (adjustBlackBuilder_ != null) {
          return adjustBlackBuilder_.getMessageOrBuilder();
        } else {
          return adjustBlack_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustBlack_;
        }
      }
      /**
       * optional .CMsgVarField adjust_black = 4 [(.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getAdjustBlackFieldBuilder() {
        if (adjustBlackBuilder_ == null) {
          adjustBlackBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getAdjustBlack(),
                  getParentForChildren(),
                  isClean());
          adjustBlack_ = null;
        }
        return adjustBlackBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField adjustOffset_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> adjustOffsetBuilder_;
      /**
       * optional .CMsgVarField adjust_offset = 5 [(.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the adjustOffset field is set.
       */
      public boolean hasAdjustOffset() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * optional .CMsgVarField adjust_offset = 5 [(.var_field_type) = VAR_TYPE_STRING];
       * @return The adjustOffset.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getAdjustOffset() {
        if (adjustOffsetBuilder_ == null) {
          return adjustOffset_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustOffset_;
        } else {
          return adjustOffsetBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField adjust_offset = 5 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setAdjustOffset(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (adjustOffsetBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          adjustOffset_ = value;
        } else {
          adjustOffsetBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField adjust_offset = 5 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setAdjustOffset(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (adjustOffsetBuilder_ == null) {
          adjustOffset_ = builderForValue.build();
        } else {
          adjustOffsetBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField adjust_offset = 5 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeAdjustOffset(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (adjustOffsetBuilder_ == null) {
          if (((bitField0_ & 0x00000010) != 0) &&
            adjustOffset_ != null &&
            adjustOffset_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getAdjustOffsetBuilder().mergeFrom(value);
          } else {
            adjustOffset_ = value;
          }
        } else {
          adjustOffsetBuilder_.mergeFrom(value);
        }
        if (adjustOffset_ != null) {
          bitField0_ |= 0x00000010;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField adjust_offset = 5 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearAdjustOffset() {
        bitField0_ = (bitField0_ & ~0x00000010);
        adjustOffset_ = null;
        if (adjustOffsetBuilder_ != null) {
          adjustOffsetBuilder_.dispose();
          adjustOffsetBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField adjust_offset = 5 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getAdjustOffsetBuilder() {
        bitField0_ |= 0x00000010;
        onChanged();
        return getAdjustOffsetFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField adjust_offset = 5 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getAdjustOffsetOrBuilder() {
        if (adjustOffsetBuilder_ != null) {
          return adjustOffsetBuilder_.getMessageOrBuilder();
        } else {
          return adjustOffset_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustOffset_;
        }
      }
      /**
       * optional .CMsgVarField adjust_offset = 5 [(.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getAdjustOffsetFieldBuilder() {
        if (adjustOffsetBuilder_ == null) {
          adjustOffsetBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getAdjustOffset(),
                  getParentForChildren(),
                  isClean());
          adjustOffset_ = null;
        }
        return adjustOffsetBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField adjustGamma_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> adjustGammaBuilder_;
      /**
       * optional .CMsgVarField adjust_gamma = 6 [(.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the adjustGamma field is set.
       */
      public boolean hasAdjustGamma() {
        return ((bitField0_ & 0x00000020) != 0);
      }
      /**
       * optional .CMsgVarField adjust_gamma = 6 [(.var_field_type) = VAR_TYPE_STRING];
       * @return The adjustGamma.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getAdjustGamma() {
        if (adjustGammaBuilder_ == null) {
          return adjustGamma_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustGamma_;
        } else {
          return adjustGammaBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField adjust_gamma = 6 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setAdjustGamma(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (adjustGammaBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          adjustGamma_ = value;
        } else {
          adjustGammaBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField adjust_gamma = 6 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setAdjustGamma(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (adjustGammaBuilder_ == null) {
          adjustGamma_ = builderForValue.build();
        } else {
          adjustGammaBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField adjust_gamma = 6 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeAdjustGamma(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (adjustGammaBuilder_ == null) {
          if (((bitField0_ & 0x00000020) != 0) &&
            adjustGamma_ != null &&
            adjustGamma_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getAdjustGammaBuilder().mergeFrom(value);
          } else {
            adjustGamma_ = value;
          }
        } else {
          adjustGammaBuilder_.mergeFrom(value);
        }
        if (adjustGamma_ != null) {
          bitField0_ |= 0x00000020;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField adjust_gamma = 6 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearAdjustGamma() {
        bitField0_ = (bitField0_ & ~0x00000020);
        adjustGamma_ = null;
        if (adjustGammaBuilder_ != null) {
          adjustGammaBuilder_.dispose();
          adjustGammaBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField adjust_gamma = 6 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getAdjustGammaBuilder() {
        bitField0_ |= 0x00000020;
        onChanged();
        return getAdjustGammaFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField adjust_gamma = 6 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getAdjustGammaOrBuilder() {
        if (adjustGammaBuilder_ != null) {
          return adjustGammaBuilder_.getMessageOrBuilder();
        } else {
          return adjustGamma_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustGamma_;
        }
      }
      /**
       * optional .CMsgVarField adjust_gamma = 6 [(.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getAdjustGammaFieldBuilder() {
        if (adjustGammaBuilder_ == null) {
          adjustGammaBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getAdjustGamma(),
                  getParentForChildren(),
                  isClean());
          adjustGamma_ = null;
        }
        return adjustGammaBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField rotation_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> rotationBuilder_;
      /**
       * optional .CMsgVarField rotation = 7 [(.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the rotation field is set.
       */
      public boolean hasRotation() {
        return ((bitField0_ & 0x00000040) != 0);
      }
      /**
       * optional .CMsgVarField rotation = 7 [(.var_field_type) = VAR_TYPE_STRING];
       * @return The rotation.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getRotation() {
        if (rotationBuilder_ == null) {
          return rotation_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : rotation_;
        } else {
          return rotationBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField rotation = 7 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setRotation(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (rotationBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          rotation_ = value;
        } else {
          rotationBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField rotation = 7 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setRotation(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (rotationBuilder_ == null) {
          rotation_ = builderForValue.build();
        } else {
          rotationBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField rotation = 7 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeRotation(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (rotationBuilder_ == null) {
          if (((bitField0_ & 0x00000040) != 0) &&
            rotation_ != null &&
            rotation_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getRotationBuilder().mergeFrom(value);
          } else {
            rotation_ = value;
          }
        } else {
          rotationBuilder_.mergeFrom(value);
        }
        if (rotation_ != null) {
          bitField0_ |= 0x00000040;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField rotation = 7 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearRotation() {
        bitField0_ = (bitField0_ & ~0x00000040);
        rotation_ = null;
        if (rotationBuilder_ != null) {
          rotationBuilder_.dispose();
          rotationBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField rotation = 7 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getRotationBuilder() {
        bitField0_ |= 0x00000040;
        onChanged();
        return getRotationFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField rotation = 7 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getRotationOrBuilder() {
        if (rotationBuilder_ != null) {
          return rotationBuilder_.getMessageOrBuilder();
        } else {
          return rotation_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : rotation_;
        }
      }
      /**
       * optional .CMsgVarField rotation = 7 [(.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getRotationFieldBuilder() {
        if (rotationBuilder_ == null) {
          rotationBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getRotation(),
                  getParentForChildren(),
                  isClean());
          rotation_ = null;
        }
        return rotationBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField translateU_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> translateUBuilder_;
      /**
       * optional .CMsgVarField translate_u = 8 [(.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the translateU field is set.
       */
      public boolean hasTranslateU() {
        return ((bitField0_ & 0x00000080) != 0);
      }
      /**
       * optional .CMsgVarField translate_u = 8 [(.var_field_type) = VAR_TYPE_STRING];
       * @return The translateU.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getTranslateU() {
        if (translateUBuilder_ == null) {
          return translateU_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : translateU_;
        } else {
          return translateUBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField translate_u = 8 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setTranslateU(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (translateUBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          translateU_ = value;
        } else {
          translateUBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000080;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField translate_u = 8 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setTranslateU(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (translateUBuilder_ == null) {
          translateU_ = builderForValue.build();
        } else {
          translateUBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000080;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField translate_u = 8 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeTranslateU(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (translateUBuilder_ == null) {
          if (((bitField0_ & 0x00000080) != 0) &&
            translateU_ != null &&
            translateU_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getTranslateUBuilder().mergeFrom(value);
          } else {
            translateU_ = value;
          }
        } else {
          translateUBuilder_.mergeFrom(value);
        }
        if (translateU_ != null) {
          bitField0_ |= 0x00000080;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField translate_u = 8 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearTranslateU() {
        bitField0_ = (bitField0_ & ~0x00000080);
        translateU_ = null;
        if (translateUBuilder_ != null) {
          translateUBuilder_.dispose();
          translateUBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField translate_u = 8 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getTranslateUBuilder() {
        bitField0_ |= 0x00000080;
        onChanged();
        return getTranslateUFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField translate_u = 8 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getTranslateUOrBuilder() {
        if (translateUBuilder_ != null) {
          return translateUBuilder_.getMessageOrBuilder();
        } else {
          return translateU_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : translateU_;
        }
      }
      /**
       * optional .CMsgVarField translate_u = 8 [(.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getTranslateUFieldBuilder() {
        if (translateUBuilder_ == null) {
          translateUBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getTranslateU(),
                  getParentForChildren(),
                  isClean());
          translateU_ = null;
        }
        return translateUBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField translateV_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> translateVBuilder_;
      /**
       * optional .CMsgVarField translate_v = 9 [(.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the translateV field is set.
       */
      public boolean hasTranslateV() {
        return ((bitField0_ & 0x00000100) != 0);
      }
      /**
       * optional .CMsgVarField translate_v = 9 [(.var_field_type) = VAR_TYPE_STRING];
       * @return The translateV.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getTranslateV() {
        if (translateVBuilder_ == null) {
          return translateV_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : translateV_;
        } else {
          return translateVBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField translate_v = 9 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setTranslateV(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (translateVBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          translateV_ = value;
        } else {
          translateVBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000100;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField translate_v = 9 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setTranslateV(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (translateVBuilder_ == null) {
          translateV_ = builderForValue.build();
        } else {
          translateVBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000100;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField translate_v = 9 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeTranslateV(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (translateVBuilder_ == null) {
          if (((bitField0_ & 0x00000100) != 0) &&
            translateV_ != null &&
            translateV_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getTranslateVBuilder().mergeFrom(value);
          } else {
            translateV_ = value;
          }
        } else {
          translateVBuilder_.mergeFrom(value);
        }
        if (translateV_ != null) {
          bitField0_ |= 0x00000100;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField translate_v = 9 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearTranslateV() {
        bitField0_ = (bitField0_ & ~0x00000100);
        translateV_ = null;
        if (translateVBuilder_ != null) {
          translateVBuilder_.dispose();
          translateVBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField translate_v = 9 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getTranslateVBuilder() {
        bitField0_ |= 0x00000100;
        onChanged();
        return getTranslateVFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField translate_v = 9 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getTranslateVOrBuilder() {
        if (translateVBuilder_ != null) {
          return translateVBuilder_.getMessageOrBuilder();
        } else {
          return translateV_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : translateV_;
        }
      }
      /**
       * optional .CMsgVarField translate_v = 9 [(.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getTranslateVFieldBuilder() {
        if (translateVBuilder_ == null) {
          translateVBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getTranslateV(),
                  getParentForChildren(),
                  isClean());
          translateV_ = null;
        }
        return translateVBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField scaleUv_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> scaleUvBuilder_;
      /**
       * optional .CMsgVarField scale_uv = 10 [(.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the scaleUv field is set.
       */
      public boolean hasScaleUv() {
        return ((bitField0_ & 0x00000200) != 0);
      }
      /**
       * optional .CMsgVarField scale_uv = 10 [(.var_field_type) = VAR_TYPE_STRING];
       * @return The scaleUv.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getScaleUv() {
        if (scaleUvBuilder_ == null) {
          return scaleUv_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : scaleUv_;
        } else {
          return scaleUvBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField scale_uv = 10 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setScaleUv(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (scaleUvBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          scaleUv_ = value;
        } else {
          scaleUvBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000200;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField scale_uv = 10 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setScaleUv(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (scaleUvBuilder_ == null) {
          scaleUv_ = builderForValue.build();
        } else {
          scaleUvBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000200;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField scale_uv = 10 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeScaleUv(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (scaleUvBuilder_ == null) {
          if (((bitField0_ & 0x00000200) != 0) &&
            scaleUv_ != null &&
            scaleUv_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getScaleUvBuilder().mergeFrom(value);
          } else {
            scaleUv_ = value;
          }
        } else {
          scaleUvBuilder_.mergeFrom(value);
        }
        if (scaleUv_ != null) {
          bitField0_ |= 0x00000200;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField scale_uv = 10 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearScaleUv() {
        bitField0_ = (bitField0_ & ~0x00000200);
        scaleUv_ = null;
        if (scaleUvBuilder_ != null) {
          scaleUvBuilder_.dispose();
          scaleUvBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField scale_uv = 10 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getScaleUvBuilder() {
        bitField0_ |= 0x00000200;
        onChanged();
        return getScaleUvFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField scale_uv = 10 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getScaleUvOrBuilder() {
        if (scaleUvBuilder_ != null) {
          return scaleUvBuilder_.getMessageOrBuilder();
        } else {
          return scaleUv_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : scaleUv_;
        }
      }
      /**
       * optional .CMsgVarField scale_uv = 10 [(.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getScaleUvFieldBuilder() {
        if (scaleUvBuilder_ == null) {
          scaleUvBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getScaleUv(),
                  getParentForChildren(),
                  isClean());
          scaleUv_ = null;
        }
        return scaleUvBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField flipU_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> flipUBuilder_;
      /**
       * optional .CMsgVarField flip_u = 11 [(.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the flipU field is set.
       */
      public boolean hasFlipU() {
        return ((bitField0_ & 0x00000400) != 0);
      }
      /**
       * optional .CMsgVarField flip_u = 11 [(.var_field_type) = VAR_TYPE_STRING];
       * @return The flipU.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getFlipU() {
        if (flipUBuilder_ == null) {
          return flipU_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : flipU_;
        } else {
          return flipUBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField flip_u = 11 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setFlipU(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (flipUBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          flipU_ = value;
        } else {
          flipUBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000400;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField flip_u = 11 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setFlipU(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (flipUBuilder_ == null) {
          flipU_ = builderForValue.build();
        } else {
          flipUBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000400;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField flip_u = 11 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeFlipU(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (flipUBuilder_ == null) {
          if (((bitField0_ & 0x00000400) != 0) &&
            flipU_ != null &&
            flipU_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getFlipUBuilder().mergeFrom(value);
          } else {
            flipU_ = value;
          }
        } else {
          flipUBuilder_.mergeFrom(value);
        }
        if (flipU_ != null) {
          bitField0_ |= 0x00000400;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField flip_u = 11 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearFlipU() {
        bitField0_ = (bitField0_ & ~0x00000400);
        flipU_ = null;
        if (flipUBuilder_ != null) {
          flipUBuilder_.dispose();
          flipUBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField flip_u = 11 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getFlipUBuilder() {
        bitField0_ |= 0x00000400;
        onChanged();
        return getFlipUFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField flip_u = 11 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getFlipUOrBuilder() {
        if (flipUBuilder_ != null) {
          return flipUBuilder_.getMessageOrBuilder();
        } else {
          return flipU_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : flipU_;
        }
      }
      /**
       * optional .CMsgVarField flip_u = 11 [(.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getFlipUFieldBuilder() {
        if (flipUBuilder_ == null) {
          flipUBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getFlipU(),
                  getParentForChildren(),
                  isClean());
          flipU_ = null;
        }
        return flipUBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField flipV_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> flipVBuilder_;
      /**
       * optional .CMsgVarField flip_v = 12 [(.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the flipV field is set.
       */
      public boolean hasFlipV() {
        return ((bitField0_ & 0x00000800) != 0);
      }
      /**
       * optional .CMsgVarField flip_v = 12 [(.var_field_type) = VAR_TYPE_STRING];
       * @return The flipV.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getFlipV() {
        if (flipVBuilder_ == null) {
          return flipV_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : flipV_;
        } else {
          return flipVBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField flip_v = 12 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setFlipV(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (flipVBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          flipV_ = value;
        } else {
          flipVBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000800;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField flip_v = 12 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setFlipV(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (flipVBuilder_ == null) {
          flipV_ = builderForValue.build();
        } else {
          flipVBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000800;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField flip_v = 12 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeFlipV(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (flipVBuilder_ == null) {
          if (((bitField0_ & 0x00000800) != 0) &&
            flipV_ != null &&
            flipV_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getFlipVBuilder().mergeFrom(value);
          } else {
            flipV_ = value;
          }
        } else {
          flipVBuilder_.mergeFrom(value);
        }
        if (flipV_ != null) {
          bitField0_ |= 0x00000800;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField flip_v = 12 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearFlipV() {
        bitField0_ = (bitField0_ & ~0x00000800);
        flipV_ = null;
        if (flipVBuilder_ != null) {
          flipVBuilder_.dispose();
          flipVBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField flip_v = 12 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getFlipVBuilder() {
        bitField0_ |= 0x00000800;
        onChanged();
        return getFlipVFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField flip_v = 12 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getFlipVOrBuilder() {
        if (flipVBuilder_ != null) {
          return flipVBuilder_.getMessageOrBuilder();
        } else {
          return flipV_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : flipV_;
        }
      }
      /**
       * optional .CMsgVarField flip_v = 12 [(.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getFlipVFieldBuilder() {
        if (flipVBuilder_ == null) {
          flipVBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getFlipV(),
                  getParentForChildren(),
                  isClean());
          flipV_ = null;
        }
        return flipVBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgPaintKit_Operation_TextureStage)
    }

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

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

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

  }

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

    /**
     * optional .CMsgVarField adjust_black = 1 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the adjustBlack field is set.
     */
    boolean hasAdjustBlack();
    /**
     * optional .CMsgVarField adjust_black = 1 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The adjustBlack.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getAdjustBlack();
    /**
     * optional .CMsgVarField adjust_black = 1 [(.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getAdjustBlackOrBuilder();

    /**
     * optional .CMsgVarField adjust_offset = 2 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the adjustOffset field is set.
     */
    boolean hasAdjustOffset();
    /**
     * optional .CMsgVarField adjust_offset = 2 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The adjustOffset.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getAdjustOffset();
    /**
     * optional .CMsgVarField adjust_offset = 2 [(.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getAdjustOffsetOrBuilder();

    /**
     * optional .CMsgVarField adjust_gamma = 3 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the adjustGamma field is set.
     */
    boolean hasAdjustGamma();
    /**
     * optional .CMsgVarField adjust_gamma = 3 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The adjustGamma.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getAdjustGamma();
    /**
     * optional .CMsgVarField adjust_gamma = 3 [(.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getAdjustGammaOrBuilder();

    /**
     * optional .CMsgVarField rotation = 4 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the rotation field is set.
     */
    boolean hasRotation();
    /**
     * optional .CMsgVarField rotation = 4 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The rotation.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getRotation();
    /**
     * optional .CMsgVarField rotation = 4 [(.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getRotationOrBuilder();

    /**
     * optional .CMsgVarField translate_u = 5 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the translateU field is set.
     */
    boolean hasTranslateU();
    /**
     * optional .CMsgVarField translate_u = 5 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The translateU.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getTranslateU();
    /**
     * optional .CMsgVarField translate_u = 5 [(.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getTranslateUOrBuilder();

    /**
     * optional .CMsgVarField translate_v = 6 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the translateV field is set.
     */
    boolean hasTranslateV();
    /**
     * optional .CMsgVarField translate_v = 6 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The translateV.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getTranslateV();
    /**
     * optional .CMsgVarField translate_v = 6 [(.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getTranslateVOrBuilder();

    /**
     * optional .CMsgVarField scale_uv = 7 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the scaleUv field is set.
     */
    boolean hasScaleUv();
    /**
     * optional .CMsgVarField scale_uv = 7 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The scaleUv.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getScaleUv();
    /**
     * optional .CMsgVarField scale_uv = 7 [(.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getScaleUvOrBuilder();

    /**
     * optional .CMsgVarField flip_u = 8 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the flipU field is set.
     */
    boolean hasFlipU();
    /**
     * optional .CMsgVarField flip_u = 8 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The flipU.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getFlipU();
    /**
     * optional .CMsgVarField flip_u = 8 [(.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getFlipUOrBuilder();

    /**
     * optional .CMsgVarField flip_v = 9 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the flipV field is set.
     */
    boolean hasFlipV();
    /**
     * optional .CMsgVarField flip_v = 9 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The flipV.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getFlipV();
    /**
     * optional .CMsgVarField flip_v = 9 [(.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getFlipVOrBuilder();

    /**
     * repeated .CMsgPaintKit_OperationNode operation_node = 11;
     */
    java.util.List 
        getOperationNodeList();
    /**
     * repeated .CMsgPaintKit_OperationNode operation_node = 11;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode getOperationNode(int index);
    /**
     * repeated .CMsgPaintKit_OperationNode operation_node = 11;
     */
    int getOperationNodeCount();
    /**
     * repeated .CMsgPaintKit_OperationNode operation_node = 11;
     */
    java.util.List 
        getOperationNodeOrBuilderList();
    /**
     * repeated .CMsgPaintKit_OperationNode operation_node = 11;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNodeOrBuilder getOperationNodeOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code CMsgPaintKit_Operation_CombineStage}
   */
  public static final class CMsgPaintKit_Operation_CombineStage extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgPaintKit_Operation_CombineStage)
      CMsgPaintKit_Operation_CombineStageOrBuilder {
  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= */ "",
        CMsgPaintKit_Operation_CombineStage.class.getName());
    }
    // Use CMsgPaintKit_Operation_CombineStage.newBuilder() to construct.
    private CMsgPaintKit_Operation_CombineStage(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgPaintKit_Operation_CombineStage() {
      operationNode_ = java.util.Collections.emptyList();
    }

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

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

    private int bitField0_;
    public static final int ADJUST_BLACK_FIELD_NUMBER = 1;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField adjustBlack_;
    /**
     * optional .CMsgVarField adjust_black = 1 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the adjustBlack field is set.
     */
    @java.lang.Override
    public boolean hasAdjustBlack() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional .CMsgVarField adjust_black = 1 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The adjustBlack.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getAdjustBlack() {
      return adjustBlack_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustBlack_;
    }
    /**
     * optional .CMsgVarField adjust_black = 1 [(.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getAdjustBlackOrBuilder() {
      return adjustBlack_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustBlack_;
    }

    public static final int ADJUST_OFFSET_FIELD_NUMBER = 2;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField adjustOffset_;
    /**
     * optional .CMsgVarField adjust_offset = 2 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the adjustOffset field is set.
     */
    @java.lang.Override
    public boolean hasAdjustOffset() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional .CMsgVarField adjust_offset = 2 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The adjustOffset.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getAdjustOffset() {
      return adjustOffset_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustOffset_;
    }
    /**
     * optional .CMsgVarField adjust_offset = 2 [(.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getAdjustOffsetOrBuilder() {
      return adjustOffset_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustOffset_;
    }

    public static final int ADJUST_GAMMA_FIELD_NUMBER = 3;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField adjustGamma_;
    /**
     * optional .CMsgVarField adjust_gamma = 3 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the adjustGamma field is set.
     */
    @java.lang.Override
    public boolean hasAdjustGamma() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional .CMsgVarField adjust_gamma = 3 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The adjustGamma.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getAdjustGamma() {
      return adjustGamma_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustGamma_;
    }
    /**
     * optional .CMsgVarField adjust_gamma = 3 [(.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getAdjustGammaOrBuilder() {
      return adjustGamma_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustGamma_;
    }

    public static final int ROTATION_FIELD_NUMBER = 4;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField rotation_;
    /**
     * optional .CMsgVarField rotation = 4 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the rotation field is set.
     */
    @java.lang.Override
    public boolean hasRotation() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional .CMsgVarField rotation = 4 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The rotation.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getRotation() {
      return rotation_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : rotation_;
    }
    /**
     * optional .CMsgVarField rotation = 4 [(.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getRotationOrBuilder() {
      return rotation_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : rotation_;
    }

    public static final int TRANSLATE_U_FIELD_NUMBER = 5;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField translateU_;
    /**
     * optional .CMsgVarField translate_u = 5 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the translateU field is set.
     */
    @java.lang.Override
    public boolean hasTranslateU() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * optional .CMsgVarField translate_u = 5 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The translateU.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getTranslateU() {
      return translateU_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : translateU_;
    }
    /**
     * optional .CMsgVarField translate_u = 5 [(.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getTranslateUOrBuilder() {
      return translateU_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : translateU_;
    }

    public static final int TRANSLATE_V_FIELD_NUMBER = 6;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField translateV_;
    /**
     * optional .CMsgVarField translate_v = 6 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the translateV field is set.
     */
    @java.lang.Override
    public boolean hasTranslateV() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * optional .CMsgVarField translate_v = 6 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The translateV.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getTranslateV() {
      return translateV_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : translateV_;
    }
    /**
     * optional .CMsgVarField translate_v = 6 [(.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getTranslateVOrBuilder() {
      return translateV_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : translateV_;
    }

    public static final int SCALE_UV_FIELD_NUMBER = 7;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField scaleUv_;
    /**
     * optional .CMsgVarField scale_uv = 7 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the scaleUv field is set.
     */
    @java.lang.Override
    public boolean hasScaleUv() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     * optional .CMsgVarField scale_uv = 7 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The scaleUv.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getScaleUv() {
      return scaleUv_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : scaleUv_;
    }
    /**
     * optional .CMsgVarField scale_uv = 7 [(.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getScaleUvOrBuilder() {
      return scaleUv_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : scaleUv_;
    }

    public static final int FLIP_U_FIELD_NUMBER = 8;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField flipU_;
    /**
     * optional .CMsgVarField flip_u = 8 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the flipU field is set.
     */
    @java.lang.Override
    public boolean hasFlipU() {
      return ((bitField0_ & 0x00000080) != 0);
    }
    /**
     * optional .CMsgVarField flip_u = 8 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The flipU.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getFlipU() {
      return flipU_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : flipU_;
    }
    /**
     * optional .CMsgVarField flip_u = 8 [(.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getFlipUOrBuilder() {
      return flipU_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : flipU_;
    }

    public static final int FLIP_V_FIELD_NUMBER = 9;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField flipV_;
    /**
     * optional .CMsgVarField flip_v = 9 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the flipV field is set.
     */
    @java.lang.Override
    public boolean hasFlipV() {
      return ((bitField0_ & 0x00000100) != 0);
    }
    /**
     * optional .CMsgVarField flip_v = 9 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The flipV.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getFlipV() {
      return flipV_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : flipV_;
    }
    /**
     * optional .CMsgVarField flip_v = 9 [(.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getFlipVOrBuilder() {
      return flipV_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : flipV_;
    }

    public static final int OPERATION_NODE_FIELD_NUMBER = 11;
    @SuppressWarnings("serial")
    private java.util.List operationNode_;
    /**
     * repeated .CMsgPaintKit_OperationNode operation_node = 11;
     */
    @java.lang.Override
    public java.util.List getOperationNodeList() {
      return operationNode_;
    }
    /**
     * repeated .CMsgPaintKit_OperationNode operation_node = 11;
     */
    @java.lang.Override
    public java.util.List 
        getOperationNodeOrBuilderList() {
      return operationNode_;
    }
    /**
     * repeated .CMsgPaintKit_OperationNode operation_node = 11;
     */
    @java.lang.Override
    public int getOperationNodeCount() {
      return operationNode_.size();
    }
    /**
     * repeated .CMsgPaintKit_OperationNode operation_node = 11;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode getOperationNode(int index) {
      return operationNode_.get(index);
    }
    /**
     * repeated .CMsgPaintKit_OperationNode operation_node = 11;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNodeOrBuilder getOperationNodeOrBuilder(
        int index) {
      return operationNode_.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;

      for (int i = 0; i < getOperationNodeCount(); i++) {
        if (!getOperationNode(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getAdjustBlack());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeMessage(2, getAdjustOffset());
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeMessage(3, getAdjustGamma());
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeMessage(4, getRotation());
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        output.writeMessage(5, getTranslateU());
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        output.writeMessage(6, getTranslateV());
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        output.writeMessage(7, getScaleUv());
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        output.writeMessage(8, getFlipU());
      }
      if (((bitField0_ & 0x00000100) != 0)) {
        output.writeMessage(9, getFlipV());
      }
      for (int i = 0; i < operationNode_.size(); i++) {
        output.writeMessage(11, operationNode_.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
          .computeMessageSize(1, getAdjustBlack());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getAdjustOffset());
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getAdjustGamma());
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, getRotation());
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, getTranslateU());
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, getTranslateV());
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(7, getScaleUv());
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(8, getFlipU());
      }
      if (((bitField0_ & 0x00000100) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(9, getFlipV());
      }
      for (int i = 0; i < operationNode_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(11, operationNode_.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.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage) obj;

      if (hasAdjustBlack() != other.hasAdjustBlack()) return false;
      if (hasAdjustBlack()) {
        if (!getAdjustBlack()
            .equals(other.getAdjustBlack())) return false;
      }
      if (hasAdjustOffset() != other.hasAdjustOffset()) return false;
      if (hasAdjustOffset()) {
        if (!getAdjustOffset()
            .equals(other.getAdjustOffset())) return false;
      }
      if (hasAdjustGamma() != other.hasAdjustGamma()) return false;
      if (hasAdjustGamma()) {
        if (!getAdjustGamma()
            .equals(other.getAdjustGamma())) return false;
      }
      if (hasRotation() != other.hasRotation()) return false;
      if (hasRotation()) {
        if (!getRotation()
            .equals(other.getRotation())) return false;
      }
      if (hasTranslateU() != other.hasTranslateU()) return false;
      if (hasTranslateU()) {
        if (!getTranslateU()
            .equals(other.getTranslateU())) return false;
      }
      if (hasTranslateV() != other.hasTranslateV()) return false;
      if (hasTranslateV()) {
        if (!getTranslateV()
            .equals(other.getTranslateV())) return false;
      }
      if (hasScaleUv() != other.hasScaleUv()) return false;
      if (hasScaleUv()) {
        if (!getScaleUv()
            .equals(other.getScaleUv())) return false;
      }
      if (hasFlipU() != other.hasFlipU()) return false;
      if (hasFlipU()) {
        if (!getFlipU()
            .equals(other.getFlipU())) return false;
      }
      if (hasFlipV() != other.hasFlipV()) return false;
      if (hasFlipV()) {
        if (!getFlipV()
            .equals(other.getFlipV())) return false;
      }
      if (!getOperationNodeList()
          .equals(other.getOperationNodeList())) 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 (hasAdjustBlack()) {
        hash = (37 * hash) + ADJUST_BLACK_FIELD_NUMBER;
        hash = (53 * hash) + getAdjustBlack().hashCode();
      }
      if (hasAdjustOffset()) {
        hash = (37 * hash) + ADJUST_OFFSET_FIELD_NUMBER;
        hash = (53 * hash) + getAdjustOffset().hashCode();
      }
      if (hasAdjustGamma()) {
        hash = (37 * hash) + ADJUST_GAMMA_FIELD_NUMBER;
        hash = (53 * hash) + getAdjustGamma().hashCode();
      }
      if (hasRotation()) {
        hash = (37 * hash) + ROTATION_FIELD_NUMBER;
        hash = (53 * hash) + getRotation().hashCode();
      }
      if (hasTranslateU()) {
        hash = (37 * hash) + TRANSLATE_U_FIELD_NUMBER;
        hash = (53 * hash) + getTranslateU().hashCode();
      }
      if (hasTranslateV()) {
        hash = (37 * hash) + TRANSLATE_V_FIELD_NUMBER;
        hash = (53 * hash) + getTranslateV().hashCode();
      }
      if (hasScaleUv()) {
        hash = (37 * hash) + SCALE_UV_FIELD_NUMBER;
        hash = (53 * hash) + getScaleUv().hashCode();
      }
      if (hasFlipU()) {
        hash = (37 * hash) + FLIP_U_FIELD_NUMBER;
        hash = (53 * hash) + getFlipU().hashCode();
      }
      if (hasFlipV()) {
        hash = (37 * hash) + FLIP_V_FIELD_NUMBER;
        hash = (53 * hash) + getFlipV().hashCode();
      }
      if (getOperationNodeCount() > 0) {
        hash = (37 * hash) + OPERATION_NODE_FIELD_NUMBER;
        hash = (53 * hash) + getOperationNodeList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage 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.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage 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.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage 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.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage 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.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage 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.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage 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.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage 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.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage 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 CMsgPaintKit_Operation_CombineStage}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgPaintKit_Operation_CombineStage)
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStageOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgPaintKit_Operation_CombineStage_descriptor;
      }

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

      // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage
                .alwaysUseFieldBuilders) {
          getAdjustBlackFieldBuilder();
          getAdjustOffsetFieldBuilder();
          getAdjustGammaFieldBuilder();
          getRotationFieldBuilder();
          getTranslateUFieldBuilder();
          getTranslateVFieldBuilder();
          getScaleUvFieldBuilder();
          getFlipUFieldBuilder();
          getFlipVFieldBuilder();
          getOperationNodeFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        adjustBlack_ = null;
        if (adjustBlackBuilder_ != null) {
          adjustBlackBuilder_.dispose();
          adjustBlackBuilder_ = null;
        }
        adjustOffset_ = null;
        if (adjustOffsetBuilder_ != null) {
          adjustOffsetBuilder_.dispose();
          adjustOffsetBuilder_ = null;
        }
        adjustGamma_ = null;
        if (adjustGammaBuilder_ != null) {
          adjustGammaBuilder_.dispose();
          adjustGammaBuilder_ = null;
        }
        rotation_ = null;
        if (rotationBuilder_ != null) {
          rotationBuilder_.dispose();
          rotationBuilder_ = null;
        }
        translateU_ = null;
        if (translateUBuilder_ != null) {
          translateUBuilder_.dispose();
          translateUBuilder_ = null;
        }
        translateV_ = null;
        if (translateVBuilder_ != null) {
          translateVBuilder_.dispose();
          translateVBuilder_ = null;
        }
        scaleUv_ = null;
        if (scaleUvBuilder_ != null) {
          scaleUvBuilder_.dispose();
          scaleUvBuilder_ = null;
        }
        flipU_ = null;
        if (flipUBuilder_ != null) {
          flipUBuilder_.dispose();
          flipUBuilder_ = null;
        }
        flipV_ = null;
        if (flipVBuilder_ != null) {
          flipVBuilder_.dispose();
          flipVBuilder_ = null;
        }
        if (operationNodeBuilder_ == null) {
          operationNode_ = java.util.Collections.emptyList();
        } else {
          operationNode_ = null;
          operationNodeBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000200);
        return this;
      }

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

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

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

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

      private void buildPartialRepeatedFields(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage result) {
        if (operationNodeBuilder_ == null) {
          if (((bitField0_ & 0x00000200) != 0)) {
            operationNode_ = java.util.Collections.unmodifiableList(operationNode_);
            bitField0_ = (bitField0_ & ~0x00000200);
          }
          result.operationNode_ = operationNode_;
        } else {
          result.operationNode_ = operationNodeBuilder_.build();
        }
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.adjustBlack_ = adjustBlackBuilder_ == null
              ? adjustBlack_
              : adjustBlackBuilder_.build();
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.adjustOffset_ = adjustOffsetBuilder_ == null
              ? adjustOffset_
              : adjustOffsetBuilder_.build();
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.adjustGamma_ = adjustGammaBuilder_ == null
              ? adjustGamma_
              : adjustGammaBuilder_.build();
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.rotation_ = rotationBuilder_ == null
              ? rotation_
              : rotationBuilder_.build();
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.translateU_ = translateUBuilder_ == null
              ? translateU_
              : translateUBuilder_.build();
          to_bitField0_ |= 0x00000010;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          result.translateV_ = translateVBuilder_ == null
              ? translateV_
              : translateVBuilder_.build();
          to_bitField0_ |= 0x00000020;
        }
        if (((from_bitField0_ & 0x00000040) != 0)) {
          result.scaleUv_ = scaleUvBuilder_ == null
              ? scaleUv_
              : scaleUvBuilder_.build();
          to_bitField0_ |= 0x00000040;
        }
        if (((from_bitField0_ & 0x00000080) != 0)) {
          result.flipU_ = flipUBuilder_ == null
              ? flipU_
              : flipUBuilder_.build();
          to_bitField0_ |= 0x00000080;
        }
        if (((from_bitField0_ & 0x00000100) != 0)) {
          result.flipV_ = flipVBuilder_ == null
              ? flipV_
              : flipVBuilder_.build();
          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.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.getDefaultInstance()) return this;
        if (other.hasAdjustBlack()) {
          mergeAdjustBlack(other.getAdjustBlack());
        }
        if (other.hasAdjustOffset()) {
          mergeAdjustOffset(other.getAdjustOffset());
        }
        if (other.hasAdjustGamma()) {
          mergeAdjustGamma(other.getAdjustGamma());
        }
        if (other.hasRotation()) {
          mergeRotation(other.getRotation());
        }
        if (other.hasTranslateU()) {
          mergeTranslateU(other.getTranslateU());
        }
        if (other.hasTranslateV()) {
          mergeTranslateV(other.getTranslateV());
        }
        if (other.hasScaleUv()) {
          mergeScaleUv(other.getScaleUv());
        }
        if (other.hasFlipU()) {
          mergeFlipU(other.getFlipU());
        }
        if (other.hasFlipV()) {
          mergeFlipV(other.getFlipV());
        }
        if (operationNodeBuilder_ == null) {
          if (!other.operationNode_.isEmpty()) {
            if (operationNode_.isEmpty()) {
              operationNode_ = other.operationNode_;
              bitField0_ = (bitField0_ & ~0x00000200);
            } else {
              ensureOperationNodeIsMutable();
              operationNode_.addAll(other.operationNode_);
            }
            onChanged();
          }
        } else {
          if (!other.operationNode_.isEmpty()) {
            if (operationNodeBuilder_.isEmpty()) {
              operationNodeBuilder_.dispose();
              operationNodeBuilder_ = null;
              operationNode_ = other.operationNode_;
              bitField0_ = (bitField0_ & ~0x00000200);
              operationNodeBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getOperationNodeFieldBuilder() : null;
            } else {
              operationNodeBuilder_.addAllMessages(other.operationNode_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        for (int i = 0; i < getOperationNodeCount(); i++) {
          if (!getOperationNode(i).isInitialized()) {
            return false;
          }
        }
        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: {
                input.readMessage(
                    getAdjustBlackFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 18: {
                input.readMessage(
                    getAdjustOffsetFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              case 26: {
                input.readMessage(
                    getAdjustGammaFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000004;
                break;
              } // case 26
              case 34: {
                input.readMessage(
                    getRotationFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000008;
                break;
              } // case 34
              case 42: {
                input.readMessage(
                    getTranslateUFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000010;
                break;
              } // case 42
              case 50: {
                input.readMessage(
                    getTranslateVFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000020;
                break;
              } // case 50
              case 58: {
                input.readMessage(
                    getScaleUvFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000040;
                break;
              } // case 58
              case 66: {
                input.readMessage(
                    getFlipUFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000080;
                break;
              } // case 66
              case 74: {
                input.readMessage(
                    getFlipVFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000100;
                break;
              } // case 74
              case 90: {
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.parser(),
                        extensionRegistry);
                if (operationNodeBuilder_ == null) {
                  ensureOperationNodeIsMutable();
                  operationNode_.add(m);
                } else {
                  operationNodeBuilder_.addMessage(m);
                }
                break;
              } // case 90
              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 in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField adjustBlack_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> adjustBlackBuilder_;
      /**
       * optional .CMsgVarField adjust_black = 1 [(.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the adjustBlack field is set.
       */
      public boolean hasAdjustBlack() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional .CMsgVarField adjust_black = 1 [(.var_field_type) = VAR_TYPE_STRING];
       * @return The adjustBlack.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getAdjustBlack() {
        if (adjustBlackBuilder_ == null) {
          return adjustBlack_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustBlack_;
        } else {
          return adjustBlackBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField adjust_black = 1 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setAdjustBlack(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (adjustBlackBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          adjustBlack_ = value;
        } else {
          adjustBlackBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField adjust_black = 1 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setAdjustBlack(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (adjustBlackBuilder_ == null) {
          adjustBlack_ = builderForValue.build();
        } else {
          adjustBlackBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField adjust_black = 1 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeAdjustBlack(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (adjustBlackBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
            adjustBlack_ != null &&
            adjustBlack_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getAdjustBlackBuilder().mergeFrom(value);
          } else {
            adjustBlack_ = value;
          }
        } else {
          adjustBlackBuilder_.mergeFrom(value);
        }
        if (adjustBlack_ != null) {
          bitField0_ |= 0x00000001;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField adjust_black = 1 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearAdjustBlack() {
        bitField0_ = (bitField0_ & ~0x00000001);
        adjustBlack_ = null;
        if (adjustBlackBuilder_ != null) {
          adjustBlackBuilder_.dispose();
          adjustBlackBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField adjust_black = 1 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getAdjustBlackBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getAdjustBlackFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField adjust_black = 1 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getAdjustBlackOrBuilder() {
        if (adjustBlackBuilder_ != null) {
          return adjustBlackBuilder_.getMessageOrBuilder();
        } else {
          return adjustBlack_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustBlack_;
        }
      }
      /**
       * optional .CMsgVarField adjust_black = 1 [(.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getAdjustBlackFieldBuilder() {
        if (adjustBlackBuilder_ == null) {
          adjustBlackBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getAdjustBlack(),
                  getParentForChildren(),
                  isClean());
          adjustBlack_ = null;
        }
        return adjustBlackBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField adjustOffset_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> adjustOffsetBuilder_;
      /**
       * optional .CMsgVarField adjust_offset = 2 [(.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the adjustOffset field is set.
       */
      public boolean hasAdjustOffset() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional .CMsgVarField adjust_offset = 2 [(.var_field_type) = VAR_TYPE_STRING];
       * @return The adjustOffset.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getAdjustOffset() {
        if (adjustOffsetBuilder_ == null) {
          return adjustOffset_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustOffset_;
        } else {
          return adjustOffsetBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField adjust_offset = 2 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setAdjustOffset(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (adjustOffsetBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          adjustOffset_ = value;
        } else {
          adjustOffsetBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField adjust_offset = 2 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setAdjustOffset(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (adjustOffsetBuilder_ == null) {
          adjustOffset_ = builderForValue.build();
        } else {
          adjustOffsetBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField adjust_offset = 2 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeAdjustOffset(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (adjustOffsetBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0) &&
            adjustOffset_ != null &&
            adjustOffset_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getAdjustOffsetBuilder().mergeFrom(value);
          } else {
            adjustOffset_ = value;
          }
        } else {
          adjustOffsetBuilder_.mergeFrom(value);
        }
        if (adjustOffset_ != null) {
          bitField0_ |= 0x00000002;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField adjust_offset = 2 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearAdjustOffset() {
        bitField0_ = (bitField0_ & ~0x00000002);
        adjustOffset_ = null;
        if (adjustOffsetBuilder_ != null) {
          adjustOffsetBuilder_.dispose();
          adjustOffsetBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField adjust_offset = 2 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getAdjustOffsetBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getAdjustOffsetFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField adjust_offset = 2 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getAdjustOffsetOrBuilder() {
        if (adjustOffsetBuilder_ != null) {
          return adjustOffsetBuilder_.getMessageOrBuilder();
        } else {
          return adjustOffset_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustOffset_;
        }
      }
      /**
       * optional .CMsgVarField adjust_offset = 2 [(.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getAdjustOffsetFieldBuilder() {
        if (adjustOffsetBuilder_ == null) {
          adjustOffsetBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getAdjustOffset(),
                  getParentForChildren(),
                  isClean());
          adjustOffset_ = null;
        }
        return adjustOffsetBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField adjustGamma_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> adjustGammaBuilder_;
      /**
       * optional .CMsgVarField adjust_gamma = 3 [(.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the adjustGamma field is set.
       */
      public boolean hasAdjustGamma() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional .CMsgVarField adjust_gamma = 3 [(.var_field_type) = VAR_TYPE_STRING];
       * @return The adjustGamma.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getAdjustGamma() {
        if (adjustGammaBuilder_ == null) {
          return adjustGamma_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustGamma_;
        } else {
          return adjustGammaBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField adjust_gamma = 3 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setAdjustGamma(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (adjustGammaBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          adjustGamma_ = value;
        } else {
          adjustGammaBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField adjust_gamma = 3 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setAdjustGamma(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (adjustGammaBuilder_ == null) {
          adjustGamma_ = builderForValue.build();
        } else {
          adjustGammaBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField adjust_gamma = 3 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeAdjustGamma(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (adjustGammaBuilder_ == null) {
          if (((bitField0_ & 0x00000004) != 0) &&
            adjustGamma_ != null &&
            adjustGamma_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getAdjustGammaBuilder().mergeFrom(value);
          } else {
            adjustGamma_ = value;
          }
        } else {
          adjustGammaBuilder_.mergeFrom(value);
        }
        if (adjustGamma_ != null) {
          bitField0_ |= 0x00000004;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField adjust_gamma = 3 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearAdjustGamma() {
        bitField0_ = (bitField0_ & ~0x00000004);
        adjustGamma_ = null;
        if (adjustGammaBuilder_ != null) {
          adjustGammaBuilder_.dispose();
          adjustGammaBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField adjust_gamma = 3 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getAdjustGammaBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getAdjustGammaFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField adjust_gamma = 3 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getAdjustGammaOrBuilder() {
        if (adjustGammaBuilder_ != null) {
          return adjustGammaBuilder_.getMessageOrBuilder();
        } else {
          return adjustGamma_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustGamma_;
        }
      }
      /**
       * optional .CMsgVarField adjust_gamma = 3 [(.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getAdjustGammaFieldBuilder() {
        if (adjustGammaBuilder_ == null) {
          adjustGammaBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getAdjustGamma(),
                  getParentForChildren(),
                  isClean());
          adjustGamma_ = null;
        }
        return adjustGammaBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField rotation_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> rotationBuilder_;
      /**
       * optional .CMsgVarField rotation = 4 [(.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the rotation field is set.
       */
      public boolean hasRotation() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional .CMsgVarField rotation = 4 [(.var_field_type) = VAR_TYPE_STRING];
       * @return The rotation.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getRotation() {
        if (rotationBuilder_ == null) {
          return rotation_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : rotation_;
        } else {
          return rotationBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField rotation = 4 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setRotation(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (rotationBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          rotation_ = value;
        } else {
          rotationBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField rotation = 4 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setRotation(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (rotationBuilder_ == null) {
          rotation_ = builderForValue.build();
        } else {
          rotationBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField rotation = 4 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeRotation(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (rotationBuilder_ == null) {
          if (((bitField0_ & 0x00000008) != 0) &&
            rotation_ != null &&
            rotation_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getRotationBuilder().mergeFrom(value);
          } else {
            rotation_ = value;
          }
        } else {
          rotationBuilder_.mergeFrom(value);
        }
        if (rotation_ != null) {
          bitField0_ |= 0x00000008;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField rotation = 4 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearRotation() {
        bitField0_ = (bitField0_ & ~0x00000008);
        rotation_ = null;
        if (rotationBuilder_ != null) {
          rotationBuilder_.dispose();
          rotationBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField rotation = 4 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getRotationBuilder() {
        bitField0_ |= 0x00000008;
        onChanged();
        return getRotationFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField rotation = 4 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getRotationOrBuilder() {
        if (rotationBuilder_ != null) {
          return rotationBuilder_.getMessageOrBuilder();
        } else {
          return rotation_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : rotation_;
        }
      }
      /**
       * optional .CMsgVarField rotation = 4 [(.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getRotationFieldBuilder() {
        if (rotationBuilder_ == null) {
          rotationBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getRotation(),
                  getParentForChildren(),
                  isClean());
          rotation_ = null;
        }
        return rotationBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField translateU_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> translateUBuilder_;
      /**
       * optional .CMsgVarField translate_u = 5 [(.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the translateU field is set.
       */
      public boolean hasTranslateU() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * optional .CMsgVarField translate_u = 5 [(.var_field_type) = VAR_TYPE_STRING];
       * @return The translateU.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getTranslateU() {
        if (translateUBuilder_ == null) {
          return translateU_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : translateU_;
        } else {
          return translateUBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField translate_u = 5 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setTranslateU(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (translateUBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          translateU_ = value;
        } else {
          translateUBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField translate_u = 5 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setTranslateU(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (translateUBuilder_ == null) {
          translateU_ = builderForValue.build();
        } else {
          translateUBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField translate_u = 5 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeTranslateU(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (translateUBuilder_ == null) {
          if (((bitField0_ & 0x00000010) != 0) &&
            translateU_ != null &&
            translateU_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getTranslateUBuilder().mergeFrom(value);
          } else {
            translateU_ = value;
          }
        } else {
          translateUBuilder_.mergeFrom(value);
        }
        if (translateU_ != null) {
          bitField0_ |= 0x00000010;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField translate_u = 5 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearTranslateU() {
        bitField0_ = (bitField0_ & ~0x00000010);
        translateU_ = null;
        if (translateUBuilder_ != null) {
          translateUBuilder_.dispose();
          translateUBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField translate_u = 5 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getTranslateUBuilder() {
        bitField0_ |= 0x00000010;
        onChanged();
        return getTranslateUFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField translate_u = 5 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getTranslateUOrBuilder() {
        if (translateUBuilder_ != null) {
          return translateUBuilder_.getMessageOrBuilder();
        } else {
          return translateU_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : translateU_;
        }
      }
      /**
       * optional .CMsgVarField translate_u = 5 [(.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getTranslateUFieldBuilder() {
        if (translateUBuilder_ == null) {
          translateUBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getTranslateU(),
                  getParentForChildren(),
                  isClean());
          translateU_ = null;
        }
        return translateUBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField translateV_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> translateVBuilder_;
      /**
       * optional .CMsgVarField translate_v = 6 [(.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the translateV field is set.
       */
      public boolean hasTranslateV() {
        return ((bitField0_ & 0x00000020) != 0);
      }
      /**
       * optional .CMsgVarField translate_v = 6 [(.var_field_type) = VAR_TYPE_STRING];
       * @return The translateV.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getTranslateV() {
        if (translateVBuilder_ == null) {
          return translateV_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : translateV_;
        } else {
          return translateVBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField translate_v = 6 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setTranslateV(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (translateVBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          translateV_ = value;
        } else {
          translateVBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField translate_v = 6 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setTranslateV(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (translateVBuilder_ == null) {
          translateV_ = builderForValue.build();
        } else {
          translateVBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField translate_v = 6 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeTranslateV(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (translateVBuilder_ == null) {
          if (((bitField0_ & 0x00000020) != 0) &&
            translateV_ != null &&
            translateV_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getTranslateVBuilder().mergeFrom(value);
          } else {
            translateV_ = value;
          }
        } else {
          translateVBuilder_.mergeFrom(value);
        }
        if (translateV_ != null) {
          bitField0_ |= 0x00000020;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField translate_v = 6 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearTranslateV() {
        bitField0_ = (bitField0_ & ~0x00000020);
        translateV_ = null;
        if (translateVBuilder_ != null) {
          translateVBuilder_.dispose();
          translateVBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField translate_v = 6 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getTranslateVBuilder() {
        bitField0_ |= 0x00000020;
        onChanged();
        return getTranslateVFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField translate_v = 6 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getTranslateVOrBuilder() {
        if (translateVBuilder_ != null) {
          return translateVBuilder_.getMessageOrBuilder();
        } else {
          return translateV_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : translateV_;
        }
      }
      /**
       * optional .CMsgVarField translate_v = 6 [(.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getTranslateVFieldBuilder() {
        if (translateVBuilder_ == null) {
          translateVBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getTranslateV(),
                  getParentForChildren(),
                  isClean());
          translateV_ = null;
        }
        return translateVBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField scaleUv_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> scaleUvBuilder_;
      /**
       * optional .CMsgVarField scale_uv = 7 [(.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the scaleUv field is set.
       */
      public boolean hasScaleUv() {
        return ((bitField0_ & 0x00000040) != 0);
      }
      /**
       * optional .CMsgVarField scale_uv = 7 [(.var_field_type) = VAR_TYPE_STRING];
       * @return The scaleUv.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getScaleUv() {
        if (scaleUvBuilder_ == null) {
          return scaleUv_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : scaleUv_;
        } else {
          return scaleUvBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField scale_uv = 7 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setScaleUv(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (scaleUvBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          scaleUv_ = value;
        } else {
          scaleUvBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField scale_uv = 7 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setScaleUv(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (scaleUvBuilder_ == null) {
          scaleUv_ = builderForValue.build();
        } else {
          scaleUvBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField scale_uv = 7 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeScaleUv(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (scaleUvBuilder_ == null) {
          if (((bitField0_ & 0x00000040) != 0) &&
            scaleUv_ != null &&
            scaleUv_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getScaleUvBuilder().mergeFrom(value);
          } else {
            scaleUv_ = value;
          }
        } else {
          scaleUvBuilder_.mergeFrom(value);
        }
        if (scaleUv_ != null) {
          bitField0_ |= 0x00000040;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField scale_uv = 7 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearScaleUv() {
        bitField0_ = (bitField0_ & ~0x00000040);
        scaleUv_ = null;
        if (scaleUvBuilder_ != null) {
          scaleUvBuilder_.dispose();
          scaleUvBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField scale_uv = 7 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getScaleUvBuilder() {
        bitField0_ |= 0x00000040;
        onChanged();
        return getScaleUvFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField scale_uv = 7 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getScaleUvOrBuilder() {
        if (scaleUvBuilder_ != null) {
          return scaleUvBuilder_.getMessageOrBuilder();
        } else {
          return scaleUv_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : scaleUv_;
        }
      }
      /**
       * optional .CMsgVarField scale_uv = 7 [(.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getScaleUvFieldBuilder() {
        if (scaleUvBuilder_ == null) {
          scaleUvBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getScaleUv(),
                  getParentForChildren(),
                  isClean());
          scaleUv_ = null;
        }
        return scaleUvBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField flipU_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> flipUBuilder_;
      /**
       * optional .CMsgVarField flip_u = 8 [(.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the flipU field is set.
       */
      public boolean hasFlipU() {
        return ((bitField0_ & 0x00000080) != 0);
      }
      /**
       * optional .CMsgVarField flip_u = 8 [(.var_field_type) = VAR_TYPE_STRING];
       * @return The flipU.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getFlipU() {
        if (flipUBuilder_ == null) {
          return flipU_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : flipU_;
        } else {
          return flipUBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField flip_u = 8 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setFlipU(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (flipUBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          flipU_ = value;
        } else {
          flipUBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000080;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField flip_u = 8 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setFlipU(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (flipUBuilder_ == null) {
          flipU_ = builderForValue.build();
        } else {
          flipUBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000080;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField flip_u = 8 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeFlipU(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (flipUBuilder_ == null) {
          if (((bitField0_ & 0x00000080) != 0) &&
            flipU_ != null &&
            flipU_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getFlipUBuilder().mergeFrom(value);
          } else {
            flipU_ = value;
          }
        } else {
          flipUBuilder_.mergeFrom(value);
        }
        if (flipU_ != null) {
          bitField0_ |= 0x00000080;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField flip_u = 8 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearFlipU() {
        bitField0_ = (bitField0_ & ~0x00000080);
        flipU_ = null;
        if (flipUBuilder_ != null) {
          flipUBuilder_.dispose();
          flipUBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField flip_u = 8 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getFlipUBuilder() {
        bitField0_ |= 0x00000080;
        onChanged();
        return getFlipUFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField flip_u = 8 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getFlipUOrBuilder() {
        if (flipUBuilder_ != null) {
          return flipUBuilder_.getMessageOrBuilder();
        } else {
          return flipU_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : flipU_;
        }
      }
      /**
       * optional .CMsgVarField flip_u = 8 [(.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getFlipUFieldBuilder() {
        if (flipUBuilder_ == null) {
          flipUBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getFlipU(),
                  getParentForChildren(),
                  isClean());
          flipU_ = null;
        }
        return flipUBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField flipV_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> flipVBuilder_;
      /**
       * optional .CMsgVarField flip_v = 9 [(.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the flipV field is set.
       */
      public boolean hasFlipV() {
        return ((bitField0_ & 0x00000100) != 0);
      }
      /**
       * optional .CMsgVarField flip_v = 9 [(.var_field_type) = VAR_TYPE_STRING];
       * @return The flipV.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getFlipV() {
        if (flipVBuilder_ == null) {
          return flipV_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : flipV_;
        } else {
          return flipVBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField flip_v = 9 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setFlipV(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (flipVBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          flipV_ = value;
        } else {
          flipVBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000100;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField flip_v = 9 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setFlipV(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (flipVBuilder_ == null) {
          flipV_ = builderForValue.build();
        } else {
          flipVBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000100;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField flip_v = 9 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeFlipV(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (flipVBuilder_ == null) {
          if (((bitField0_ & 0x00000100) != 0) &&
            flipV_ != null &&
            flipV_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getFlipVBuilder().mergeFrom(value);
          } else {
            flipV_ = value;
          }
        } else {
          flipVBuilder_.mergeFrom(value);
        }
        if (flipV_ != null) {
          bitField0_ |= 0x00000100;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField flip_v = 9 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearFlipV() {
        bitField0_ = (bitField0_ & ~0x00000100);
        flipV_ = null;
        if (flipVBuilder_ != null) {
          flipVBuilder_.dispose();
          flipVBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField flip_v = 9 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getFlipVBuilder() {
        bitField0_ |= 0x00000100;
        onChanged();
        return getFlipVFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField flip_v = 9 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getFlipVOrBuilder() {
        if (flipVBuilder_ != null) {
          return flipVBuilder_.getMessageOrBuilder();
        } else {
          return flipV_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : flipV_;
        }
      }
      /**
       * optional .CMsgVarField flip_v = 9 [(.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getFlipVFieldBuilder() {
        if (flipVBuilder_ == null) {
          flipVBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getFlipV(),
                  getParentForChildren(),
                  isClean());
          flipV_ = null;
        }
        return flipVBuilder_;
      }

      private java.util.List operationNode_ =
        java.util.Collections.emptyList();
      private void ensureOperationNodeIsMutable() {
        if (!((bitField0_ & 0x00000200) != 0)) {
          operationNode_ = new java.util.ArrayList(operationNode_);
          bitField0_ |= 0x00000200;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNodeOrBuilder> operationNodeBuilder_;

      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 11;
       */
      public java.util.List getOperationNodeList() {
        if (operationNodeBuilder_ == null) {
          return java.util.Collections.unmodifiableList(operationNode_);
        } else {
          return operationNodeBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 11;
       */
      public int getOperationNodeCount() {
        if (operationNodeBuilder_ == null) {
          return operationNode_.size();
        } else {
          return operationNodeBuilder_.getCount();
        }
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 11;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode getOperationNode(int index) {
        if (operationNodeBuilder_ == null) {
          return operationNode_.get(index);
        } else {
          return operationNodeBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 11;
       */
      public Builder setOperationNode(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode value) {
        if (operationNodeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureOperationNodeIsMutable();
          operationNode_.set(index, value);
          onChanged();
        } else {
          operationNodeBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 11;
       */
      public Builder setOperationNode(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.Builder builderForValue) {
        if (operationNodeBuilder_ == null) {
          ensureOperationNodeIsMutable();
          operationNode_.set(index, builderForValue.build());
          onChanged();
        } else {
          operationNodeBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 11;
       */
      public Builder addOperationNode(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode value) {
        if (operationNodeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureOperationNodeIsMutable();
          operationNode_.add(value);
          onChanged();
        } else {
          operationNodeBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 11;
       */
      public Builder addOperationNode(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode value) {
        if (operationNodeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureOperationNodeIsMutable();
          operationNode_.add(index, value);
          onChanged();
        } else {
          operationNodeBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 11;
       */
      public Builder addOperationNode(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.Builder builderForValue) {
        if (operationNodeBuilder_ == null) {
          ensureOperationNodeIsMutable();
          operationNode_.add(builderForValue.build());
          onChanged();
        } else {
          operationNodeBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 11;
       */
      public Builder addOperationNode(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.Builder builderForValue) {
        if (operationNodeBuilder_ == null) {
          ensureOperationNodeIsMutable();
          operationNode_.add(index, builderForValue.build());
          onChanged();
        } else {
          operationNodeBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 11;
       */
      public Builder addAllOperationNode(
          java.lang.Iterable values) {
        if (operationNodeBuilder_ == null) {
          ensureOperationNodeIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, operationNode_);
          onChanged();
        } else {
          operationNodeBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 11;
       */
      public Builder clearOperationNode() {
        if (operationNodeBuilder_ == null) {
          operationNode_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000200);
          onChanged();
        } else {
          operationNodeBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 11;
       */
      public Builder removeOperationNode(int index) {
        if (operationNodeBuilder_ == null) {
          ensureOperationNodeIsMutable();
          operationNode_.remove(index);
          onChanged();
        } else {
          operationNodeBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 11;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.Builder getOperationNodeBuilder(
          int index) {
        return getOperationNodeFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 11;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNodeOrBuilder getOperationNodeOrBuilder(
          int index) {
        if (operationNodeBuilder_ == null) {
          return operationNode_.get(index);  } else {
          return operationNodeBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 11;
       */
      public java.util.List 
           getOperationNodeOrBuilderList() {
        if (operationNodeBuilder_ != null) {
          return operationNodeBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(operationNode_);
        }
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 11;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.Builder addOperationNodeBuilder() {
        return getOperationNodeFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.getDefaultInstance());
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 11;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.Builder addOperationNodeBuilder(
          int index) {
        return getOperationNodeFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.getDefaultInstance());
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 11;
       */
      public java.util.List 
           getOperationNodeBuilderList() {
        return getOperationNodeFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNodeOrBuilder> 
          getOperationNodeFieldBuilder() {
        if (operationNodeBuilder_ == null) {
          operationNodeBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNodeOrBuilder>(
                  operationNode_,
                  ((bitField0_ & 0x00000200) != 0),
                  getParentForChildren(),
                  isClean());
          operationNode_ = null;
        }
        return operationNodeBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgPaintKit_Operation_CombineStage)
    }

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

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

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

  }

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

    /**
     * optional .CMsgVarField groups = 1 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the groups field is set.
     */
    boolean hasGroups();
    /**
     * optional .CMsgVarField groups = 1 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The groups.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getGroups();
    /**
     * optional .CMsgVarField groups = 1 [(.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getGroupsOrBuilder();

    /**
     * repeated .CMsgVarField select = 2 [(.max_count) = 16, (.var_field_type) = VAR_TYPE_STRING];
     */
    java.util.List 
        getSelectList();
    /**
     * repeated .CMsgVarField select = 2 [(.max_count) = 16, (.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getSelect(int index);
    /**
     * repeated .CMsgVarField select = 2 [(.max_count) = 16, (.var_field_type) = VAR_TYPE_STRING];
     */
    int getSelectCount();
    /**
     * repeated .CMsgVarField select = 2 [(.max_count) = 16, (.var_field_type) = VAR_TYPE_STRING];
     */
    java.util.List 
        getSelectOrBuilderList();
    /**
     * repeated .CMsgVarField select = 2 [(.max_count) = 16, (.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getSelectOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code CMsgPaintKit_Operation_SelectStage}
   */
  public static final class CMsgPaintKit_Operation_SelectStage extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgPaintKit_Operation_SelectStage)
      CMsgPaintKit_Operation_SelectStageOrBuilder {
  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= */ "",
        CMsgPaintKit_Operation_SelectStage.class.getName());
    }
    // Use CMsgPaintKit_Operation_SelectStage.newBuilder() to construct.
    private CMsgPaintKit_Operation_SelectStage(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgPaintKit_Operation_SelectStage() {
      select_ = java.util.Collections.emptyList();
    }

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

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

    private int bitField0_;
    public static final int GROUPS_FIELD_NUMBER = 1;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField groups_;
    /**
     * optional .CMsgVarField groups = 1 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the groups field is set.
     */
    @java.lang.Override
    public boolean hasGroups() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional .CMsgVarField groups = 1 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The groups.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getGroups() {
      return groups_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : groups_;
    }
    /**
     * optional .CMsgVarField groups = 1 [(.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getGroupsOrBuilder() {
      return groups_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : groups_;
    }

    public static final int SELECT_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private java.util.List select_;
    /**
     * repeated .CMsgVarField select = 2 [(.max_count) = 16, (.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public java.util.List getSelectList() {
      return select_;
    }
    /**
     * repeated .CMsgVarField select = 2 [(.max_count) = 16, (.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public java.util.List 
        getSelectOrBuilderList() {
      return select_;
    }
    /**
     * repeated .CMsgVarField select = 2 [(.max_count) = 16, (.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public int getSelectCount() {
      return select_.size();
    }
    /**
     * repeated .CMsgVarField select = 2 [(.max_count) = 16, (.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getSelect(int index) {
      return select_.get(index);
    }
    /**
     * repeated .CMsgVarField select = 2 [(.max_count) = 16, (.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getSelectOrBuilder(
        int index) {
      return select_.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.writeMessage(1, getGroups());
      }
      for (int i = 0; i < select_.size(); i++) {
        output.writeMessage(2, select_.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
          .computeMessageSize(1, getGroups());
      }
      for (int i = 0; i < select_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, select_.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.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage) obj;

      if (hasGroups() != other.hasGroups()) return false;
      if (hasGroups()) {
        if (!getGroups()
            .equals(other.getGroups())) return false;
      }
      if (!getSelectList()
          .equals(other.getSelectList())) 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 (hasGroups()) {
        hash = (37 * hash) + GROUPS_FIELD_NUMBER;
        hash = (53 * hash) + getGroups().hashCode();
      }
      if (getSelectCount() > 0) {
        hash = (37 * hash) + SELECT_FIELD_NUMBER;
        hash = (53 * hash) + getSelectList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage 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.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage 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.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage 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.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage 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.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage 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.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage 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.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage 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.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage 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 CMsgPaintKit_Operation_SelectStage}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgPaintKit_Operation_SelectStage)
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStageOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgPaintKit_Operation_SelectStage_descriptor;
      }

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

      // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage
                .alwaysUseFieldBuilders) {
          getGroupsFieldBuilder();
          getSelectFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        groups_ = null;
        if (groupsBuilder_ != null) {
          groupsBuilder_.dispose();
          groupsBuilder_ = null;
        }
        if (selectBuilder_ == null) {
          select_ = java.util.Collections.emptyList();
        } else {
          select_ = null;
          selectBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

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

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

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

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

      private void buildPartialRepeatedFields(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage result) {
        if (selectBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0)) {
            select_ = java.util.Collections.unmodifiableList(select_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.select_ = select_;
        } else {
          result.select_ = selectBuilder_.build();
        }
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.groups_ = groupsBuilder_ == null
              ? groups_
              : groupsBuilder_.build();
          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.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage.getDefaultInstance()) return this;
        if (other.hasGroups()) {
          mergeGroups(other.getGroups());
        }
        if (selectBuilder_ == null) {
          if (!other.select_.isEmpty()) {
            if (select_.isEmpty()) {
              select_ = other.select_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureSelectIsMutable();
              select_.addAll(other.select_);
            }
            onChanged();
          }
        } else {
          if (!other.select_.isEmpty()) {
            if (selectBuilder_.isEmpty()) {
              selectBuilder_.dispose();
              selectBuilder_ = null;
              select_ = other.select_;
              bitField0_ = (bitField0_ & ~0x00000002);
              selectBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getSelectFieldBuilder() : null;
            } else {
              selectBuilder_.addAllMessages(other.select_);
            }
          }
        }
        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: {
                input.readMessage(
                    getGroupsFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 18: {
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.parser(),
                        extensionRegistry);
                if (selectBuilder_ == null) {
                  ensureSelectIsMutable();
                  select_.add(m);
                } else {
                  selectBuilder_.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 in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField groups_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> groupsBuilder_;
      /**
       * optional .CMsgVarField groups = 1 [(.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the groups field is set.
       */
      public boolean hasGroups() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional .CMsgVarField groups = 1 [(.var_field_type) = VAR_TYPE_STRING];
       * @return The groups.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getGroups() {
        if (groupsBuilder_ == null) {
          return groups_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : groups_;
        } else {
          return groupsBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField groups = 1 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setGroups(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (groupsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          groups_ = value;
        } else {
          groupsBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField groups = 1 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setGroups(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (groupsBuilder_ == null) {
          groups_ = builderForValue.build();
        } else {
          groupsBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField groups = 1 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeGroups(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (groupsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
            groups_ != null &&
            groups_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getGroupsBuilder().mergeFrom(value);
          } else {
            groups_ = value;
          }
        } else {
          groupsBuilder_.mergeFrom(value);
        }
        if (groups_ != null) {
          bitField0_ |= 0x00000001;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField groups = 1 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearGroups() {
        bitField0_ = (bitField0_ & ~0x00000001);
        groups_ = null;
        if (groupsBuilder_ != null) {
          groupsBuilder_.dispose();
          groupsBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField groups = 1 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getGroupsBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getGroupsFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField groups = 1 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getGroupsOrBuilder() {
        if (groupsBuilder_ != null) {
          return groupsBuilder_.getMessageOrBuilder();
        } else {
          return groups_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : groups_;
        }
      }
      /**
       * optional .CMsgVarField groups = 1 [(.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getGroupsFieldBuilder() {
        if (groupsBuilder_ == null) {
          groupsBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getGroups(),
                  getParentForChildren(),
                  isClean());
          groups_ = null;
        }
        return groupsBuilder_;
      }

      private java.util.List select_ =
        java.util.Collections.emptyList();
      private void ensureSelectIsMutable() {
        if (!((bitField0_ & 0x00000002) != 0)) {
          select_ = new java.util.ArrayList(select_);
          bitField0_ |= 0x00000002;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> selectBuilder_;

      /**
       * repeated .CMsgVarField select = 2 [(.max_count) = 16, (.var_field_type) = VAR_TYPE_STRING];
       */
      public java.util.List getSelectList() {
        if (selectBuilder_ == null) {
          return java.util.Collections.unmodifiableList(select_);
        } else {
          return selectBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CMsgVarField select = 2 [(.max_count) = 16, (.var_field_type) = VAR_TYPE_STRING];
       */
      public int getSelectCount() {
        if (selectBuilder_ == null) {
          return select_.size();
        } else {
          return selectBuilder_.getCount();
        }
      }
      /**
       * repeated .CMsgVarField select = 2 [(.max_count) = 16, (.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getSelect(int index) {
        if (selectBuilder_ == null) {
          return select_.get(index);
        } else {
          return selectBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CMsgVarField select = 2 [(.max_count) = 16, (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setSelect(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (selectBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSelectIsMutable();
          select_.set(index, value);
          onChanged();
        } else {
          selectBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgVarField select = 2 [(.max_count) = 16, (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setSelect(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (selectBuilder_ == null) {
          ensureSelectIsMutable();
          select_.set(index, builderForValue.build());
          onChanged();
        } else {
          selectBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgVarField select = 2 [(.max_count) = 16, (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder addSelect(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (selectBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSelectIsMutable();
          select_.add(value);
          onChanged();
        } else {
          selectBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CMsgVarField select = 2 [(.max_count) = 16, (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder addSelect(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (selectBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSelectIsMutable();
          select_.add(index, value);
          onChanged();
        } else {
          selectBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgVarField select = 2 [(.max_count) = 16, (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder addSelect(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (selectBuilder_ == null) {
          ensureSelectIsMutable();
          select_.add(builderForValue.build());
          onChanged();
        } else {
          selectBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgVarField select = 2 [(.max_count) = 16, (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder addSelect(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (selectBuilder_ == null) {
          ensureSelectIsMutable();
          select_.add(index, builderForValue.build());
          onChanged();
        } else {
          selectBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgVarField select = 2 [(.max_count) = 16, (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder addAllSelect(
          java.lang.Iterable values) {
        if (selectBuilder_ == null) {
          ensureSelectIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, select_);
          onChanged();
        } else {
          selectBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CMsgVarField select = 2 [(.max_count) = 16, (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearSelect() {
        if (selectBuilder_ == null) {
          select_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          selectBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CMsgVarField select = 2 [(.max_count) = 16, (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder removeSelect(int index) {
        if (selectBuilder_ == null) {
          ensureSelectIsMutable();
          select_.remove(index);
          onChanged();
        } else {
          selectBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CMsgVarField select = 2 [(.max_count) = 16, (.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getSelectBuilder(
          int index) {
        return getSelectFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CMsgVarField select = 2 [(.max_count) = 16, (.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getSelectOrBuilder(
          int index) {
        if (selectBuilder_ == null) {
          return select_.get(index);  } else {
          return selectBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CMsgVarField select = 2 [(.max_count) = 16, (.var_field_type) = VAR_TYPE_STRING];
       */
      public java.util.List 
           getSelectOrBuilderList() {
        if (selectBuilder_ != null) {
          return selectBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(select_);
        }
      }
      /**
       * repeated .CMsgVarField select = 2 [(.max_count) = 16, (.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder addSelectBuilder() {
        return getSelectFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance());
      }
      /**
       * repeated .CMsgVarField select = 2 [(.max_count) = 16, (.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder addSelectBuilder(
          int index) {
        return getSelectFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance());
      }
      /**
       * repeated .CMsgVarField select = 2 [(.max_count) = 16, (.var_field_type) = VAR_TYPE_STRING];
       */
      public java.util.List 
           getSelectBuilderList() {
        return getSelectFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getSelectFieldBuilder() {
        if (selectBuilder_ == null) {
          selectBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  select_,
                  ((bitField0_ & 0x00000002) != 0),
                  getParentForChildren(),
                  isClean());
          select_ = null;
        }
        return selectBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgPaintKit_Operation_SelectStage)
    }

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

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

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

  }

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

    /**
     * optional .CMsgVarField base = 1 [(.comment) = "Name of the base file for the sticker (the albedo)", (.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the base field is set.
     */
    boolean hasBase();
    /**
     * optional .CMsgVarField base = 1 [(.comment) = "Name of the base file for the sticker (the albedo)", (.var_field_type) = VAR_TYPE_STRING];
     * @return The base.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getBase();
    /**
     * optional .CMsgVarField base = 1 [(.comment) = "Name of the base file for the sticker (the albedo)", (.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getBaseOrBuilder();

    /**
     * optional .CMsgVarField weight = 2 [(.comment) = "Random likelihood this one is to be selected", (.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the weight field is set.
     */
    boolean hasWeight();
    /**
     * optional .CMsgVarField weight = 2 [(.comment) = "Random likelihood this one is to be selected", (.var_field_type) = VAR_TYPE_STRING];
     * @return The weight.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getWeight();
    /**
     * optional .CMsgVarField weight = 2 [(.comment) = "Random likelihood this one is to be selected", (.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getWeightOrBuilder();

    /**
     * optional .CMsgVarField spec = 3 [(.comment) = "Name of the specular file for the sticker, or if blank we will assume it is baseFilename + _spec + baseExtension", (.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the spec field is set.
     */
    boolean hasSpec();
    /**
     * optional .CMsgVarField spec = 3 [(.comment) = "Name of the specular file for the sticker, or if blank we will assume it is baseFilename + _spec + baseExtension", (.var_field_type) = VAR_TYPE_STRING];
     * @return The spec.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getSpec();
    /**
     * optional .CMsgVarField spec = 3 [(.comment) = "Name of the specular file for the sticker, or if blank we will assume it is baseFilename + _spec + baseExtension", (.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getSpecOrBuilder();
  }
  /**
   * Protobuf type {@code CMsgPaintKit_Operation_Sticker}
   */
  public static final class CMsgPaintKit_Operation_Sticker extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgPaintKit_Operation_Sticker)
      CMsgPaintKit_Operation_StickerOrBuilder {
  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= */ "",
        CMsgPaintKit_Operation_Sticker.class.getName());
    }
    // Use CMsgPaintKit_Operation_Sticker.newBuilder() to construct.
    private CMsgPaintKit_Operation_Sticker(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgPaintKit_Operation_Sticker() {
    }

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

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

    private int bitField0_;
    public static final int BASE_FIELD_NUMBER = 1;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField base_;
    /**
     * optional .CMsgVarField base = 1 [(.comment) = "Name of the base file for the sticker (the albedo)", (.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the base field is set.
     */
    @java.lang.Override
    public boolean hasBase() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional .CMsgVarField base = 1 [(.comment) = "Name of the base file for the sticker (the albedo)", (.var_field_type) = VAR_TYPE_STRING];
     * @return The base.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getBase() {
      return base_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : base_;
    }
    /**
     * optional .CMsgVarField base = 1 [(.comment) = "Name of the base file for the sticker (the albedo)", (.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getBaseOrBuilder() {
      return base_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : base_;
    }

    public static final int WEIGHT_FIELD_NUMBER = 2;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField weight_;
    /**
     * optional .CMsgVarField weight = 2 [(.comment) = "Random likelihood this one is to be selected", (.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the weight field is set.
     */
    @java.lang.Override
    public boolean hasWeight() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional .CMsgVarField weight = 2 [(.comment) = "Random likelihood this one is to be selected", (.var_field_type) = VAR_TYPE_STRING];
     * @return The weight.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getWeight() {
      return weight_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : weight_;
    }
    /**
     * optional .CMsgVarField weight = 2 [(.comment) = "Random likelihood this one is to be selected", (.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getWeightOrBuilder() {
      return weight_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : weight_;
    }

    public static final int SPEC_FIELD_NUMBER = 3;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField spec_;
    /**
     * optional .CMsgVarField spec = 3 [(.comment) = "Name of the specular file for the sticker, or if blank we will assume it is baseFilename + _spec + baseExtension", (.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the spec field is set.
     */
    @java.lang.Override
    public boolean hasSpec() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional .CMsgVarField spec = 3 [(.comment) = "Name of the specular file for the sticker, or if blank we will assume it is baseFilename + _spec + baseExtension", (.var_field_type) = VAR_TYPE_STRING];
     * @return The spec.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getSpec() {
      return spec_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : spec_;
    }
    /**
     * optional .CMsgVarField spec = 3 [(.comment) = "Name of the specular file for the sticker, or if blank we will assume it is baseFilename + _spec + baseExtension", (.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getSpecOrBuilder() {
      return spec_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : spec_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getBase());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeMessage(2, getWeight());
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeMessage(3, getSpec());
      }
      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
          .computeMessageSize(1, getBase());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getWeight());
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getSpec());
      }
      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.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker) obj;

      if (hasBase() != other.hasBase()) return false;
      if (hasBase()) {
        if (!getBase()
            .equals(other.getBase())) return false;
      }
      if (hasWeight() != other.hasWeight()) return false;
      if (hasWeight()) {
        if (!getWeight()
            .equals(other.getWeight())) return false;
      }
      if (hasSpec() != other.hasSpec()) return false;
      if (hasSpec()) {
        if (!getSpec()
            .equals(other.getSpec())) 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 (hasBase()) {
        hash = (37 * hash) + BASE_FIELD_NUMBER;
        hash = (53 * hash) + getBase().hashCode();
      }
      if (hasWeight()) {
        hash = (37 * hash) + WEIGHT_FIELD_NUMBER;
        hash = (53 * hash) + getWeight().hashCode();
      }
      if (hasSpec()) {
        hash = (37 * hash) + SPEC_FIELD_NUMBER;
        hash = (53 * hash) + getSpec().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker 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.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker 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.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker 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.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker 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.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker 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.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker 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.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker 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.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker 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 CMsgPaintKit_Operation_Sticker}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgPaintKit_Operation_Sticker)
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgPaintKit_Operation_Sticker_descriptor;
      }

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

      // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage
                .alwaysUseFieldBuilders) {
          getBaseFieldBuilder();
          getWeightFieldBuilder();
          getSpecFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        base_ = null;
        if (baseBuilder_ != null) {
          baseBuilder_.dispose();
          baseBuilder_ = null;
        }
        weight_ = null;
        if (weightBuilder_ != null) {
          weightBuilder_.dispose();
          weightBuilder_ = null;
        }
        spec_ = null;
        if (specBuilder_ != null) {
          specBuilder_.dispose();
          specBuilder_ = null;
        }
        return this;
      }

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

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

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

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

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.base_ = baseBuilder_ == null
              ? base_
              : baseBuilder_.build();
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.weight_ = weightBuilder_ == null
              ? weight_
              : weightBuilder_.build();
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.spec_ = specBuilder_ == null
              ? spec_
              : specBuilder_.build();
          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.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker.getDefaultInstance()) return this;
        if (other.hasBase()) {
          mergeBase(other.getBase());
        }
        if (other.hasWeight()) {
          mergeWeight(other.getWeight());
        }
        if (other.hasSpec()) {
          mergeSpec(other.getSpec());
        }
        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: {
                input.readMessage(
                    getBaseFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 18: {
                input.readMessage(
                    getWeightFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              case 26: {
                input.readMessage(
                    getSpecFieldBuilder().getBuilder(),
                    extensionRegistry);
                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 in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField base_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> baseBuilder_;
      /**
       * optional .CMsgVarField base = 1 [(.comment) = "Name of the base file for the sticker (the albedo)", (.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the base field is set.
       */
      public boolean hasBase() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional .CMsgVarField base = 1 [(.comment) = "Name of the base file for the sticker (the albedo)", (.var_field_type) = VAR_TYPE_STRING];
       * @return The base.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getBase() {
        if (baseBuilder_ == null) {
          return base_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : base_;
        } else {
          return baseBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField base = 1 [(.comment) = "Name of the base file for the sticker (the albedo)", (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setBase(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (baseBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          base_ = value;
        } else {
          baseBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField base = 1 [(.comment) = "Name of the base file for the sticker (the albedo)", (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setBase(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (baseBuilder_ == null) {
          base_ = builderForValue.build();
        } else {
          baseBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField base = 1 [(.comment) = "Name of the base file for the sticker (the albedo)", (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeBase(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (baseBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
            base_ != null &&
            base_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getBaseBuilder().mergeFrom(value);
          } else {
            base_ = value;
          }
        } else {
          baseBuilder_.mergeFrom(value);
        }
        if (base_ != null) {
          bitField0_ |= 0x00000001;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField base = 1 [(.comment) = "Name of the base file for the sticker (the albedo)", (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearBase() {
        bitField0_ = (bitField0_ & ~0x00000001);
        base_ = null;
        if (baseBuilder_ != null) {
          baseBuilder_.dispose();
          baseBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField base = 1 [(.comment) = "Name of the base file for the sticker (the albedo)", (.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getBaseBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getBaseFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField base = 1 [(.comment) = "Name of the base file for the sticker (the albedo)", (.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getBaseOrBuilder() {
        if (baseBuilder_ != null) {
          return baseBuilder_.getMessageOrBuilder();
        } else {
          return base_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : base_;
        }
      }
      /**
       * optional .CMsgVarField base = 1 [(.comment) = "Name of the base file for the sticker (the albedo)", (.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getBaseFieldBuilder() {
        if (baseBuilder_ == null) {
          baseBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getBase(),
                  getParentForChildren(),
                  isClean());
          base_ = null;
        }
        return baseBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField weight_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> weightBuilder_;
      /**
       * optional .CMsgVarField weight = 2 [(.comment) = "Random likelihood this one is to be selected", (.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the weight field is set.
       */
      public boolean hasWeight() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional .CMsgVarField weight = 2 [(.comment) = "Random likelihood this one is to be selected", (.var_field_type) = VAR_TYPE_STRING];
       * @return The weight.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getWeight() {
        if (weightBuilder_ == null) {
          return weight_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : weight_;
        } else {
          return weightBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField weight = 2 [(.comment) = "Random likelihood this one is to be selected", (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setWeight(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (weightBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          weight_ = value;
        } else {
          weightBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField weight = 2 [(.comment) = "Random likelihood this one is to be selected", (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setWeight(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (weightBuilder_ == null) {
          weight_ = builderForValue.build();
        } else {
          weightBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField weight = 2 [(.comment) = "Random likelihood this one is to be selected", (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeWeight(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (weightBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0) &&
            weight_ != null &&
            weight_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getWeightBuilder().mergeFrom(value);
          } else {
            weight_ = value;
          }
        } else {
          weightBuilder_.mergeFrom(value);
        }
        if (weight_ != null) {
          bitField0_ |= 0x00000002;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField weight = 2 [(.comment) = "Random likelihood this one is to be selected", (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearWeight() {
        bitField0_ = (bitField0_ & ~0x00000002);
        weight_ = null;
        if (weightBuilder_ != null) {
          weightBuilder_.dispose();
          weightBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField weight = 2 [(.comment) = "Random likelihood this one is to be selected", (.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getWeightBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getWeightFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField weight = 2 [(.comment) = "Random likelihood this one is to be selected", (.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getWeightOrBuilder() {
        if (weightBuilder_ != null) {
          return weightBuilder_.getMessageOrBuilder();
        } else {
          return weight_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : weight_;
        }
      }
      /**
       * optional .CMsgVarField weight = 2 [(.comment) = "Random likelihood this one is to be selected", (.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getWeightFieldBuilder() {
        if (weightBuilder_ == null) {
          weightBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getWeight(),
                  getParentForChildren(),
                  isClean());
          weight_ = null;
        }
        return weightBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField spec_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> specBuilder_;
      /**
       * optional .CMsgVarField spec = 3 [(.comment) = "Name of the specular file for the sticker, or if blank we will assume it is baseFilename + _spec + baseExtension", (.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the spec field is set.
       */
      public boolean hasSpec() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional .CMsgVarField spec = 3 [(.comment) = "Name of the specular file for the sticker, or if blank we will assume it is baseFilename + _spec + baseExtension", (.var_field_type) = VAR_TYPE_STRING];
       * @return The spec.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getSpec() {
        if (specBuilder_ == null) {
          return spec_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : spec_;
        } else {
          return specBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField spec = 3 [(.comment) = "Name of the specular file for the sticker, or if blank we will assume it is baseFilename + _spec + baseExtension", (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setSpec(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (specBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          spec_ = value;
        } else {
          specBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField spec = 3 [(.comment) = "Name of the specular file for the sticker, or if blank we will assume it is baseFilename + _spec + baseExtension", (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setSpec(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (specBuilder_ == null) {
          spec_ = builderForValue.build();
        } else {
          specBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField spec = 3 [(.comment) = "Name of the specular file for the sticker, or if blank we will assume it is baseFilename + _spec + baseExtension", (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeSpec(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (specBuilder_ == null) {
          if (((bitField0_ & 0x00000004) != 0) &&
            spec_ != null &&
            spec_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getSpecBuilder().mergeFrom(value);
          } else {
            spec_ = value;
          }
        } else {
          specBuilder_.mergeFrom(value);
        }
        if (spec_ != null) {
          bitField0_ |= 0x00000004;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField spec = 3 [(.comment) = "Name of the specular file for the sticker, or if blank we will assume it is baseFilename + _spec + baseExtension", (.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearSpec() {
        bitField0_ = (bitField0_ & ~0x00000004);
        spec_ = null;
        if (specBuilder_ != null) {
          specBuilder_.dispose();
          specBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField spec = 3 [(.comment) = "Name of the specular file for the sticker, or if blank we will assume it is baseFilename + _spec + baseExtension", (.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getSpecBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getSpecFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField spec = 3 [(.comment) = "Name of the specular file for the sticker, or if blank we will assume it is baseFilename + _spec + baseExtension", (.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getSpecOrBuilder() {
        if (specBuilder_ != null) {
          return specBuilder_.getMessageOrBuilder();
        } else {
          return spec_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : spec_;
        }
      }
      /**
       * optional .CMsgVarField spec = 3 [(.comment) = "Name of the specular file for the sticker, or if blank we will assume it is baseFilename + _spec + baseExtension", (.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getSpecFieldBuilder() {
        if (specBuilder_ == null) {
          specBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getSpec(),
                  getParentForChildren(),
                  isClean());
          spec_ = null;
        }
        return specBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgPaintKit_Operation_Sticker)
    }

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

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

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

  }

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

    /**
     * repeated .CMsgPaintKit_Operation_Sticker sticker = 1;
     */
    java.util.List 
        getStickerList();
    /**
     * repeated .CMsgPaintKit_Operation_Sticker sticker = 1;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker getSticker(int index);
    /**
     * repeated .CMsgPaintKit_Operation_Sticker sticker = 1;
     */
    int getStickerCount();
    /**
     * repeated .CMsgPaintKit_Operation_Sticker sticker = 1;
     */
    java.util.List 
        getStickerOrBuilderList();
    /**
     * repeated .CMsgPaintKit_Operation_Sticker sticker = 1;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerOrBuilder getStickerOrBuilder(
        int index);

    /**
     * optional .CMsgVarField dest_tl = 2 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the destTl field is set.
     */
    boolean hasDestTl();
    /**
     * optional .CMsgVarField dest_tl = 2 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The destTl.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getDestTl();
    /**
     * optional .CMsgVarField dest_tl = 2 [(.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getDestTlOrBuilder();

    /**
     * optional .CMsgVarField dest_tr = 3 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the destTr field is set.
     */
    boolean hasDestTr();
    /**
     * optional .CMsgVarField dest_tr = 3 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The destTr.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getDestTr();
    /**
     * optional .CMsgVarField dest_tr = 3 [(.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getDestTrOrBuilder();

    /**
     * optional .CMsgVarField dest_bl = 4 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the destBl field is set.
     */
    boolean hasDestBl();
    /**
     * optional .CMsgVarField dest_bl = 4 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The destBl.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getDestBl();
    /**
     * optional .CMsgVarField dest_bl = 4 [(.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getDestBlOrBuilder();

    /**
     * optional .CMsgVarField adjust_black = 5 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the adjustBlack field is set.
     */
    boolean hasAdjustBlack();
    /**
     * optional .CMsgVarField adjust_black = 5 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The adjustBlack.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getAdjustBlack();
    /**
     * optional .CMsgVarField adjust_black = 5 [(.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getAdjustBlackOrBuilder();

    /**
     * optional .CMsgVarField adjust_offset = 6 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the adjustOffset field is set.
     */
    boolean hasAdjustOffset();
    /**
     * optional .CMsgVarField adjust_offset = 6 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The adjustOffset.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getAdjustOffset();
    /**
     * optional .CMsgVarField adjust_offset = 6 [(.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getAdjustOffsetOrBuilder();

    /**
     * optional .CMsgVarField adjust_gamma = 7 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the adjustGamma field is set.
     */
    boolean hasAdjustGamma();
    /**
     * optional .CMsgVarField adjust_gamma = 7 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The adjustGamma.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getAdjustGamma();
    /**
     * optional .CMsgVarField adjust_gamma = 7 [(.var_field_type) = VAR_TYPE_STRING];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getAdjustGammaOrBuilder();

    /**
     * repeated .CMsgPaintKit_OperationNode operation_node = 9;
     */
    java.util.List 
        getOperationNodeList();
    /**
     * repeated .CMsgPaintKit_OperationNode operation_node = 9;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode getOperationNode(int index);
    /**
     * repeated .CMsgPaintKit_OperationNode operation_node = 9;
     */
    int getOperationNodeCount();
    /**
     * repeated .CMsgPaintKit_OperationNode operation_node = 9;
     */
    java.util.List 
        getOperationNodeOrBuilderList();
    /**
     * repeated .CMsgPaintKit_OperationNode operation_node = 9;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNodeOrBuilder getOperationNodeOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code CMsgPaintKit_Operation_StickerStage}
   */
  public static final class CMsgPaintKit_Operation_StickerStage extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgPaintKit_Operation_StickerStage)
      CMsgPaintKit_Operation_StickerStageOrBuilder {
  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= */ "",
        CMsgPaintKit_Operation_StickerStage.class.getName());
    }
    // Use CMsgPaintKit_Operation_StickerStage.newBuilder() to construct.
    private CMsgPaintKit_Operation_StickerStage(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgPaintKit_Operation_StickerStage() {
      sticker_ = java.util.Collections.emptyList();
      operationNode_ = java.util.Collections.emptyList();
    }

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

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

    private int bitField0_;
    public static final int STICKER_FIELD_NUMBER = 1;
    @SuppressWarnings("serial")
    private java.util.List sticker_;
    /**
     * repeated .CMsgPaintKit_Operation_Sticker sticker = 1;
     */
    @java.lang.Override
    public java.util.List getStickerList() {
      return sticker_;
    }
    /**
     * repeated .CMsgPaintKit_Operation_Sticker sticker = 1;
     */
    @java.lang.Override
    public java.util.List 
        getStickerOrBuilderList() {
      return sticker_;
    }
    /**
     * repeated .CMsgPaintKit_Operation_Sticker sticker = 1;
     */
    @java.lang.Override
    public int getStickerCount() {
      return sticker_.size();
    }
    /**
     * repeated .CMsgPaintKit_Operation_Sticker sticker = 1;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker getSticker(int index) {
      return sticker_.get(index);
    }
    /**
     * repeated .CMsgPaintKit_Operation_Sticker sticker = 1;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerOrBuilder getStickerOrBuilder(
        int index) {
      return sticker_.get(index);
    }

    public static final int DEST_TL_FIELD_NUMBER = 2;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField destTl_;
    /**
     * optional .CMsgVarField dest_tl = 2 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the destTl field is set.
     */
    @java.lang.Override
    public boolean hasDestTl() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional .CMsgVarField dest_tl = 2 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The destTl.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getDestTl() {
      return destTl_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : destTl_;
    }
    /**
     * optional .CMsgVarField dest_tl = 2 [(.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getDestTlOrBuilder() {
      return destTl_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : destTl_;
    }

    public static final int DEST_TR_FIELD_NUMBER = 3;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField destTr_;
    /**
     * optional .CMsgVarField dest_tr = 3 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the destTr field is set.
     */
    @java.lang.Override
    public boolean hasDestTr() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional .CMsgVarField dest_tr = 3 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The destTr.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getDestTr() {
      return destTr_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : destTr_;
    }
    /**
     * optional .CMsgVarField dest_tr = 3 [(.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getDestTrOrBuilder() {
      return destTr_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : destTr_;
    }

    public static final int DEST_BL_FIELD_NUMBER = 4;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField destBl_;
    /**
     * optional .CMsgVarField dest_bl = 4 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the destBl field is set.
     */
    @java.lang.Override
    public boolean hasDestBl() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional .CMsgVarField dest_bl = 4 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The destBl.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getDestBl() {
      return destBl_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : destBl_;
    }
    /**
     * optional .CMsgVarField dest_bl = 4 [(.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getDestBlOrBuilder() {
      return destBl_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : destBl_;
    }

    public static final int ADJUST_BLACK_FIELD_NUMBER = 5;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField adjustBlack_;
    /**
     * optional .CMsgVarField adjust_black = 5 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the adjustBlack field is set.
     */
    @java.lang.Override
    public boolean hasAdjustBlack() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional .CMsgVarField adjust_black = 5 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The adjustBlack.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getAdjustBlack() {
      return adjustBlack_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustBlack_;
    }
    /**
     * optional .CMsgVarField adjust_black = 5 [(.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getAdjustBlackOrBuilder() {
      return adjustBlack_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustBlack_;
    }

    public static final int ADJUST_OFFSET_FIELD_NUMBER = 6;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField adjustOffset_;
    /**
     * optional .CMsgVarField adjust_offset = 6 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the adjustOffset field is set.
     */
    @java.lang.Override
    public boolean hasAdjustOffset() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * optional .CMsgVarField adjust_offset = 6 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The adjustOffset.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getAdjustOffset() {
      return adjustOffset_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustOffset_;
    }
    /**
     * optional .CMsgVarField adjust_offset = 6 [(.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getAdjustOffsetOrBuilder() {
      return adjustOffset_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustOffset_;
    }

    public static final int ADJUST_GAMMA_FIELD_NUMBER = 7;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField adjustGamma_;
    /**
     * optional .CMsgVarField adjust_gamma = 7 [(.var_field_type) = VAR_TYPE_STRING];
     * @return Whether the adjustGamma field is set.
     */
    @java.lang.Override
    public boolean hasAdjustGamma() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * optional .CMsgVarField adjust_gamma = 7 [(.var_field_type) = VAR_TYPE_STRING];
     * @return The adjustGamma.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getAdjustGamma() {
      return adjustGamma_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustGamma_;
    }
    /**
     * optional .CMsgVarField adjust_gamma = 7 [(.var_field_type) = VAR_TYPE_STRING];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getAdjustGammaOrBuilder() {
      return adjustGamma_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustGamma_;
    }

    public static final int OPERATION_NODE_FIELD_NUMBER = 9;
    @SuppressWarnings("serial")
    private java.util.List operationNode_;
    /**
     * repeated .CMsgPaintKit_OperationNode operation_node = 9;
     */
    @java.lang.Override
    public java.util.List getOperationNodeList() {
      return operationNode_;
    }
    /**
     * repeated .CMsgPaintKit_OperationNode operation_node = 9;
     */
    @java.lang.Override
    public java.util.List 
        getOperationNodeOrBuilderList() {
      return operationNode_;
    }
    /**
     * repeated .CMsgPaintKit_OperationNode operation_node = 9;
     */
    @java.lang.Override
    public int getOperationNodeCount() {
      return operationNode_.size();
    }
    /**
     * repeated .CMsgPaintKit_OperationNode operation_node = 9;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode getOperationNode(int index) {
      return operationNode_.get(index);
    }
    /**
     * repeated .CMsgPaintKit_OperationNode operation_node = 9;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNodeOrBuilder getOperationNodeOrBuilder(
        int index) {
      return operationNode_.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;

      for (int i = 0; i < getOperationNodeCount(); i++) {
        if (!getOperationNode(i).isInitialized()) {
          memoizedIsInitialized = 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 < sticker_.size(); i++) {
        output.writeMessage(1, sticker_.get(i));
      }
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(2, getDestTl());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeMessage(3, getDestTr());
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeMessage(4, getDestBl());
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeMessage(5, getAdjustBlack());
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        output.writeMessage(6, getAdjustOffset());
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        output.writeMessage(7, getAdjustGamma());
      }
      for (int i = 0; i < operationNode_.size(); i++) {
        output.writeMessage(9, operationNode_.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 < sticker_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, sticker_.get(i));
      }
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getDestTl());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getDestTr());
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, getDestBl());
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, getAdjustBlack());
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, getAdjustOffset());
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(7, getAdjustGamma());
      }
      for (int i = 0; i < operationNode_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(9, operationNode_.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.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage) obj;

      if (!getStickerList()
          .equals(other.getStickerList())) return false;
      if (hasDestTl() != other.hasDestTl()) return false;
      if (hasDestTl()) {
        if (!getDestTl()
            .equals(other.getDestTl())) return false;
      }
      if (hasDestTr() != other.hasDestTr()) return false;
      if (hasDestTr()) {
        if (!getDestTr()
            .equals(other.getDestTr())) return false;
      }
      if (hasDestBl() != other.hasDestBl()) return false;
      if (hasDestBl()) {
        if (!getDestBl()
            .equals(other.getDestBl())) return false;
      }
      if (hasAdjustBlack() != other.hasAdjustBlack()) return false;
      if (hasAdjustBlack()) {
        if (!getAdjustBlack()
            .equals(other.getAdjustBlack())) return false;
      }
      if (hasAdjustOffset() != other.hasAdjustOffset()) return false;
      if (hasAdjustOffset()) {
        if (!getAdjustOffset()
            .equals(other.getAdjustOffset())) return false;
      }
      if (hasAdjustGamma() != other.hasAdjustGamma()) return false;
      if (hasAdjustGamma()) {
        if (!getAdjustGamma()
            .equals(other.getAdjustGamma())) return false;
      }
      if (!getOperationNodeList()
          .equals(other.getOperationNodeList())) 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 (getStickerCount() > 0) {
        hash = (37 * hash) + STICKER_FIELD_NUMBER;
        hash = (53 * hash) + getStickerList().hashCode();
      }
      if (hasDestTl()) {
        hash = (37 * hash) + DEST_TL_FIELD_NUMBER;
        hash = (53 * hash) + getDestTl().hashCode();
      }
      if (hasDestTr()) {
        hash = (37 * hash) + DEST_TR_FIELD_NUMBER;
        hash = (53 * hash) + getDestTr().hashCode();
      }
      if (hasDestBl()) {
        hash = (37 * hash) + DEST_BL_FIELD_NUMBER;
        hash = (53 * hash) + getDestBl().hashCode();
      }
      if (hasAdjustBlack()) {
        hash = (37 * hash) + ADJUST_BLACK_FIELD_NUMBER;
        hash = (53 * hash) + getAdjustBlack().hashCode();
      }
      if (hasAdjustOffset()) {
        hash = (37 * hash) + ADJUST_OFFSET_FIELD_NUMBER;
        hash = (53 * hash) + getAdjustOffset().hashCode();
      }
      if (hasAdjustGamma()) {
        hash = (37 * hash) + ADJUST_GAMMA_FIELD_NUMBER;
        hash = (53 * hash) + getAdjustGamma().hashCode();
      }
      if (getOperationNodeCount() > 0) {
        hash = (37 * hash) + OPERATION_NODE_FIELD_NUMBER;
        hash = (53 * hash) + getOperationNodeList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage 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.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage 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.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage 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.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage 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.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage 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.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage 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.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage 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.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage 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 CMsgPaintKit_Operation_StickerStage}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgPaintKit_Operation_StickerStage)
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStageOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgPaintKit_Operation_StickerStage_descriptor;
      }

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

      // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage
                .alwaysUseFieldBuilders) {
          getStickerFieldBuilder();
          getDestTlFieldBuilder();
          getDestTrFieldBuilder();
          getDestBlFieldBuilder();
          getAdjustBlackFieldBuilder();
          getAdjustOffsetFieldBuilder();
          getAdjustGammaFieldBuilder();
          getOperationNodeFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        if (stickerBuilder_ == null) {
          sticker_ = java.util.Collections.emptyList();
        } else {
          sticker_ = null;
          stickerBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        destTl_ = null;
        if (destTlBuilder_ != null) {
          destTlBuilder_.dispose();
          destTlBuilder_ = null;
        }
        destTr_ = null;
        if (destTrBuilder_ != null) {
          destTrBuilder_.dispose();
          destTrBuilder_ = null;
        }
        destBl_ = null;
        if (destBlBuilder_ != null) {
          destBlBuilder_.dispose();
          destBlBuilder_ = null;
        }
        adjustBlack_ = null;
        if (adjustBlackBuilder_ != null) {
          adjustBlackBuilder_.dispose();
          adjustBlackBuilder_ = null;
        }
        adjustOffset_ = null;
        if (adjustOffsetBuilder_ != null) {
          adjustOffsetBuilder_.dispose();
          adjustOffsetBuilder_ = null;
        }
        adjustGamma_ = null;
        if (adjustGammaBuilder_ != null) {
          adjustGammaBuilder_.dispose();
          adjustGammaBuilder_ = null;
        }
        if (operationNodeBuilder_ == null) {
          operationNode_ = java.util.Collections.emptyList();
        } else {
          operationNode_ = null;
          operationNodeBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000080);
        return this;
      }

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

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

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

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

      private void buildPartialRepeatedFields(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage result) {
        if (stickerBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            sticker_ = java.util.Collections.unmodifiableList(sticker_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.sticker_ = sticker_;
        } else {
          result.sticker_ = stickerBuilder_.build();
        }
        if (operationNodeBuilder_ == null) {
          if (((bitField0_ & 0x00000080) != 0)) {
            operationNode_ = java.util.Collections.unmodifiableList(operationNode_);
            bitField0_ = (bitField0_ & ~0x00000080);
          }
          result.operationNode_ = operationNode_;
        } else {
          result.operationNode_ = operationNodeBuilder_.build();
        }
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.destTl_ = destTlBuilder_ == null
              ? destTl_
              : destTlBuilder_.build();
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.destTr_ = destTrBuilder_ == null
              ? destTr_
              : destTrBuilder_.build();
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.destBl_ = destBlBuilder_ == null
              ? destBl_
              : destBlBuilder_.build();
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000010) != 0)) {
          result.adjustBlack_ = adjustBlackBuilder_ == null
              ? adjustBlack_
              : adjustBlackBuilder_.build();
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          result.adjustOffset_ = adjustOffsetBuilder_ == null
              ? adjustOffset_
              : adjustOffsetBuilder_.build();
          to_bitField0_ |= 0x00000010;
        }
        if (((from_bitField0_ & 0x00000040) != 0)) {
          result.adjustGamma_ = adjustGammaBuilder_ == null
              ? adjustGamma_
              : adjustGammaBuilder_.build();
          to_bitField0_ |= 0x00000020;
        }
        result.bitField0_ |= to_bitField0_;
      }

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

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage.getDefaultInstance()) return this;
        if (stickerBuilder_ == null) {
          if (!other.sticker_.isEmpty()) {
            if (sticker_.isEmpty()) {
              sticker_ = other.sticker_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureStickerIsMutable();
              sticker_.addAll(other.sticker_);
            }
            onChanged();
          }
        } else {
          if (!other.sticker_.isEmpty()) {
            if (stickerBuilder_.isEmpty()) {
              stickerBuilder_.dispose();
              stickerBuilder_ = null;
              sticker_ = other.sticker_;
              bitField0_ = (bitField0_ & ~0x00000001);
              stickerBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getStickerFieldBuilder() : null;
            } else {
              stickerBuilder_.addAllMessages(other.sticker_);
            }
          }
        }
        if (other.hasDestTl()) {
          mergeDestTl(other.getDestTl());
        }
        if (other.hasDestTr()) {
          mergeDestTr(other.getDestTr());
        }
        if (other.hasDestBl()) {
          mergeDestBl(other.getDestBl());
        }
        if (other.hasAdjustBlack()) {
          mergeAdjustBlack(other.getAdjustBlack());
        }
        if (other.hasAdjustOffset()) {
          mergeAdjustOffset(other.getAdjustOffset());
        }
        if (other.hasAdjustGamma()) {
          mergeAdjustGamma(other.getAdjustGamma());
        }
        if (operationNodeBuilder_ == null) {
          if (!other.operationNode_.isEmpty()) {
            if (operationNode_.isEmpty()) {
              operationNode_ = other.operationNode_;
              bitField0_ = (bitField0_ & ~0x00000080);
            } else {
              ensureOperationNodeIsMutable();
              operationNode_.addAll(other.operationNode_);
            }
            onChanged();
          }
        } else {
          if (!other.operationNode_.isEmpty()) {
            if (operationNodeBuilder_.isEmpty()) {
              operationNodeBuilder_.dispose();
              operationNodeBuilder_ = null;
              operationNode_ = other.operationNode_;
              bitField0_ = (bitField0_ & ~0x00000080);
              operationNodeBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getOperationNodeFieldBuilder() : null;
            } else {
              operationNodeBuilder_.addAllMessages(other.operationNode_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        for (int i = 0; i < getOperationNodeCount(); i++) {
          if (!getOperationNode(i).isInitialized()) {
            return false;
          }
        }
        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.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker.parser(),
                        extensionRegistry);
                if (stickerBuilder_ == null) {
                  ensureStickerIsMutable();
                  sticker_.add(m);
                } else {
                  stickerBuilder_.addMessage(m);
                }
                break;
              } // case 10
              case 18: {
                input.readMessage(
                    getDestTlFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              case 26: {
                input.readMessage(
                    getDestTrFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000004;
                break;
              } // case 26
              case 34: {
                input.readMessage(
                    getDestBlFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000008;
                break;
              } // case 34
              case 42: {
                input.readMessage(
                    getAdjustBlackFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000010;
                break;
              } // case 42
              case 50: {
                input.readMessage(
                    getAdjustOffsetFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000020;
                break;
              } // case 50
              case 58: {
                input.readMessage(
                    getAdjustGammaFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000040;
                break;
              } // case 58
              case 74: {
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.parser(),
                        extensionRegistry);
                if (operationNodeBuilder_ == null) {
                  ensureOperationNodeIsMutable();
                  operationNode_.add(m);
                } else {
                  operationNodeBuilder_.addMessage(m);
                }
                break;
              } // case 74
              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 sticker_ =
        java.util.Collections.emptyList();
      private void ensureStickerIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          sticker_ = new java.util.ArrayList(sticker_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerOrBuilder> stickerBuilder_;

      /**
       * repeated .CMsgPaintKit_Operation_Sticker sticker = 1;
       */
      public java.util.List getStickerList() {
        if (stickerBuilder_ == null) {
          return java.util.Collections.unmodifiableList(sticker_);
        } else {
          return stickerBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CMsgPaintKit_Operation_Sticker sticker = 1;
       */
      public int getStickerCount() {
        if (stickerBuilder_ == null) {
          return sticker_.size();
        } else {
          return stickerBuilder_.getCount();
        }
      }
      /**
       * repeated .CMsgPaintKit_Operation_Sticker sticker = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker getSticker(int index) {
        if (stickerBuilder_ == null) {
          return sticker_.get(index);
        } else {
          return stickerBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CMsgPaintKit_Operation_Sticker sticker = 1;
       */
      public Builder setSticker(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker value) {
        if (stickerBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureStickerIsMutable();
          sticker_.set(index, value);
          onChanged();
        } else {
          stickerBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_Operation_Sticker sticker = 1;
       */
      public Builder setSticker(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker.Builder builderForValue) {
        if (stickerBuilder_ == null) {
          ensureStickerIsMutable();
          sticker_.set(index, builderForValue.build());
          onChanged();
        } else {
          stickerBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_Operation_Sticker sticker = 1;
       */
      public Builder addSticker(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker value) {
        if (stickerBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureStickerIsMutable();
          sticker_.add(value);
          onChanged();
        } else {
          stickerBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_Operation_Sticker sticker = 1;
       */
      public Builder addSticker(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker value) {
        if (stickerBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureStickerIsMutable();
          sticker_.add(index, value);
          onChanged();
        } else {
          stickerBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_Operation_Sticker sticker = 1;
       */
      public Builder addSticker(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker.Builder builderForValue) {
        if (stickerBuilder_ == null) {
          ensureStickerIsMutable();
          sticker_.add(builderForValue.build());
          onChanged();
        } else {
          stickerBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_Operation_Sticker sticker = 1;
       */
      public Builder addSticker(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker.Builder builderForValue) {
        if (stickerBuilder_ == null) {
          ensureStickerIsMutable();
          sticker_.add(index, builderForValue.build());
          onChanged();
        } else {
          stickerBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_Operation_Sticker sticker = 1;
       */
      public Builder addAllSticker(
          java.lang.Iterable values) {
        if (stickerBuilder_ == null) {
          ensureStickerIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, sticker_);
          onChanged();
        } else {
          stickerBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_Operation_Sticker sticker = 1;
       */
      public Builder clearSticker() {
        if (stickerBuilder_ == null) {
          sticker_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          stickerBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_Operation_Sticker sticker = 1;
       */
      public Builder removeSticker(int index) {
        if (stickerBuilder_ == null) {
          ensureStickerIsMutable();
          sticker_.remove(index);
          onChanged();
        } else {
          stickerBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_Operation_Sticker sticker = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker.Builder getStickerBuilder(
          int index) {
        return getStickerFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CMsgPaintKit_Operation_Sticker sticker = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerOrBuilder getStickerOrBuilder(
          int index) {
        if (stickerBuilder_ == null) {
          return sticker_.get(index);  } else {
          return stickerBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CMsgPaintKit_Operation_Sticker sticker = 1;
       */
      public java.util.List 
           getStickerOrBuilderList() {
        if (stickerBuilder_ != null) {
          return stickerBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(sticker_);
        }
      }
      /**
       * repeated .CMsgPaintKit_Operation_Sticker sticker = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker.Builder addStickerBuilder() {
        return getStickerFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker.getDefaultInstance());
      }
      /**
       * repeated .CMsgPaintKit_Operation_Sticker sticker = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker.Builder addStickerBuilder(
          int index) {
        return getStickerFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker.getDefaultInstance());
      }
      /**
       * repeated .CMsgPaintKit_Operation_Sticker sticker = 1;
       */
      public java.util.List 
           getStickerBuilderList() {
        return getStickerFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerOrBuilder> 
          getStickerFieldBuilder() {
        if (stickerBuilder_ == null) {
          stickerBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_Sticker.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerOrBuilder>(
                  sticker_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          sticker_ = null;
        }
        return stickerBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField destTl_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> destTlBuilder_;
      /**
       * optional .CMsgVarField dest_tl = 2 [(.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the destTl field is set.
       */
      public boolean hasDestTl() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional .CMsgVarField dest_tl = 2 [(.var_field_type) = VAR_TYPE_STRING];
       * @return The destTl.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getDestTl() {
        if (destTlBuilder_ == null) {
          return destTl_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : destTl_;
        } else {
          return destTlBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField dest_tl = 2 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setDestTl(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (destTlBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          destTl_ = value;
        } else {
          destTlBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField dest_tl = 2 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setDestTl(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (destTlBuilder_ == null) {
          destTl_ = builderForValue.build();
        } else {
          destTlBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField dest_tl = 2 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeDestTl(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (destTlBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0) &&
            destTl_ != null &&
            destTl_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getDestTlBuilder().mergeFrom(value);
          } else {
            destTl_ = value;
          }
        } else {
          destTlBuilder_.mergeFrom(value);
        }
        if (destTl_ != null) {
          bitField0_ |= 0x00000002;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField dest_tl = 2 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearDestTl() {
        bitField0_ = (bitField0_ & ~0x00000002);
        destTl_ = null;
        if (destTlBuilder_ != null) {
          destTlBuilder_.dispose();
          destTlBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField dest_tl = 2 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getDestTlBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getDestTlFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField dest_tl = 2 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getDestTlOrBuilder() {
        if (destTlBuilder_ != null) {
          return destTlBuilder_.getMessageOrBuilder();
        } else {
          return destTl_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : destTl_;
        }
      }
      /**
       * optional .CMsgVarField dest_tl = 2 [(.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getDestTlFieldBuilder() {
        if (destTlBuilder_ == null) {
          destTlBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getDestTl(),
                  getParentForChildren(),
                  isClean());
          destTl_ = null;
        }
        return destTlBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField destTr_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> destTrBuilder_;
      /**
       * optional .CMsgVarField dest_tr = 3 [(.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the destTr field is set.
       */
      public boolean hasDestTr() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional .CMsgVarField dest_tr = 3 [(.var_field_type) = VAR_TYPE_STRING];
       * @return The destTr.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getDestTr() {
        if (destTrBuilder_ == null) {
          return destTr_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : destTr_;
        } else {
          return destTrBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField dest_tr = 3 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setDestTr(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (destTrBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          destTr_ = value;
        } else {
          destTrBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField dest_tr = 3 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setDestTr(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (destTrBuilder_ == null) {
          destTr_ = builderForValue.build();
        } else {
          destTrBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField dest_tr = 3 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeDestTr(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (destTrBuilder_ == null) {
          if (((bitField0_ & 0x00000004) != 0) &&
            destTr_ != null &&
            destTr_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getDestTrBuilder().mergeFrom(value);
          } else {
            destTr_ = value;
          }
        } else {
          destTrBuilder_.mergeFrom(value);
        }
        if (destTr_ != null) {
          bitField0_ |= 0x00000004;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField dest_tr = 3 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearDestTr() {
        bitField0_ = (bitField0_ & ~0x00000004);
        destTr_ = null;
        if (destTrBuilder_ != null) {
          destTrBuilder_.dispose();
          destTrBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField dest_tr = 3 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getDestTrBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getDestTrFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField dest_tr = 3 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getDestTrOrBuilder() {
        if (destTrBuilder_ != null) {
          return destTrBuilder_.getMessageOrBuilder();
        } else {
          return destTr_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : destTr_;
        }
      }
      /**
       * optional .CMsgVarField dest_tr = 3 [(.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getDestTrFieldBuilder() {
        if (destTrBuilder_ == null) {
          destTrBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getDestTr(),
                  getParentForChildren(),
                  isClean());
          destTr_ = null;
        }
        return destTrBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField destBl_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> destBlBuilder_;
      /**
       * optional .CMsgVarField dest_bl = 4 [(.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the destBl field is set.
       */
      public boolean hasDestBl() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional .CMsgVarField dest_bl = 4 [(.var_field_type) = VAR_TYPE_STRING];
       * @return The destBl.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getDestBl() {
        if (destBlBuilder_ == null) {
          return destBl_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : destBl_;
        } else {
          return destBlBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField dest_bl = 4 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setDestBl(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (destBlBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          destBl_ = value;
        } else {
          destBlBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField dest_bl = 4 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setDestBl(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (destBlBuilder_ == null) {
          destBl_ = builderForValue.build();
        } else {
          destBlBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField dest_bl = 4 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeDestBl(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (destBlBuilder_ == null) {
          if (((bitField0_ & 0x00000008) != 0) &&
            destBl_ != null &&
            destBl_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getDestBlBuilder().mergeFrom(value);
          } else {
            destBl_ = value;
          }
        } else {
          destBlBuilder_.mergeFrom(value);
        }
        if (destBl_ != null) {
          bitField0_ |= 0x00000008;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField dest_bl = 4 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearDestBl() {
        bitField0_ = (bitField0_ & ~0x00000008);
        destBl_ = null;
        if (destBlBuilder_ != null) {
          destBlBuilder_.dispose();
          destBlBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField dest_bl = 4 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getDestBlBuilder() {
        bitField0_ |= 0x00000008;
        onChanged();
        return getDestBlFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField dest_bl = 4 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getDestBlOrBuilder() {
        if (destBlBuilder_ != null) {
          return destBlBuilder_.getMessageOrBuilder();
        } else {
          return destBl_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : destBl_;
        }
      }
      /**
       * optional .CMsgVarField dest_bl = 4 [(.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getDestBlFieldBuilder() {
        if (destBlBuilder_ == null) {
          destBlBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getDestBl(),
                  getParentForChildren(),
                  isClean());
          destBl_ = null;
        }
        return destBlBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField adjustBlack_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> adjustBlackBuilder_;
      /**
       * optional .CMsgVarField adjust_black = 5 [(.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the adjustBlack field is set.
       */
      public boolean hasAdjustBlack() {
        return ((bitField0_ & 0x00000010) != 0);
      }
      /**
       * optional .CMsgVarField adjust_black = 5 [(.var_field_type) = VAR_TYPE_STRING];
       * @return The adjustBlack.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getAdjustBlack() {
        if (adjustBlackBuilder_ == null) {
          return adjustBlack_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustBlack_;
        } else {
          return adjustBlackBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField adjust_black = 5 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setAdjustBlack(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (adjustBlackBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          adjustBlack_ = value;
        } else {
          adjustBlackBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField adjust_black = 5 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setAdjustBlack(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (adjustBlackBuilder_ == null) {
          adjustBlack_ = builderForValue.build();
        } else {
          adjustBlackBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField adjust_black = 5 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeAdjustBlack(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (adjustBlackBuilder_ == null) {
          if (((bitField0_ & 0x00000010) != 0) &&
            adjustBlack_ != null &&
            adjustBlack_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getAdjustBlackBuilder().mergeFrom(value);
          } else {
            adjustBlack_ = value;
          }
        } else {
          adjustBlackBuilder_.mergeFrom(value);
        }
        if (adjustBlack_ != null) {
          bitField0_ |= 0x00000010;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField adjust_black = 5 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearAdjustBlack() {
        bitField0_ = (bitField0_ & ~0x00000010);
        adjustBlack_ = null;
        if (adjustBlackBuilder_ != null) {
          adjustBlackBuilder_.dispose();
          adjustBlackBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField adjust_black = 5 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getAdjustBlackBuilder() {
        bitField0_ |= 0x00000010;
        onChanged();
        return getAdjustBlackFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField adjust_black = 5 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getAdjustBlackOrBuilder() {
        if (adjustBlackBuilder_ != null) {
          return adjustBlackBuilder_.getMessageOrBuilder();
        } else {
          return adjustBlack_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustBlack_;
        }
      }
      /**
       * optional .CMsgVarField adjust_black = 5 [(.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getAdjustBlackFieldBuilder() {
        if (adjustBlackBuilder_ == null) {
          adjustBlackBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getAdjustBlack(),
                  getParentForChildren(),
                  isClean());
          adjustBlack_ = null;
        }
        return adjustBlackBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField adjustOffset_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> adjustOffsetBuilder_;
      /**
       * optional .CMsgVarField adjust_offset = 6 [(.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the adjustOffset field is set.
       */
      public boolean hasAdjustOffset() {
        return ((bitField0_ & 0x00000020) != 0);
      }
      /**
       * optional .CMsgVarField adjust_offset = 6 [(.var_field_type) = VAR_TYPE_STRING];
       * @return The adjustOffset.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getAdjustOffset() {
        if (adjustOffsetBuilder_ == null) {
          return adjustOffset_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustOffset_;
        } else {
          return adjustOffsetBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField adjust_offset = 6 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setAdjustOffset(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (adjustOffsetBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          adjustOffset_ = value;
        } else {
          adjustOffsetBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField adjust_offset = 6 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setAdjustOffset(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (adjustOffsetBuilder_ == null) {
          adjustOffset_ = builderForValue.build();
        } else {
          adjustOffsetBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField adjust_offset = 6 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeAdjustOffset(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (adjustOffsetBuilder_ == null) {
          if (((bitField0_ & 0x00000020) != 0) &&
            adjustOffset_ != null &&
            adjustOffset_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getAdjustOffsetBuilder().mergeFrom(value);
          } else {
            adjustOffset_ = value;
          }
        } else {
          adjustOffsetBuilder_.mergeFrom(value);
        }
        if (adjustOffset_ != null) {
          bitField0_ |= 0x00000020;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField adjust_offset = 6 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearAdjustOffset() {
        bitField0_ = (bitField0_ & ~0x00000020);
        adjustOffset_ = null;
        if (adjustOffsetBuilder_ != null) {
          adjustOffsetBuilder_.dispose();
          adjustOffsetBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField adjust_offset = 6 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getAdjustOffsetBuilder() {
        bitField0_ |= 0x00000020;
        onChanged();
        return getAdjustOffsetFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField adjust_offset = 6 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getAdjustOffsetOrBuilder() {
        if (adjustOffsetBuilder_ != null) {
          return adjustOffsetBuilder_.getMessageOrBuilder();
        } else {
          return adjustOffset_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustOffset_;
        }
      }
      /**
       * optional .CMsgVarField adjust_offset = 6 [(.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getAdjustOffsetFieldBuilder() {
        if (adjustOffsetBuilder_ == null) {
          adjustOffsetBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getAdjustOffset(),
                  getParentForChildren(),
                  isClean());
          adjustOffset_ = null;
        }
        return adjustOffsetBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField adjustGamma_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> adjustGammaBuilder_;
      /**
       * optional .CMsgVarField adjust_gamma = 7 [(.var_field_type) = VAR_TYPE_STRING];
       * @return Whether the adjustGamma field is set.
       */
      public boolean hasAdjustGamma() {
        return ((bitField0_ & 0x00000040) != 0);
      }
      /**
       * optional .CMsgVarField adjust_gamma = 7 [(.var_field_type) = VAR_TYPE_STRING];
       * @return The adjustGamma.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getAdjustGamma() {
        if (adjustGammaBuilder_ == null) {
          return adjustGamma_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustGamma_;
        } else {
          return adjustGammaBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVarField adjust_gamma = 7 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setAdjustGamma(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (adjustGammaBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          adjustGamma_ = value;
        } else {
          adjustGammaBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField adjust_gamma = 7 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder setAdjustGamma(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
        if (adjustGammaBuilder_ == null) {
          adjustGamma_ = builderForValue.build();
        } else {
          adjustGammaBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField adjust_gamma = 7 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder mergeAdjustGamma(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
        if (adjustGammaBuilder_ == null) {
          if (((bitField0_ & 0x00000040) != 0) &&
            adjustGamma_ != null &&
            adjustGamma_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance()) {
            getAdjustGammaBuilder().mergeFrom(value);
          } else {
            adjustGamma_ = value;
          }
        } else {
          adjustGammaBuilder_.mergeFrom(value);
        }
        if (adjustGamma_ != null) {
          bitField0_ |= 0x00000040;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgVarField adjust_gamma = 7 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public Builder clearAdjustGamma() {
        bitField0_ = (bitField0_ & ~0x00000040);
        adjustGamma_ = null;
        if (adjustGammaBuilder_ != null) {
          adjustGammaBuilder_.dispose();
          adjustGammaBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgVarField adjust_gamma = 7 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getAdjustGammaBuilder() {
        bitField0_ |= 0x00000040;
        onChanged();
        return getAdjustGammaFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVarField adjust_gamma = 7 [(.var_field_type) = VAR_TYPE_STRING];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getAdjustGammaOrBuilder() {
        if (adjustGammaBuilder_ != null) {
          return adjustGammaBuilder_.getMessageOrBuilder();
        } else {
          return adjustGamma_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance() : adjustGamma_;
        }
      }
      /**
       * optional .CMsgVarField adjust_gamma = 7 [(.var_field_type) = VAR_TYPE_STRING];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
          getAdjustGammaFieldBuilder() {
        if (adjustGammaBuilder_ == null) {
          adjustGammaBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                  getAdjustGamma(),
                  getParentForChildren(),
                  isClean());
          adjustGamma_ = null;
        }
        return adjustGammaBuilder_;
      }

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

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNodeOrBuilder> operationNodeBuilder_;

      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 9;
       */
      public java.util.List getOperationNodeList() {
        if (operationNodeBuilder_ == null) {
          return java.util.Collections.unmodifiableList(operationNode_);
        } else {
          return operationNodeBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 9;
       */
      public int getOperationNodeCount() {
        if (operationNodeBuilder_ == null) {
          return operationNode_.size();
        } else {
          return operationNodeBuilder_.getCount();
        }
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 9;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode getOperationNode(int index) {
        if (operationNodeBuilder_ == null) {
          return operationNode_.get(index);
        } else {
          return operationNodeBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 9;
       */
      public Builder setOperationNode(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode value) {
        if (operationNodeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureOperationNodeIsMutable();
          operationNode_.set(index, value);
          onChanged();
        } else {
          operationNodeBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 9;
       */
      public Builder setOperationNode(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.Builder builderForValue) {
        if (operationNodeBuilder_ == null) {
          ensureOperationNodeIsMutable();
          operationNode_.set(index, builderForValue.build());
          onChanged();
        } else {
          operationNodeBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 9;
       */
      public Builder addOperationNode(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode value) {
        if (operationNodeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureOperationNodeIsMutable();
          operationNode_.add(value);
          onChanged();
        } else {
          operationNodeBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 9;
       */
      public Builder addOperationNode(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode value) {
        if (operationNodeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureOperationNodeIsMutable();
          operationNode_.add(index, value);
          onChanged();
        } else {
          operationNodeBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 9;
       */
      public Builder addOperationNode(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.Builder builderForValue) {
        if (operationNodeBuilder_ == null) {
          ensureOperationNodeIsMutable();
          operationNode_.add(builderForValue.build());
          onChanged();
        } else {
          operationNodeBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 9;
       */
      public Builder addOperationNode(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.Builder builderForValue) {
        if (operationNodeBuilder_ == null) {
          ensureOperationNodeIsMutable();
          operationNode_.add(index, builderForValue.build());
          onChanged();
        } else {
          operationNodeBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 9;
       */
      public Builder addAllOperationNode(
          java.lang.Iterable values) {
        if (operationNodeBuilder_ == null) {
          ensureOperationNodeIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, operationNode_);
          onChanged();
        } else {
          operationNodeBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 9;
       */
      public Builder clearOperationNode() {
        if (operationNodeBuilder_ == null) {
          operationNode_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000080);
          onChanged();
        } else {
          operationNodeBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 9;
       */
      public Builder removeOperationNode(int index) {
        if (operationNodeBuilder_ == null) {
          ensureOperationNodeIsMutable();
          operationNode_.remove(index);
          onChanged();
        } else {
          operationNodeBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 9;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.Builder getOperationNodeBuilder(
          int index) {
        return getOperationNodeFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 9;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNodeOrBuilder getOperationNodeOrBuilder(
          int index) {
        if (operationNodeBuilder_ == null) {
          return operationNode_.get(index);  } else {
          return operationNodeBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 9;
       */
      public java.util.List 
           getOperationNodeOrBuilderList() {
        if (operationNodeBuilder_ != null) {
          return operationNodeBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(operationNode_);
        }
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 9;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.Builder addOperationNodeBuilder() {
        return getOperationNodeFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.getDefaultInstance());
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 9;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.Builder addOperationNodeBuilder(
          int index) {
        return getOperationNodeFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.getDefaultInstance());
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 9;
       */
      public java.util.List 
           getOperationNodeBuilderList() {
        return getOperationNodeFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNodeOrBuilder> 
          getOperationNodeFieldBuilder() {
        if (operationNodeBuilder_ == null) {
          operationNodeBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNodeOrBuilder>(
                  operationNode_,
                  ((bitField0_ & 0x00000080) != 0),
                  getParentForChildren(),
                  isClean());
          operationNode_ = null;
        }
        return operationNodeBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgPaintKit_Operation_StickerStage)
    }

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

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

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

  }

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

    /**
     * .CMsgPaintKit_Operation_TextureStage texture_lookup = 1;
     * @return Whether the textureLookup field is set.
     */
    boolean hasTextureLookup();
    /**
     * .CMsgPaintKit_Operation_TextureStage texture_lookup = 1;
     * @return The textureLookup.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage getTextureLookup();
    /**
     * .CMsgPaintKit_Operation_TextureStage texture_lookup = 1;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStageOrBuilder getTextureLookupOrBuilder();

    /**
     * .CMsgPaintKit_Operation_CombineStage combine_add = 2;
     * @return Whether the combineAdd field is set.
     */
    boolean hasCombineAdd();
    /**
     * .CMsgPaintKit_Operation_CombineStage combine_add = 2;
     * @return The combineAdd.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage getCombineAdd();
    /**
     * .CMsgPaintKit_Operation_CombineStage combine_add = 2;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStageOrBuilder getCombineAddOrBuilder();

    /**
     * .CMsgPaintKit_Operation_CombineStage combine_lerp = 3;
     * @return Whether the combineLerp field is set.
     */
    boolean hasCombineLerp();
    /**
     * .CMsgPaintKit_Operation_CombineStage combine_lerp = 3;
     * @return The combineLerp.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage getCombineLerp();
    /**
     * .CMsgPaintKit_Operation_CombineStage combine_lerp = 3;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStageOrBuilder getCombineLerpOrBuilder();

    /**
     * .CMsgPaintKit_Operation_CombineStage combine_multiply = 4;
     * @return Whether the combineMultiply field is set.
     */
    boolean hasCombineMultiply();
    /**
     * .CMsgPaintKit_Operation_CombineStage combine_multiply = 4;
     * @return The combineMultiply.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage getCombineMultiply();
    /**
     * .CMsgPaintKit_Operation_CombineStage combine_multiply = 4;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStageOrBuilder getCombineMultiplyOrBuilder();

    /**
     * .CMsgPaintKit_Operation_SelectStage select = 5;
     * @return Whether the select field is set.
     */
    boolean hasSelect();
    /**
     * .CMsgPaintKit_Operation_SelectStage select = 5;
     * @return The select.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage getSelect();
    /**
     * .CMsgPaintKit_Operation_SelectStage select = 5;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStageOrBuilder getSelectOrBuilder();

    /**
     * .CMsgPaintKit_Operation_StickerStage apply_sticker = 6;
     * @return Whether the applySticker field is set.
     */
    boolean hasApplySticker();
    /**
     * .CMsgPaintKit_Operation_StickerStage apply_sticker = 6;
     * @return The applySticker.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage getApplySticker();
    /**
     * .CMsgPaintKit_Operation_StickerStage apply_sticker = 6;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStageOrBuilder getApplyStickerOrBuilder();

    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage.StageCase getStageCase();
  }
  /**
   * Protobuf type {@code CMsgPaintKit_OperationStage}
   */
  public static final class CMsgPaintKit_OperationStage extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgPaintKit_OperationStage)
      CMsgPaintKit_OperationStageOrBuilder {
  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= */ "",
        CMsgPaintKit_OperationStage.class.getName());
    }
    // Use CMsgPaintKit_OperationStage.newBuilder() to construct.
    private CMsgPaintKit_OperationStage(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgPaintKit_OperationStage() {
    }

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

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

    private int stageCase_ = 0;
    @SuppressWarnings("serial")
    private java.lang.Object stage_;
    public enum StageCase
        implements com.google.protobuf.Internal.EnumLite,
            com.google.protobuf.AbstractMessage.InternalOneOfEnum {
      TEXTURE_LOOKUP(1),
      COMBINE_ADD(2),
      COMBINE_LERP(3),
      COMBINE_MULTIPLY(4),
      SELECT(5),
      APPLY_STICKER(6),
      STAGE_NOT_SET(0);
      private final int value;
      private StageCase(int value) {
        this.value = value;
      }
      /**
       * @param value The number of the enum to look for.
       * @return The enum associated with the given number.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static StageCase valueOf(int value) {
        return forNumber(value);
      }

      public static StageCase forNumber(int value) {
        switch (value) {
          case 1: return TEXTURE_LOOKUP;
          case 2: return COMBINE_ADD;
          case 3: return COMBINE_LERP;
          case 4: return COMBINE_MULTIPLY;
          case 5: return SELECT;
          case 6: return APPLY_STICKER;
          case 0: return STAGE_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    public StageCase
    getStageCase() {
      return StageCase.forNumber(
          stageCase_);
    }

    public static final int TEXTURE_LOOKUP_FIELD_NUMBER = 1;
    /**
     * .CMsgPaintKit_Operation_TextureStage texture_lookup = 1;
     * @return Whether the textureLookup field is set.
     */
    @java.lang.Override
    public boolean hasTextureLookup() {
      return stageCase_ == 1;
    }
    /**
     * .CMsgPaintKit_Operation_TextureStage texture_lookup = 1;
     * @return The textureLookup.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage getTextureLookup() {
      if (stageCase_ == 1) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage) stage_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage.getDefaultInstance();
    }
    /**
     * .CMsgPaintKit_Operation_TextureStage texture_lookup = 1;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStageOrBuilder getTextureLookupOrBuilder() {
      if (stageCase_ == 1) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage) stage_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage.getDefaultInstance();
    }

    public static final int COMBINE_ADD_FIELD_NUMBER = 2;
    /**
     * .CMsgPaintKit_Operation_CombineStage combine_add = 2;
     * @return Whether the combineAdd field is set.
     */
    @java.lang.Override
    public boolean hasCombineAdd() {
      return stageCase_ == 2;
    }
    /**
     * .CMsgPaintKit_Operation_CombineStage combine_add = 2;
     * @return The combineAdd.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage getCombineAdd() {
      if (stageCase_ == 2) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage) stage_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.getDefaultInstance();
    }
    /**
     * .CMsgPaintKit_Operation_CombineStage combine_add = 2;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStageOrBuilder getCombineAddOrBuilder() {
      if (stageCase_ == 2) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage) stage_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.getDefaultInstance();
    }

    public static final int COMBINE_LERP_FIELD_NUMBER = 3;
    /**
     * .CMsgPaintKit_Operation_CombineStage combine_lerp = 3;
     * @return Whether the combineLerp field is set.
     */
    @java.lang.Override
    public boolean hasCombineLerp() {
      return stageCase_ == 3;
    }
    /**
     * .CMsgPaintKit_Operation_CombineStage combine_lerp = 3;
     * @return The combineLerp.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage getCombineLerp() {
      if (stageCase_ == 3) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage) stage_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.getDefaultInstance();
    }
    /**
     * .CMsgPaintKit_Operation_CombineStage combine_lerp = 3;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStageOrBuilder getCombineLerpOrBuilder() {
      if (stageCase_ == 3) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage) stage_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.getDefaultInstance();
    }

    public static final int COMBINE_MULTIPLY_FIELD_NUMBER = 4;
    /**
     * .CMsgPaintKit_Operation_CombineStage combine_multiply = 4;
     * @return Whether the combineMultiply field is set.
     */
    @java.lang.Override
    public boolean hasCombineMultiply() {
      return stageCase_ == 4;
    }
    /**
     * .CMsgPaintKit_Operation_CombineStage combine_multiply = 4;
     * @return The combineMultiply.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage getCombineMultiply() {
      if (stageCase_ == 4) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage) stage_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.getDefaultInstance();
    }
    /**
     * .CMsgPaintKit_Operation_CombineStage combine_multiply = 4;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStageOrBuilder getCombineMultiplyOrBuilder() {
      if (stageCase_ == 4) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage) stage_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.getDefaultInstance();
    }

    public static final int SELECT_FIELD_NUMBER = 5;
    /**
     * .CMsgPaintKit_Operation_SelectStage select = 5;
     * @return Whether the select field is set.
     */
    @java.lang.Override
    public boolean hasSelect() {
      return stageCase_ == 5;
    }
    /**
     * .CMsgPaintKit_Operation_SelectStage select = 5;
     * @return The select.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage getSelect() {
      if (stageCase_ == 5) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage) stage_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage.getDefaultInstance();
    }
    /**
     * .CMsgPaintKit_Operation_SelectStage select = 5;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStageOrBuilder getSelectOrBuilder() {
      if (stageCase_ == 5) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage) stage_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage.getDefaultInstance();
    }

    public static final int APPLY_STICKER_FIELD_NUMBER = 6;
    /**
     * .CMsgPaintKit_Operation_StickerStage apply_sticker = 6;
     * @return Whether the applySticker field is set.
     */
    @java.lang.Override
    public boolean hasApplySticker() {
      return stageCase_ == 6;
    }
    /**
     * .CMsgPaintKit_Operation_StickerStage apply_sticker = 6;
     * @return The applySticker.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage getApplySticker() {
      if (stageCase_ == 6) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage) stage_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage.getDefaultInstance();
    }
    /**
     * .CMsgPaintKit_Operation_StickerStage apply_sticker = 6;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStageOrBuilder getApplyStickerOrBuilder() {
      if (stageCase_ == 6) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage) stage_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage.getDefaultInstance();
    }

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

      if (hasCombineAdd()) {
        if (!getCombineAdd().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasCombineLerp()) {
        if (!getCombineLerp().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasCombineMultiply()) {
        if (!getCombineMultiply().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasApplySticker()) {
        if (!getApplySticker().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (stageCase_ == 1) {
        output.writeMessage(1, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage) stage_);
      }
      if (stageCase_ == 2) {
        output.writeMessage(2, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage) stage_);
      }
      if (stageCase_ == 3) {
        output.writeMessage(3, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage) stage_);
      }
      if (stageCase_ == 4) {
        output.writeMessage(4, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage) stage_);
      }
      if (stageCase_ == 5) {
        output.writeMessage(5, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage) stage_);
      }
      if (stageCase_ == 6) {
        output.writeMessage(6, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage) stage_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (stageCase_ == 1) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage) stage_);
      }
      if (stageCase_ == 2) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage) stage_);
      }
      if (stageCase_ == 3) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage) stage_);
      }
      if (stageCase_ == 4) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage) stage_);
      }
      if (stageCase_ == 5) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage) stage_);
      }
      if (stageCase_ == 6) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage) stage_);
      }
      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.TfProtoDefMessages.CMsgPaintKit_OperationStage)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage) obj;

      if (!getStageCase().equals(other.getStageCase())) return false;
      switch (stageCase_) {
        case 1:
          if (!getTextureLookup()
              .equals(other.getTextureLookup())) return false;
          break;
        case 2:
          if (!getCombineAdd()
              .equals(other.getCombineAdd())) return false;
          break;
        case 3:
          if (!getCombineLerp()
              .equals(other.getCombineLerp())) return false;
          break;
        case 4:
          if (!getCombineMultiply()
              .equals(other.getCombineMultiply())) return false;
          break;
        case 5:
          if (!getSelect()
              .equals(other.getSelect())) return false;
          break;
        case 6:
          if (!getApplySticker()
              .equals(other.getApplySticker())) return false;
          break;
        case 0:
        default:
      }
      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();
      switch (stageCase_) {
        case 1:
          hash = (37 * hash) + TEXTURE_LOOKUP_FIELD_NUMBER;
          hash = (53 * hash) + getTextureLookup().hashCode();
          break;
        case 2:
          hash = (37 * hash) + COMBINE_ADD_FIELD_NUMBER;
          hash = (53 * hash) + getCombineAdd().hashCode();
          break;
        case 3:
          hash = (37 * hash) + COMBINE_LERP_FIELD_NUMBER;
          hash = (53 * hash) + getCombineLerp().hashCode();
          break;
        case 4:
          hash = (37 * hash) + COMBINE_MULTIPLY_FIELD_NUMBER;
          hash = (53 * hash) + getCombineMultiply().hashCode();
          break;
        case 5:
          hash = (37 * hash) + SELECT_FIELD_NUMBER;
          hash = (53 * hash) + getSelect().hashCode();
          break;
        case 6:
          hash = (37 * hash) + APPLY_STICKER_FIELD_NUMBER;
          hash = (53 * hash) + getApplySticker().hashCode();
          break;
        case 0:
        default:
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage 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.TfProtoDefMessages.CMsgPaintKit_OperationStage parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage 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.TfProtoDefMessages.CMsgPaintKit_OperationStage parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage 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.TfProtoDefMessages.CMsgPaintKit_OperationStage parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage 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.TfProtoDefMessages.CMsgPaintKit_OperationStage parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage 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.TfProtoDefMessages.CMsgPaintKit_OperationStage 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.TfProtoDefMessages.CMsgPaintKit_OperationStage 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.TfProtoDefMessages.CMsgPaintKit_OperationStage 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 CMsgPaintKit_OperationStage}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgPaintKit_OperationStage)
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStageOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgPaintKit_OperationStage_descriptor;
      }

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

      // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage.newBuilder()
      private Builder() {

      }

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

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        if (textureLookupBuilder_ != null) {
          textureLookupBuilder_.clear();
        }
        if (combineAddBuilder_ != null) {
          combineAddBuilder_.clear();
        }
        if (combineLerpBuilder_ != null) {
          combineLerpBuilder_.clear();
        }
        if (combineMultiplyBuilder_ != null) {
          combineMultiplyBuilder_.clear();
        }
        if (selectBuilder_ != null) {
          selectBuilder_.clear();
        }
        if (applyStickerBuilder_ != null) {
          applyStickerBuilder_.clear();
        }
        stageCase_ = 0;
        stage_ = null;
        return this;
      }

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

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

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

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

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage result) {
        int from_bitField0_ = bitField0_;
      }

      private void buildPartialOneofs(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage result) {
        result.stageCase_ = stageCase_;
        result.stage_ = this.stage_;
        if (stageCase_ == 1 &&
            textureLookupBuilder_ != null) {
          result.stage_ = textureLookupBuilder_.build();
        }
        if (stageCase_ == 2 &&
            combineAddBuilder_ != null) {
          result.stage_ = combineAddBuilder_.build();
        }
        if (stageCase_ == 3 &&
            combineLerpBuilder_ != null) {
          result.stage_ = combineLerpBuilder_.build();
        }
        if (stageCase_ == 4 &&
            combineMultiplyBuilder_ != null) {
          result.stage_ = combineMultiplyBuilder_.build();
        }
        if (stageCase_ == 5 &&
            selectBuilder_ != null) {
          result.stage_ = selectBuilder_.build();
        }
        if (stageCase_ == 6 &&
            applyStickerBuilder_ != null) {
          result.stage_ = applyStickerBuilder_.build();
        }
      }

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

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage.getDefaultInstance()) return this;
        switch (other.getStageCase()) {
          case TEXTURE_LOOKUP: {
            mergeTextureLookup(other.getTextureLookup());
            break;
          }
          case COMBINE_ADD: {
            mergeCombineAdd(other.getCombineAdd());
            break;
          }
          case COMBINE_LERP: {
            mergeCombineLerp(other.getCombineLerp());
            break;
          }
          case COMBINE_MULTIPLY: {
            mergeCombineMultiply(other.getCombineMultiply());
            break;
          }
          case SELECT: {
            mergeSelect(other.getSelect());
            break;
          }
          case APPLY_STICKER: {
            mergeApplySticker(other.getApplySticker());
            break;
          }
          case STAGE_NOT_SET: {
            break;
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (hasCombineAdd()) {
          if (!getCombineAdd().isInitialized()) {
            return false;
          }
        }
        if (hasCombineLerp()) {
          if (!getCombineLerp().isInitialized()) {
            return false;
          }
        }
        if (hasCombineMultiply()) {
          if (!getCombineMultiply().isInitialized()) {
            return false;
          }
        }
        if (hasApplySticker()) {
          if (!getApplySticker().isInitialized()) {
            return false;
          }
        }
        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: {
                input.readMessage(
                    getTextureLookupFieldBuilder().getBuilder(),
                    extensionRegistry);
                stageCase_ = 1;
                break;
              } // case 10
              case 18: {
                input.readMessage(
                    getCombineAddFieldBuilder().getBuilder(),
                    extensionRegistry);
                stageCase_ = 2;
                break;
              } // case 18
              case 26: {
                input.readMessage(
                    getCombineLerpFieldBuilder().getBuilder(),
                    extensionRegistry);
                stageCase_ = 3;
                break;
              } // case 26
              case 34: {
                input.readMessage(
                    getCombineMultiplyFieldBuilder().getBuilder(),
                    extensionRegistry);
                stageCase_ = 4;
                break;
              } // case 34
              case 42: {
                input.readMessage(
                    getSelectFieldBuilder().getBuilder(),
                    extensionRegistry);
                stageCase_ = 5;
                break;
              } // case 42
              case 50: {
                input.readMessage(
                    getApplyStickerFieldBuilder().getBuilder(),
                    extensionRegistry);
                stageCase_ = 6;
                break;
              } // case 50
              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 stageCase_ = 0;
      private java.lang.Object stage_;
      public StageCase
          getStageCase() {
        return StageCase.forNumber(
            stageCase_);
      }

      public Builder clearStage() {
        stageCase_ = 0;
        stage_ = null;
        onChanged();
        return this;
      }

      private int bitField0_;

      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStageOrBuilder> textureLookupBuilder_;
      /**
       * .CMsgPaintKit_Operation_TextureStage texture_lookup = 1;
       * @return Whether the textureLookup field is set.
       */
      @java.lang.Override
      public boolean hasTextureLookup() {
        return stageCase_ == 1;
      }
      /**
       * .CMsgPaintKit_Operation_TextureStage texture_lookup = 1;
       * @return The textureLookup.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage getTextureLookup() {
        if (textureLookupBuilder_ == null) {
          if (stageCase_ == 1) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage) stage_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage.getDefaultInstance();
        } else {
          if (stageCase_ == 1) {
            return textureLookupBuilder_.getMessage();
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage.getDefaultInstance();
        }
      }
      /**
       * .CMsgPaintKit_Operation_TextureStage texture_lookup = 1;
       */
      public Builder setTextureLookup(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage value) {
        if (textureLookupBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          stage_ = value;
          onChanged();
        } else {
          textureLookupBuilder_.setMessage(value);
        }
        stageCase_ = 1;
        return this;
      }
      /**
       * .CMsgPaintKit_Operation_TextureStage texture_lookup = 1;
       */
      public Builder setTextureLookup(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage.Builder builderForValue) {
        if (textureLookupBuilder_ == null) {
          stage_ = builderForValue.build();
          onChanged();
        } else {
          textureLookupBuilder_.setMessage(builderForValue.build());
        }
        stageCase_ = 1;
        return this;
      }
      /**
       * .CMsgPaintKit_Operation_TextureStage texture_lookup = 1;
       */
      public Builder mergeTextureLookup(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage value) {
        if (textureLookupBuilder_ == null) {
          if (stageCase_ == 1 &&
              stage_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage.getDefaultInstance()) {
            stage_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage.newBuilder((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage) stage_)
                .mergeFrom(value).buildPartial();
          } else {
            stage_ = value;
          }
          onChanged();
        } else {
          if (stageCase_ == 1) {
            textureLookupBuilder_.mergeFrom(value);
          } else {
            textureLookupBuilder_.setMessage(value);
          }
        }
        stageCase_ = 1;
        return this;
      }
      /**
       * .CMsgPaintKit_Operation_TextureStage texture_lookup = 1;
       */
      public Builder clearTextureLookup() {
        if (textureLookupBuilder_ == null) {
          if (stageCase_ == 1) {
            stageCase_ = 0;
            stage_ = null;
            onChanged();
          }
        } else {
          if (stageCase_ == 1) {
            stageCase_ = 0;
            stage_ = null;
          }
          textureLookupBuilder_.clear();
        }
        return this;
      }
      /**
       * .CMsgPaintKit_Operation_TextureStage texture_lookup = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage.Builder getTextureLookupBuilder() {
        return getTextureLookupFieldBuilder().getBuilder();
      }
      /**
       * .CMsgPaintKit_Operation_TextureStage texture_lookup = 1;
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStageOrBuilder getTextureLookupOrBuilder() {
        if ((stageCase_ == 1) && (textureLookupBuilder_ != null)) {
          return textureLookupBuilder_.getMessageOrBuilder();
        } else {
          if (stageCase_ == 1) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage) stage_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage.getDefaultInstance();
        }
      }
      /**
       * .CMsgPaintKit_Operation_TextureStage texture_lookup = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStageOrBuilder> 
          getTextureLookupFieldBuilder() {
        if (textureLookupBuilder_ == null) {
          if (!(stageCase_ == 1)) {
            stage_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage.getDefaultInstance();
          }
          textureLookupBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStageOrBuilder>(
                  (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_TextureStage) stage_,
                  getParentForChildren(),
                  isClean());
          stage_ = null;
        }
        stageCase_ = 1;
        onChanged();
        return textureLookupBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStageOrBuilder> combineAddBuilder_;
      /**
       * .CMsgPaintKit_Operation_CombineStage combine_add = 2;
       * @return Whether the combineAdd field is set.
       */
      @java.lang.Override
      public boolean hasCombineAdd() {
        return stageCase_ == 2;
      }
      /**
       * .CMsgPaintKit_Operation_CombineStage combine_add = 2;
       * @return The combineAdd.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage getCombineAdd() {
        if (combineAddBuilder_ == null) {
          if (stageCase_ == 2) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage) stage_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.getDefaultInstance();
        } else {
          if (stageCase_ == 2) {
            return combineAddBuilder_.getMessage();
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.getDefaultInstance();
        }
      }
      /**
       * .CMsgPaintKit_Operation_CombineStage combine_add = 2;
       */
      public Builder setCombineAdd(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage value) {
        if (combineAddBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          stage_ = value;
          onChanged();
        } else {
          combineAddBuilder_.setMessage(value);
        }
        stageCase_ = 2;
        return this;
      }
      /**
       * .CMsgPaintKit_Operation_CombineStage combine_add = 2;
       */
      public Builder setCombineAdd(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.Builder builderForValue) {
        if (combineAddBuilder_ == null) {
          stage_ = builderForValue.build();
          onChanged();
        } else {
          combineAddBuilder_.setMessage(builderForValue.build());
        }
        stageCase_ = 2;
        return this;
      }
      /**
       * .CMsgPaintKit_Operation_CombineStage combine_add = 2;
       */
      public Builder mergeCombineAdd(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage value) {
        if (combineAddBuilder_ == null) {
          if (stageCase_ == 2 &&
              stage_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.getDefaultInstance()) {
            stage_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.newBuilder((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage) stage_)
                .mergeFrom(value).buildPartial();
          } else {
            stage_ = value;
          }
          onChanged();
        } else {
          if (stageCase_ == 2) {
            combineAddBuilder_.mergeFrom(value);
          } else {
            combineAddBuilder_.setMessage(value);
          }
        }
        stageCase_ = 2;
        return this;
      }
      /**
       * .CMsgPaintKit_Operation_CombineStage combine_add = 2;
       */
      public Builder clearCombineAdd() {
        if (combineAddBuilder_ == null) {
          if (stageCase_ == 2) {
            stageCase_ = 0;
            stage_ = null;
            onChanged();
          }
        } else {
          if (stageCase_ == 2) {
            stageCase_ = 0;
            stage_ = null;
          }
          combineAddBuilder_.clear();
        }
        return this;
      }
      /**
       * .CMsgPaintKit_Operation_CombineStage combine_add = 2;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.Builder getCombineAddBuilder() {
        return getCombineAddFieldBuilder().getBuilder();
      }
      /**
       * .CMsgPaintKit_Operation_CombineStage combine_add = 2;
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStageOrBuilder getCombineAddOrBuilder() {
        if ((stageCase_ == 2) && (combineAddBuilder_ != null)) {
          return combineAddBuilder_.getMessageOrBuilder();
        } else {
          if (stageCase_ == 2) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage) stage_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.getDefaultInstance();
        }
      }
      /**
       * .CMsgPaintKit_Operation_CombineStage combine_add = 2;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStageOrBuilder> 
          getCombineAddFieldBuilder() {
        if (combineAddBuilder_ == null) {
          if (!(stageCase_ == 2)) {
            stage_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.getDefaultInstance();
          }
          combineAddBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStageOrBuilder>(
                  (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage) stage_,
                  getParentForChildren(),
                  isClean());
          stage_ = null;
        }
        stageCase_ = 2;
        onChanged();
        return combineAddBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStageOrBuilder> combineLerpBuilder_;
      /**
       * .CMsgPaintKit_Operation_CombineStage combine_lerp = 3;
       * @return Whether the combineLerp field is set.
       */
      @java.lang.Override
      public boolean hasCombineLerp() {
        return stageCase_ == 3;
      }
      /**
       * .CMsgPaintKit_Operation_CombineStage combine_lerp = 3;
       * @return The combineLerp.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage getCombineLerp() {
        if (combineLerpBuilder_ == null) {
          if (stageCase_ == 3) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage) stage_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.getDefaultInstance();
        } else {
          if (stageCase_ == 3) {
            return combineLerpBuilder_.getMessage();
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.getDefaultInstance();
        }
      }
      /**
       * .CMsgPaintKit_Operation_CombineStage combine_lerp = 3;
       */
      public Builder setCombineLerp(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage value) {
        if (combineLerpBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          stage_ = value;
          onChanged();
        } else {
          combineLerpBuilder_.setMessage(value);
        }
        stageCase_ = 3;
        return this;
      }
      /**
       * .CMsgPaintKit_Operation_CombineStage combine_lerp = 3;
       */
      public Builder setCombineLerp(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.Builder builderForValue) {
        if (combineLerpBuilder_ == null) {
          stage_ = builderForValue.build();
          onChanged();
        } else {
          combineLerpBuilder_.setMessage(builderForValue.build());
        }
        stageCase_ = 3;
        return this;
      }
      /**
       * .CMsgPaintKit_Operation_CombineStage combine_lerp = 3;
       */
      public Builder mergeCombineLerp(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage value) {
        if (combineLerpBuilder_ == null) {
          if (stageCase_ == 3 &&
              stage_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.getDefaultInstance()) {
            stage_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.newBuilder((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage) stage_)
                .mergeFrom(value).buildPartial();
          } else {
            stage_ = value;
          }
          onChanged();
        } else {
          if (stageCase_ == 3) {
            combineLerpBuilder_.mergeFrom(value);
          } else {
            combineLerpBuilder_.setMessage(value);
          }
        }
        stageCase_ = 3;
        return this;
      }
      /**
       * .CMsgPaintKit_Operation_CombineStage combine_lerp = 3;
       */
      public Builder clearCombineLerp() {
        if (combineLerpBuilder_ == null) {
          if (stageCase_ == 3) {
            stageCase_ = 0;
            stage_ = null;
            onChanged();
          }
        } else {
          if (stageCase_ == 3) {
            stageCase_ = 0;
            stage_ = null;
          }
          combineLerpBuilder_.clear();
        }
        return this;
      }
      /**
       * .CMsgPaintKit_Operation_CombineStage combine_lerp = 3;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.Builder getCombineLerpBuilder() {
        return getCombineLerpFieldBuilder().getBuilder();
      }
      /**
       * .CMsgPaintKit_Operation_CombineStage combine_lerp = 3;
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStageOrBuilder getCombineLerpOrBuilder() {
        if ((stageCase_ == 3) && (combineLerpBuilder_ != null)) {
          return combineLerpBuilder_.getMessageOrBuilder();
        } else {
          if (stageCase_ == 3) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage) stage_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.getDefaultInstance();
        }
      }
      /**
       * .CMsgPaintKit_Operation_CombineStage combine_lerp = 3;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStageOrBuilder> 
          getCombineLerpFieldBuilder() {
        if (combineLerpBuilder_ == null) {
          if (!(stageCase_ == 3)) {
            stage_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.getDefaultInstance();
          }
          combineLerpBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStageOrBuilder>(
                  (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage) stage_,
                  getParentForChildren(),
                  isClean());
          stage_ = null;
        }
        stageCase_ = 3;
        onChanged();
        return combineLerpBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStageOrBuilder> combineMultiplyBuilder_;
      /**
       * .CMsgPaintKit_Operation_CombineStage combine_multiply = 4;
       * @return Whether the combineMultiply field is set.
       */
      @java.lang.Override
      public boolean hasCombineMultiply() {
        return stageCase_ == 4;
      }
      /**
       * .CMsgPaintKit_Operation_CombineStage combine_multiply = 4;
       * @return The combineMultiply.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage getCombineMultiply() {
        if (combineMultiplyBuilder_ == null) {
          if (stageCase_ == 4) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage) stage_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.getDefaultInstance();
        } else {
          if (stageCase_ == 4) {
            return combineMultiplyBuilder_.getMessage();
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.getDefaultInstance();
        }
      }
      /**
       * .CMsgPaintKit_Operation_CombineStage combine_multiply = 4;
       */
      public Builder setCombineMultiply(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage value) {
        if (combineMultiplyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          stage_ = value;
          onChanged();
        } else {
          combineMultiplyBuilder_.setMessage(value);
        }
        stageCase_ = 4;
        return this;
      }
      /**
       * .CMsgPaintKit_Operation_CombineStage combine_multiply = 4;
       */
      public Builder setCombineMultiply(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.Builder builderForValue) {
        if (combineMultiplyBuilder_ == null) {
          stage_ = builderForValue.build();
          onChanged();
        } else {
          combineMultiplyBuilder_.setMessage(builderForValue.build());
        }
        stageCase_ = 4;
        return this;
      }
      /**
       * .CMsgPaintKit_Operation_CombineStage combine_multiply = 4;
       */
      public Builder mergeCombineMultiply(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage value) {
        if (combineMultiplyBuilder_ == null) {
          if (stageCase_ == 4 &&
              stage_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.getDefaultInstance()) {
            stage_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.newBuilder((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage) stage_)
                .mergeFrom(value).buildPartial();
          } else {
            stage_ = value;
          }
          onChanged();
        } else {
          if (stageCase_ == 4) {
            combineMultiplyBuilder_.mergeFrom(value);
          } else {
            combineMultiplyBuilder_.setMessage(value);
          }
        }
        stageCase_ = 4;
        return this;
      }
      /**
       * .CMsgPaintKit_Operation_CombineStage combine_multiply = 4;
       */
      public Builder clearCombineMultiply() {
        if (combineMultiplyBuilder_ == null) {
          if (stageCase_ == 4) {
            stageCase_ = 0;
            stage_ = null;
            onChanged();
          }
        } else {
          if (stageCase_ == 4) {
            stageCase_ = 0;
            stage_ = null;
          }
          combineMultiplyBuilder_.clear();
        }
        return this;
      }
      /**
       * .CMsgPaintKit_Operation_CombineStage combine_multiply = 4;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.Builder getCombineMultiplyBuilder() {
        return getCombineMultiplyFieldBuilder().getBuilder();
      }
      /**
       * .CMsgPaintKit_Operation_CombineStage combine_multiply = 4;
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStageOrBuilder getCombineMultiplyOrBuilder() {
        if ((stageCase_ == 4) && (combineMultiplyBuilder_ != null)) {
          return combineMultiplyBuilder_.getMessageOrBuilder();
        } else {
          if (stageCase_ == 4) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage) stage_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.getDefaultInstance();
        }
      }
      /**
       * .CMsgPaintKit_Operation_CombineStage combine_multiply = 4;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStageOrBuilder> 
          getCombineMultiplyFieldBuilder() {
        if (combineMultiplyBuilder_ == null) {
          if (!(stageCase_ == 4)) {
            stage_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.getDefaultInstance();
          }
          combineMultiplyBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStageOrBuilder>(
                  (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_CombineStage) stage_,
                  getParentForChildren(),
                  isClean());
          stage_ = null;
        }
        stageCase_ = 4;
        onChanged();
        return combineMultiplyBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStageOrBuilder> selectBuilder_;
      /**
       * .CMsgPaintKit_Operation_SelectStage select = 5;
       * @return Whether the select field is set.
       */
      @java.lang.Override
      public boolean hasSelect() {
        return stageCase_ == 5;
      }
      /**
       * .CMsgPaintKit_Operation_SelectStage select = 5;
       * @return The select.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage getSelect() {
        if (selectBuilder_ == null) {
          if (stageCase_ == 5) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage) stage_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage.getDefaultInstance();
        } else {
          if (stageCase_ == 5) {
            return selectBuilder_.getMessage();
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage.getDefaultInstance();
        }
      }
      /**
       * .CMsgPaintKit_Operation_SelectStage select = 5;
       */
      public Builder setSelect(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage value) {
        if (selectBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          stage_ = value;
          onChanged();
        } else {
          selectBuilder_.setMessage(value);
        }
        stageCase_ = 5;
        return this;
      }
      /**
       * .CMsgPaintKit_Operation_SelectStage select = 5;
       */
      public Builder setSelect(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage.Builder builderForValue) {
        if (selectBuilder_ == null) {
          stage_ = builderForValue.build();
          onChanged();
        } else {
          selectBuilder_.setMessage(builderForValue.build());
        }
        stageCase_ = 5;
        return this;
      }
      /**
       * .CMsgPaintKit_Operation_SelectStage select = 5;
       */
      public Builder mergeSelect(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage value) {
        if (selectBuilder_ == null) {
          if (stageCase_ == 5 &&
              stage_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage.getDefaultInstance()) {
            stage_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage.newBuilder((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage) stage_)
                .mergeFrom(value).buildPartial();
          } else {
            stage_ = value;
          }
          onChanged();
        } else {
          if (stageCase_ == 5) {
            selectBuilder_.mergeFrom(value);
          } else {
            selectBuilder_.setMessage(value);
          }
        }
        stageCase_ = 5;
        return this;
      }
      /**
       * .CMsgPaintKit_Operation_SelectStage select = 5;
       */
      public Builder clearSelect() {
        if (selectBuilder_ == null) {
          if (stageCase_ == 5) {
            stageCase_ = 0;
            stage_ = null;
            onChanged();
          }
        } else {
          if (stageCase_ == 5) {
            stageCase_ = 0;
            stage_ = null;
          }
          selectBuilder_.clear();
        }
        return this;
      }
      /**
       * .CMsgPaintKit_Operation_SelectStage select = 5;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage.Builder getSelectBuilder() {
        return getSelectFieldBuilder().getBuilder();
      }
      /**
       * .CMsgPaintKit_Operation_SelectStage select = 5;
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStageOrBuilder getSelectOrBuilder() {
        if ((stageCase_ == 5) && (selectBuilder_ != null)) {
          return selectBuilder_.getMessageOrBuilder();
        } else {
          if (stageCase_ == 5) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage) stage_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage.getDefaultInstance();
        }
      }
      /**
       * .CMsgPaintKit_Operation_SelectStage select = 5;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStageOrBuilder> 
          getSelectFieldBuilder() {
        if (selectBuilder_ == null) {
          if (!(stageCase_ == 5)) {
            stage_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage.getDefaultInstance();
          }
          selectBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStageOrBuilder>(
                  (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_SelectStage) stage_,
                  getParentForChildren(),
                  isClean());
          stage_ = null;
        }
        stageCase_ = 5;
        onChanged();
        return selectBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStageOrBuilder> applyStickerBuilder_;
      /**
       * .CMsgPaintKit_Operation_StickerStage apply_sticker = 6;
       * @return Whether the applySticker field is set.
       */
      @java.lang.Override
      public boolean hasApplySticker() {
        return stageCase_ == 6;
      }
      /**
       * .CMsgPaintKit_Operation_StickerStage apply_sticker = 6;
       * @return The applySticker.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage getApplySticker() {
        if (applyStickerBuilder_ == null) {
          if (stageCase_ == 6) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage) stage_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage.getDefaultInstance();
        } else {
          if (stageCase_ == 6) {
            return applyStickerBuilder_.getMessage();
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage.getDefaultInstance();
        }
      }
      /**
       * .CMsgPaintKit_Operation_StickerStage apply_sticker = 6;
       */
      public Builder setApplySticker(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage value) {
        if (applyStickerBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          stage_ = value;
          onChanged();
        } else {
          applyStickerBuilder_.setMessage(value);
        }
        stageCase_ = 6;
        return this;
      }
      /**
       * .CMsgPaintKit_Operation_StickerStage apply_sticker = 6;
       */
      public Builder setApplySticker(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage.Builder builderForValue) {
        if (applyStickerBuilder_ == null) {
          stage_ = builderForValue.build();
          onChanged();
        } else {
          applyStickerBuilder_.setMessage(builderForValue.build());
        }
        stageCase_ = 6;
        return this;
      }
      /**
       * .CMsgPaintKit_Operation_StickerStage apply_sticker = 6;
       */
      public Builder mergeApplySticker(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage value) {
        if (applyStickerBuilder_ == null) {
          if (stageCase_ == 6 &&
              stage_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage.getDefaultInstance()) {
            stage_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage.newBuilder((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage) stage_)
                .mergeFrom(value).buildPartial();
          } else {
            stage_ = value;
          }
          onChanged();
        } else {
          if (stageCase_ == 6) {
            applyStickerBuilder_.mergeFrom(value);
          } else {
            applyStickerBuilder_.setMessage(value);
          }
        }
        stageCase_ = 6;
        return this;
      }
      /**
       * .CMsgPaintKit_Operation_StickerStage apply_sticker = 6;
       */
      public Builder clearApplySticker() {
        if (applyStickerBuilder_ == null) {
          if (stageCase_ == 6) {
            stageCase_ = 0;
            stage_ = null;
            onChanged();
          }
        } else {
          if (stageCase_ == 6) {
            stageCase_ = 0;
            stage_ = null;
          }
          applyStickerBuilder_.clear();
        }
        return this;
      }
      /**
       * .CMsgPaintKit_Operation_StickerStage apply_sticker = 6;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage.Builder getApplyStickerBuilder() {
        return getApplyStickerFieldBuilder().getBuilder();
      }
      /**
       * .CMsgPaintKit_Operation_StickerStage apply_sticker = 6;
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStageOrBuilder getApplyStickerOrBuilder() {
        if ((stageCase_ == 6) && (applyStickerBuilder_ != null)) {
          return applyStickerBuilder_.getMessageOrBuilder();
        } else {
          if (stageCase_ == 6) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage) stage_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage.getDefaultInstance();
        }
      }
      /**
       * .CMsgPaintKit_Operation_StickerStage apply_sticker = 6;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStageOrBuilder> 
          getApplyStickerFieldBuilder() {
        if (applyStickerBuilder_ == null) {
          if (!(stageCase_ == 6)) {
            stage_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage.getDefaultInstance();
          }
          applyStickerBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStageOrBuilder>(
                  (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation_StickerStage) stage_,
                  getParentForChildren(),
                  isClean());
          stage_ = null;
        }
        stageCase_ = 6;
        onChanged();
        return applyStickerBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgPaintKit_OperationStage)
    }

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

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

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

  }

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

    /**
     * .CMsgPaintKit_OperationStage stage = 1;
     * @return Whether the stage field is set.
     */
    boolean hasStage();
    /**
     * .CMsgPaintKit_OperationStage stage = 1;
     * @return The stage.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage getStage();
    /**
     * .CMsgPaintKit_OperationStage stage = 1;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStageOrBuilder getStageOrBuilder();

    /**
     * .CMsgProtoDefID operation_template = 2 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (.inherit_reference_variables) = true];
     * @return Whether the operationTemplate field is set.
     */
    boolean hasOperationTemplate();
    /**
     * .CMsgProtoDefID operation_template = 2 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (.inherit_reference_variables) = true];
     * @return The operationTemplate.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getOperationTemplate();
    /**
     * .CMsgProtoDefID operation_template = 2 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (.inherit_reference_variables) = true];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getOperationTemplateOrBuilder();

    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.NodeCase getNodeCase();
  }
  /**
   * Protobuf type {@code CMsgPaintKit_OperationNode}
   */
  public static final class CMsgPaintKit_OperationNode extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgPaintKit_OperationNode)
      CMsgPaintKit_OperationNodeOrBuilder {
  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= */ "",
        CMsgPaintKit_OperationNode.class.getName());
    }
    // Use CMsgPaintKit_OperationNode.newBuilder() to construct.
    private CMsgPaintKit_OperationNode(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgPaintKit_OperationNode() {
    }

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

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

    private int nodeCase_ = 0;
    @SuppressWarnings("serial")
    private java.lang.Object node_;
    public enum NodeCase
        implements com.google.protobuf.Internal.EnumLite,
            com.google.protobuf.AbstractMessage.InternalOneOfEnum {
      STAGE(1),
      OPERATION_TEMPLATE(2),
      NODE_NOT_SET(0);
      private final int value;
      private NodeCase(int value) {
        this.value = value;
      }
      /**
       * @param value The number of the enum to look for.
       * @return The enum associated with the given number.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static NodeCase valueOf(int value) {
        return forNumber(value);
      }

      public static NodeCase forNumber(int value) {
        switch (value) {
          case 1: return STAGE;
          case 2: return OPERATION_TEMPLATE;
          case 0: return NODE_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    public NodeCase
    getNodeCase() {
      return NodeCase.forNumber(
          nodeCase_);
    }

    public static final int STAGE_FIELD_NUMBER = 1;
    /**
     * .CMsgPaintKit_OperationStage stage = 1;
     * @return Whether the stage field is set.
     */
    @java.lang.Override
    public boolean hasStage() {
      return nodeCase_ == 1;
    }
    /**
     * .CMsgPaintKit_OperationStage stage = 1;
     * @return The stage.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage getStage() {
      if (nodeCase_ == 1) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage) node_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage.getDefaultInstance();
    }
    /**
     * .CMsgPaintKit_OperationStage stage = 1;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStageOrBuilder getStageOrBuilder() {
      if (nodeCase_ == 1) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage) node_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage.getDefaultInstance();
    }

    public static final int OPERATION_TEMPLATE_FIELD_NUMBER = 2;
    /**
     * .CMsgProtoDefID operation_template = 2 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (.inherit_reference_variables) = true];
     * @return Whether the operationTemplate field is set.
     */
    @java.lang.Override
    public boolean hasOperationTemplate() {
      return nodeCase_ == 2;
    }
    /**
     * .CMsgProtoDefID operation_template = 2 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (.inherit_reference_variables) = true];
     * @return The operationTemplate.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getOperationTemplate() {
      if (nodeCase_ == 2) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID) node_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance();
    }
    /**
     * .CMsgProtoDefID operation_template = 2 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (.inherit_reference_variables) = true];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getOperationTemplateOrBuilder() {
      if (nodeCase_ == 2) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID) node_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance();
    }

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

      if (hasStage()) {
        if (!getStage().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasOperationTemplate()) {
        if (!getOperationTemplate().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (nodeCase_ == 1) {
        output.writeMessage(1, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage) node_);
      }
      if (nodeCase_ == 2) {
        output.writeMessage(2, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID) node_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (nodeCase_ == 1) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage) node_);
      }
      if (nodeCase_ == 2) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID) node_);
      }
      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.TfProtoDefMessages.CMsgPaintKit_OperationNode)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode) obj;

      if (!getNodeCase().equals(other.getNodeCase())) return false;
      switch (nodeCase_) {
        case 1:
          if (!getStage()
              .equals(other.getStage())) return false;
          break;
        case 2:
          if (!getOperationTemplate()
              .equals(other.getOperationTemplate())) return false;
          break;
        case 0:
        default:
      }
      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();
      switch (nodeCase_) {
        case 1:
          hash = (37 * hash) + STAGE_FIELD_NUMBER;
          hash = (53 * hash) + getStage().hashCode();
          break;
        case 2:
          hash = (37 * hash) + OPERATION_TEMPLATE_FIELD_NUMBER;
          hash = (53 * hash) + getOperationTemplate().hashCode();
          break;
        case 0:
        default:
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode 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.TfProtoDefMessages.CMsgPaintKit_OperationNode parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode 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.TfProtoDefMessages.CMsgPaintKit_OperationNode parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode 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.TfProtoDefMessages.CMsgPaintKit_OperationNode parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode 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.TfProtoDefMessages.CMsgPaintKit_OperationNode parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode 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.TfProtoDefMessages.CMsgPaintKit_OperationNode 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.TfProtoDefMessages.CMsgPaintKit_OperationNode 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.TfProtoDefMessages.CMsgPaintKit_OperationNode 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 CMsgPaintKit_OperationNode}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgPaintKit_OperationNode)
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNodeOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgPaintKit_OperationNode_descriptor;
      }

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

      // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.newBuilder()
      private Builder() {

      }

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

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        if (stageBuilder_ != null) {
          stageBuilder_.clear();
        }
        if (operationTemplateBuilder_ != null) {
          operationTemplateBuilder_.clear();
        }
        nodeCase_ = 0;
        node_ = null;
        return this;
      }

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

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

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

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

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode result) {
        int from_bitField0_ = bitField0_;
      }

      private void buildPartialOneofs(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode result) {
        result.nodeCase_ = nodeCase_;
        result.node_ = this.node_;
        if (nodeCase_ == 1 &&
            stageBuilder_ != null) {
          result.node_ = stageBuilder_.build();
        }
        if (nodeCase_ == 2 &&
            operationTemplateBuilder_ != null) {
          result.node_ = operationTemplateBuilder_.build();
        }
      }

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

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.getDefaultInstance()) return this;
        switch (other.getNodeCase()) {
          case STAGE: {
            mergeStage(other.getStage());
            break;
          }
          case OPERATION_TEMPLATE: {
            mergeOperationTemplate(other.getOperationTemplate());
            break;
          }
          case NODE_NOT_SET: {
            break;
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (hasStage()) {
          if (!getStage().isInitialized()) {
            return false;
          }
        }
        if (hasOperationTemplate()) {
          if (!getOperationTemplate().isInitialized()) {
            return false;
          }
        }
        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: {
                input.readMessage(
                    getStageFieldBuilder().getBuilder(),
                    extensionRegistry);
                nodeCase_ = 1;
                break;
              } // case 10
              case 18: {
                input.readMessage(
                    getOperationTemplateFieldBuilder().getBuilder(),
                    extensionRegistry);
                nodeCase_ = 2;
                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 nodeCase_ = 0;
      private java.lang.Object node_;
      public NodeCase
          getNodeCase() {
        return NodeCase.forNumber(
            nodeCase_);
      }

      public Builder clearNode() {
        nodeCase_ = 0;
        node_ = null;
        onChanged();
        return this;
      }

      private int bitField0_;

      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStageOrBuilder> stageBuilder_;
      /**
       * .CMsgPaintKit_OperationStage stage = 1;
       * @return Whether the stage field is set.
       */
      @java.lang.Override
      public boolean hasStage() {
        return nodeCase_ == 1;
      }
      /**
       * .CMsgPaintKit_OperationStage stage = 1;
       * @return The stage.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage getStage() {
        if (stageBuilder_ == null) {
          if (nodeCase_ == 1) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage) node_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage.getDefaultInstance();
        } else {
          if (nodeCase_ == 1) {
            return stageBuilder_.getMessage();
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage.getDefaultInstance();
        }
      }
      /**
       * .CMsgPaintKit_OperationStage stage = 1;
       */
      public Builder setStage(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage value) {
        if (stageBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          node_ = value;
          onChanged();
        } else {
          stageBuilder_.setMessage(value);
        }
        nodeCase_ = 1;
        return this;
      }
      /**
       * .CMsgPaintKit_OperationStage stage = 1;
       */
      public Builder setStage(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage.Builder builderForValue) {
        if (stageBuilder_ == null) {
          node_ = builderForValue.build();
          onChanged();
        } else {
          stageBuilder_.setMessage(builderForValue.build());
        }
        nodeCase_ = 1;
        return this;
      }
      /**
       * .CMsgPaintKit_OperationStage stage = 1;
       */
      public Builder mergeStage(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage value) {
        if (stageBuilder_ == null) {
          if (nodeCase_ == 1 &&
              node_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage.getDefaultInstance()) {
            node_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage.newBuilder((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage) node_)
                .mergeFrom(value).buildPartial();
          } else {
            node_ = value;
          }
          onChanged();
        } else {
          if (nodeCase_ == 1) {
            stageBuilder_.mergeFrom(value);
          } else {
            stageBuilder_.setMessage(value);
          }
        }
        nodeCase_ = 1;
        return this;
      }
      /**
       * .CMsgPaintKit_OperationStage stage = 1;
       */
      public Builder clearStage() {
        if (stageBuilder_ == null) {
          if (nodeCase_ == 1) {
            nodeCase_ = 0;
            node_ = null;
            onChanged();
          }
        } else {
          if (nodeCase_ == 1) {
            nodeCase_ = 0;
            node_ = null;
          }
          stageBuilder_.clear();
        }
        return this;
      }
      /**
       * .CMsgPaintKit_OperationStage stage = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage.Builder getStageBuilder() {
        return getStageFieldBuilder().getBuilder();
      }
      /**
       * .CMsgPaintKit_OperationStage stage = 1;
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStageOrBuilder getStageOrBuilder() {
        if ((nodeCase_ == 1) && (stageBuilder_ != null)) {
          return stageBuilder_.getMessageOrBuilder();
        } else {
          if (nodeCase_ == 1) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage) node_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage.getDefaultInstance();
        }
      }
      /**
       * .CMsgPaintKit_OperationStage stage = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStageOrBuilder> 
          getStageFieldBuilder() {
        if (stageBuilder_ == null) {
          if (!(nodeCase_ == 1)) {
            node_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage.getDefaultInstance();
          }
          stageBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStageOrBuilder>(
                  (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationStage) node_,
                  getParentForChildren(),
                  isClean());
          node_ = null;
        }
        nodeCase_ = 1;
        onChanged();
        return stageBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> operationTemplateBuilder_;
      /**
       * .CMsgProtoDefID operation_template = 2 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (.inherit_reference_variables) = true];
       * @return Whether the operationTemplate field is set.
       */
      @java.lang.Override
      public boolean hasOperationTemplate() {
        return nodeCase_ == 2;
      }
      /**
       * .CMsgProtoDefID operation_template = 2 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (.inherit_reference_variables) = true];
       * @return The operationTemplate.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getOperationTemplate() {
        if (operationTemplateBuilder_ == null) {
          if (nodeCase_ == 2) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID) node_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance();
        } else {
          if (nodeCase_ == 2) {
            return operationTemplateBuilder_.getMessage();
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance();
        }
      }
      /**
       * .CMsgProtoDefID operation_template = 2 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (.inherit_reference_variables) = true];
       */
      public Builder setOperationTemplate(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
        if (operationTemplateBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          node_ = value;
          onChanged();
        } else {
          operationTemplateBuilder_.setMessage(value);
        }
        nodeCase_ = 2;
        return this;
      }
      /**
       * .CMsgProtoDefID operation_template = 2 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (.inherit_reference_variables) = true];
       */
      public Builder setOperationTemplate(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder builderForValue) {
        if (operationTemplateBuilder_ == null) {
          node_ = builderForValue.build();
          onChanged();
        } else {
          operationTemplateBuilder_.setMessage(builderForValue.build());
        }
        nodeCase_ = 2;
        return this;
      }
      /**
       * .CMsgProtoDefID operation_template = 2 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (.inherit_reference_variables) = true];
       */
      public Builder mergeOperationTemplate(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
        if (operationTemplateBuilder_ == null) {
          if (nodeCase_ == 2 &&
              node_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance()) {
            node_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.newBuilder((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID) node_)
                .mergeFrom(value).buildPartial();
          } else {
            node_ = value;
          }
          onChanged();
        } else {
          if (nodeCase_ == 2) {
            operationTemplateBuilder_.mergeFrom(value);
          } else {
            operationTemplateBuilder_.setMessage(value);
          }
        }
        nodeCase_ = 2;
        return this;
      }
      /**
       * .CMsgProtoDefID operation_template = 2 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (.inherit_reference_variables) = true];
       */
      public Builder clearOperationTemplate() {
        if (operationTemplateBuilder_ == null) {
          if (nodeCase_ == 2) {
            nodeCase_ = 0;
            node_ = null;
            onChanged();
          }
        } else {
          if (nodeCase_ == 2) {
            nodeCase_ = 0;
            node_ = null;
          }
          operationTemplateBuilder_.clear();
        }
        return this;
      }
      /**
       * .CMsgProtoDefID operation_template = 2 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (.inherit_reference_variables) = true];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder getOperationTemplateBuilder() {
        return getOperationTemplateFieldBuilder().getBuilder();
      }
      /**
       * .CMsgProtoDefID operation_template = 2 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (.inherit_reference_variables) = true];
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getOperationTemplateOrBuilder() {
        if ((nodeCase_ == 2) && (operationTemplateBuilder_ != null)) {
          return operationTemplateBuilder_.getMessageOrBuilder();
        } else {
          if (nodeCase_ == 2) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID) node_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance();
        }
      }
      /**
       * .CMsgProtoDefID operation_template = 2 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (.inherit_reference_variables) = true];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> 
          getOperationTemplateFieldBuilder() {
        if (operationTemplateBuilder_ == null) {
          if (!(nodeCase_ == 2)) {
            node_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance();
          }
          operationTemplateBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder>(
                  (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID) node_,
                  getParentForChildren(),
                  isClean());
          node_ = null;
        }
        nodeCase_ = 2;
        onChanged();
        return operationTemplateBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgPaintKit_OperationNode)
    }

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

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

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

  }

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

    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return Whether the header field is set.
     */
    boolean hasHeader();
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return The header.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader();
    /**
     * required .CMsgProtoDefHeader header = 1;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder();

    /**
     * repeated .CMsgPaintKit_OperationNode operation_node = 2;
     */
    java.util.List 
        getOperationNodeList();
    /**
     * repeated .CMsgPaintKit_OperationNode operation_node = 2;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode getOperationNode(int index);
    /**
     * repeated .CMsgPaintKit_OperationNode operation_node = 2;
     */
    int getOperationNodeCount();
    /**
     * repeated .CMsgPaintKit_OperationNode operation_node = 2;
     */
    java.util.List 
        getOperationNodeOrBuilderList();
    /**
     * repeated .CMsgPaintKit_OperationNode operation_node = 2;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNodeOrBuilder getOperationNodeOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code CMsgPaintKit_Operation}
   */
  public static final class CMsgPaintKit_Operation extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgPaintKit_Operation)
      CMsgPaintKit_OperationOrBuilder {
  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= */ "",
        CMsgPaintKit_Operation.class.getName());
    }
    // Use CMsgPaintKit_Operation.newBuilder() to construct.
    private CMsgPaintKit_Operation(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgPaintKit_Operation() {
      operationNode_ = java.util.Collections.emptyList();
    }

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

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

    private int bitField0_;
    public static final int HEADER_FIELD_NUMBER = 1;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader header_;
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return Whether the header field is set.
     */
    @java.lang.Override
    public boolean hasHeader() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return The header.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader() {
      return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
    }
    /**
     * required .CMsgProtoDefHeader header = 1;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder() {
      return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
    }

    public static final int OPERATION_NODE_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private java.util.List operationNode_;
    /**
     * repeated .CMsgPaintKit_OperationNode operation_node = 2;
     */
    @java.lang.Override
    public java.util.List getOperationNodeList() {
      return operationNode_;
    }
    /**
     * repeated .CMsgPaintKit_OperationNode operation_node = 2;
     */
    @java.lang.Override
    public java.util.List 
        getOperationNodeOrBuilderList() {
      return operationNode_;
    }
    /**
     * repeated .CMsgPaintKit_OperationNode operation_node = 2;
     */
    @java.lang.Override
    public int getOperationNodeCount() {
      return operationNode_.size();
    }
    /**
     * repeated .CMsgPaintKit_OperationNode operation_node = 2;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode getOperationNode(int index) {
      return operationNode_.get(index);
    }
    /**
     * repeated .CMsgPaintKit_OperationNode operation_node = 2;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNodeOrBuilder getOperationNodeOrBuilder(
        int index) {
      return operationNode_.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;

      if (!hasHeader()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getHeader().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getOperationNodeCount(); i++) {
        if (!getOperationNode(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getHeader());
      }
      for (int i = 0; i < operationNode_.size(); i++) {
        output.writeMessage(2, operationNode_.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
          .computeMessageSize(1, getHeader());
      }
      for (int i = 0; i < operationNode_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, operationNode_.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.TfProtoDefMessages.CMsgPaintKit_Operation)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation) obj;

      if (hasHeader() != other.hasHeader()) return false;
      if (hasHeader()) {
        if (!getHeader()
            .equals(other.getHeader())) return false;
      }
      if (!getOperationNodeList()
          .equals(other.getOperationNodeList())) 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 (hasHeader()) {
        hash = (37 * hash) + HEADER_FIELD_NUMBER;
        hash = (53 * hash) + getHeader().hashCode();
      }
      if (getOperationNodeCount() > 0) {
        hash = (37 * hash) + OPERATION_NODE_FIELD_NUMBER;
        hash = (53 * hash) + getOperationNodeList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation 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.TfProtoDefMessages.CMsgPaintKit_Operation parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation 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.TfProtoDefMessages.CMsgPaintKit_Operation parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation 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.TfProtoDefMessages.CMsgPaintKit_Operation parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation 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.TfProtoDefMessages.CMsgPaintKit_Operation parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation 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.TfProtoDefMessages.CMsgPaintKit_Operation 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.TfProtoDefMessages.CMsgPaintKit_Operation 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.TfProtoDefMessages.CMsgPaintKit_Operation 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 CMsgPaintKit_Operation}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgPaintKit_Operation)
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgPaintKit_Operation_descriptor;
      }

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

      // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage
                .alwaysUseFieldBuilders) {
          getHeaderFieldBuilder();
          getOperationNodeFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        header_ = null;
        if (headerBuilder_ != null) {
          headerBuilder_.dispose();
          headerBuilder_ = null;
        }
        if (operationNodeBuilder_ == null) {
          operationNode_ = java.util.Collections.emptyList();
        } else {
          operationNode_ = null;
          operationNodeBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

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

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

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

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

      private void buildPartialRepeatedFields(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation result) {
        if (operationNodeBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0)) {
            operationNode_ = java.util.Collections.unmodifiableList(operationNode_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.operationNode_ = operationNode_;
        } else {
          result.operationNode_ = operationNodeBuilder_.build();
        }
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.header_ = headerBuilder_ == null
              ? header_
              : headerBuilder_.build();
          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.TfProtoDefMessages.CMsgPaintKit_Operation) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Operation.getDefaultInstance()) return this;
        if (other.hasHeader()) {
          mergeHeader(other.getHeader());
        }
        if (operationNodeBuilder_ == null) {
          if (!other.operationNode_.isEmpty()) {
            if (operationNode_.isEmpty()) {
              operationNode_ = other.operationNode_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureOperationNodeIsMutable();
              operationNode_.addAll(other.operationNode_);
            }
            onChanged();
          }
        } else {
          if (!other.operationNode_.isEmpty()) {
            if (operationNodeBuilder_.isEmpty()) {
              operationNodeBuilder_.dispose();
              operationNodeBuilder_ = null;
              operationNode_ = other.operationNode_;
              bitField0_ = (bitField0_ & ~0x00000002);
              operationNodeBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getOperationNodeFieldBuilder() : null;
            } else {
              operationNodeBuilder_.addAllMessages(other.operationNode_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasHeader()) {
          return false;
        }
        if (!getHeader().isInitialized()) {
          return false;
        }
        for (int i = 0; i < getOperationNodeCount(); i++) {
          if (!getOperationNode(i).isInitialized()) {
            return false;
          }
        }
        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: {
                input.readMessage(
                    getHeaderFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 18: {
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.parser(),
                        extensionRegistry);
                if (operationNodeBuilder_ == null) {
                  ensureOperationNodeIsMutable();
                  operationNode_.add(m);
                } else {
                  operationNodeBuilder_.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 in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader header_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder> headerBuilder_;
      /**
       * required .CMsgProtoDefHeader header = 1;
       * @return Whether the header field is set.
       */
      public boolean hasHeader() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       * @return The header.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader() {
        if (headerBuilder_ == null) {
          return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
        } else {
          return headerBuilder_.getMessage();
        }
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder setHeader(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader value) {
        if (headerBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          header_ = value;
        } else {
          headerBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder setHeader(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder builderForValue) {
        if (headerBuilder_ == null) {
          header_ = builderForValue.build();
        } else {
          headerBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder mergeHeader(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader value) {
        if (headerBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
            header_ != null &&
            header_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance()) {
            getHeaderBuilder().mergeFrom(value);
          } else {
            header_ = value;
          }
        } else {
          headerBuilder_.mergeFrom(value);
        }
        if (header_ != null) {
          bitField0_ |= 0x00000001;
          onChanged();
        }
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder clearHeader() {
        bitField0_ = (bitField0_ & ~0x00000001);
        header_ = null;
        if (headerBuilder_ != null) {
          headerBuilder_.dispose();
          headerBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder getHeaderBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getHeaderFieldBuilder().getBuilder();
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder() {
        if (headerBuilder_ != null) {
          return headerBuilder_.getMessageOrBuilder();
        } else {
          return header_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
        }
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder> 
          getHeaderFieldBuilder() {
        if (headerBuilder_ == null) {
          headerBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder>(
                  getHeader(),
                  getParentForChildren(),
                  isClean());
          header_ = null;
        }
        return headerBuilder_;
      }

      private java.util.List operationNode_ =
        java.util.Collections.emptyList();
      private void ensureOperationNodeIsMutable() {
        if (!((bitField0_ & 0x00000002) != 0)) {
          operationNode_ = new java.util.ArrayList(operationNode_);
          bitField0_ |= 0x00000002;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNodeOrBuilder> operationNodeBuilder_;

      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 2;
       */
      public java.util.List getOperationNodeList() {
        if (operationNodeBuilder_ == null) {
          return java.util.Collections.unmodifiableList(operationNode_);
        } else {
          return operationNodeBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 2;
       */
      public int getOperationNodeCount() {
        if (operationNodeBuilder_ == null) {
          return operationNode_.size();
        } else {
          return operationNodeBuilder_.getCount();
        }
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 2;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode getOperationNode(int index) {
        if (operationNodeBuilder_ == null) {
          return operationNode_.get(index);
        } else {
          return operationNodeBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 2;
       */
      public Builder setOperationNode(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode value) {
        if (operationNodeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureOperationNodeIsMutable();
          operationNode_.set(index, value);
          onChanged();
        } else {
          operationNodeBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 2;
       */
      public Builder setOperationNode(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.Builder builderForValue) {
        if (operationNodeBuilder_ == null) {
          ensureOperationNodeIsMutable();
          operationNode_.set(index, builderForValue.build());
          onChanged();
        } else {
          operationNodeBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 2;
       */
      public Builder addOperationNode(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode value) {
        if (operationNodeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureOperationNodeIsMutable();
          operationNode_.add(value);
          onChanged();
        } else {
          operationNodeBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 2;
       */
      public Builder addOperationNode(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode value) {
        if (operationNodeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureOperationNodeIsMutable();
          operationNode_.add(index, value);
          onChanged();
        } else {
          operationNodeBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 2;
       */
      public Builder addOperationNode(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.Builder builderForValue) {
        if (operationNodeBuilder_ == null) {
          ensureOperationNodeIsMutable();
          operationNode_.add(builderForValue.build());
          onChanged();
        } else {
          operationNodeBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 2;
       */
      public Builder addOperationNode(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.Builder builderForValue) {
        if (operationNodeBuilder_ == null) {
          ensureOperationNodeIsMutable();
          operationNode_.add(index, builderForValue.build());
          onChanged();
        } else {
          operationNodeBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 2;
       */
      public Builder addAllOperationNode(
          java.lang.Iterable values) {
        if (operationNodeBuilder_ == null) {
          ensureOperationNodeIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, operationNode_);
          onChanged();
        } else {
          operationNodeBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 2;
       */
      public Builder clearOperationNode() {
        if (operationNodeBuilder_ == null) {
          operationNode_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          operationNodeBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 2;
       */
      public Builder removeOperationNode(int index) {
        if (operationNodeBuilder_ == null) {
          ensureOperationNodeIsMutable();
          operationNode_.remove(index);
          onChanged();
        } else {
          operationNodeBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 2;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.Builder getOperationNodeBuilder(
          int index) {
        return getOperationNodeFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 2;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNodeOrBuilder getOperationNodeOrBuilder(
          int index) {
        if (operationNodeBuilder_ == null) {
          return operationNode_.get(index);  } else {
          return operationNodeBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 2;
       */
      public java.util.List 
           getOperationNodeOrBuilderList() {
        if (operationNodeBuilder_ != null) {
          return operationNodeBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(operationNode_);
        }
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 2;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.Builder addOperationNodeBuilder() {
        return getOperationNodeFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.getDefaultInstance());
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 2;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.Builder addOperationNodeBuilder(
          int index) {
        return getOperationNodeFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.getDefaultInstance());
      }
      /**
       * repeated .CMsgPaintKit_OperationNode operation_node = 2;
       */
      public java.util.List 
           getOperationNodeBuilderList() {
        return getOperationNodeFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNodeOrBuilder> 
          getOperationNodeFieldBuilder() {
        if (operationNodeBuilder_ == null) {
          operationNodeBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNode.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_OperationNodeOrBuilder>(
                  operationNode_,
                  ((bitField0_ & 0x00000002) != 0),
                  getParentForChildren(),
                  isClean());
          operationNode_ = null;
        }
        return operationNodeBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgPaintKit_Operation)
    }

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

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

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

  }

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

    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return Whether the header field is set.
     */
    boolean hasHeader();
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return The header.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader();
    /**
     * required .CMsgProtoDefHeader header = 1;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder();

    /**
     * required uint32 item_definition_index = 2;
     * @return Whether the itemDefinitionIndex field is set.
     */
    boolean hasItemDefinitionIndex();
    /**
     * required uint32 item_definition_index = 2;
     * @return The itemDefinitionIndex.
     */
    int getItemDefinitionIndex();

    /**
     * optional .CMsgProtoDefID variable_template = 3 [(.valid_type) = DEF_TYPE_PAINTKIT_VARIABLES, (.inherit_reference_variables) = true];
     * @return Whether the variableTemplate field is set.
     */
    boolean hasVariableTemplate();
    /**
     * optional .CMsgProtoDefID variable_template = 3 [(.valid_type) = DEF_TYPE_PAINTKIT_VARIABLES, (.inherit_reference_variables) = true];
     * @return The variableTemplate.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getVariableTemplate();
    /**
     * optional .CMsgProtoDefID variable_template = 3 [(.valid_type) = DEF_TYPE_PAINTKIT_VARIABLES, (.inherit_reference_variables) = true];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getVariableTemplateOrBuilder();

    /**
     * repeated .CMsgPaintKit_ItemDefinition.Definition definition = 4 [(.max_count) = 5];
     */
    java.util.List 
        getDefinitionList();
    /**
     * repeated .CMsgPaintKit_ItemDefinition.Definition definition = 4 [(.max_count) = 5];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition getDefinition(int index);
    /**
     * repeated .CMsgPaintKit_ItemDefinition.Definition definition = 4 [(.max_count) = 5];
     */
    int getDefinitionCount();
    /**
     * repeated .CMsgPaintKit_ItemDefinition.Definition definition = 4 [(.max_count) = 5];
     */
    java.util.List 
        getDefinitionOrBuilderList();
    /**
     * repeated .CMsgPaintKit_ItemDefinition.Definition definition = 4 [(.max_count) = 5];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.DefinitionOrBuilder getDefinitionOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code CMsgPaintKit_ItemDefinition}
   */
  public static final class CMsgPaintKit_ItemDefinition extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgPaintKit_ItemDefinition)
      CMsgPaintKit_ItemDefinitionOrBuilder {
  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= */ "",
        CMsgPaintKit_ItemDefinition.class.getName());
    }
    // Use CMsgPaintKit_ItemDefinition.newBuilder() to construct.
    private CMsgPaintKit_ItemDefinition(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgPaintKit_ItemDefinition() {
      definition_ = java.util.Collections.emptyList();
    }

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

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

    public interface DefinitionOrBuilder extends
        // @@protoc_insertion_point(interface_extends:CMsgPaintKit_ItemDefinition.Definition)
        com.google.protobuf.MessageOrBuilder {

      /**
       * optional .CMsgProtoDefID operation_template = 1 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION];
       * @return Whether the operationTemplate field is set.
       */
      boolean hasOperationTemplate();
      /**
       * optional .CMsgProtoDefID operation_template = 1 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION];
       * @return The operationTemplate.
       */
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getOperationTemplate();
      /**
       * optional .CMsgProtoDefID operation_template = 1 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION];
       */
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getOperationTemplateOrBuilder();

      /**
       * repeated .CMsgVarField variable = 2 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
       */
      java.util.List 
          getVariableList();
      /**
       * repeated .CMsgVarField variable = 2 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
       */
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getVariable(int index);
      /**
       * repeated .CMsgVarField variable = 2 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
       */
      int getVariableCount();
      /**
       * repeated .CMsgVarField variable = 2 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
       */
      java.util.List 
          getVariableOrBuilderList();
      /**
       * repeated .CMsgVarField variable = 2 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
       */
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getVariableOrBuilder(
          int index);
    }
    /**
     * Protobuf type {@code CMsgPaintKit_ItemDefinition.Definition}
     */
    public static final class Definition extends
        com.google.protobuf.GeneratedMessage implements
        // @@protoc_insertion_point(message_implements:CMsgPaintKit_ItemDefinition.Definition)
        DefinitionOrBuilder {
    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= */ "",
          Definition.class.getName());
      }
      // Use Definition.newBuilder() to construct.
      private Definition(com.google.protobuf.GeneratedMessage.Builder builder) {
        super(builder);
      }
      private Definition() {
        variable_ = java.util.Collections.emptyList();
      }

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

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgPaintKit_ItemDefinition_Definition_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition.class, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition.Builder.class);
      }

      private int bitField0_;
      public static final int OPERATION_TEMPLATE_FIELD_NUMBER = 1;
      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID operationTemplate_;
      /**
       * optional .CMsgProtoDefID operation_template = 1 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION];
       * @return Whether the operationTemplate field is set.
       */
      @java.lang.Override
      public boolean hasOperationTemplate() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional .CMsgProtoDefID operation_template = 1 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION];
       * @return The operationTemplate.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getOperationTemplate() {
        return operationTemplate_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : operationTemplate_;
      }
      /**
       * optional .CMsgProtoDefID operation_template = 1 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION];
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getOperationTemplateOrBuilder() {
        return operationTemplate_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : operationTemplate_;
      }

      public static final int VARIABLE_FIELD_NUMBER = 2;
      @SuppressWarnings("serial")
      private java.util.List variable_;
      /**
       * repeated .CMsgVarField variable = 2 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
       */
      @java.lang.Override
      public java.util.List getVariableList() {
        return variable_;
      }
      /**
       * repeated .CMsgVarField variable = 2 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
       */
      @java.lang.Override
      public java.util.List 
          getVariableOrBuilderList() {
        return variable_;
      }
      /**
       * repeated .CMsgVarField variable = 2 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
       */
      @java.lang.Override
      public int getVariableCount() {
        return variable_.size();
      }
      /**
       * repeated .CMsgVarField variable = 2 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getVariable(int index) {
        return variable_.get(index);
      }
      /**
       * repeated .CMsgVarField variable = 2 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getVariableOrBuilder(
          int index) {
        return variable_.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;

        if (hasOperationTemplate()) {
          if (!getOperationTemplate().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeMessage(1, getOperationTemplate());
        }
        for (int i = 0; i < variable_.size(); i++) {
          output.writeMessage(2, variable_.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
            .computeMessageSize(1, getOperationTemplate());
        }
        for (int i = 0; i < variable_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, variable_.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.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition)) {
          return super.equals(obj);
        }
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition) obj;

        if (hasOperationTemplate() != other.hasOperationTemplate()) return false;
        if (hasOperationTemplate()) {
          if (!getOperationTemplate()
              .equals(other.getOperationTemplate())) return false;
        }
        if (!getVariableList()
            .equals(other.getVariableList())) 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 (hasOperationTemplate()) {
          hash = (37 * hash) + OPERATION_TEMPLATE_FIELD_NUMBER;
          hash = (53 * hash) + getOperationTemplate().hashCode();
        }
        if (getVariableCount() > 0) {
          hash = (37 * hash) + VARIABLE_FIELD_NUMBER;
          hash = (53 * hash) + getVariableList().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition 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.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition 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.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition 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.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseWithIOException(PARSER, input);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition 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.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition 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.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition 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.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition 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.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition 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 CMsgPaintKit_ItemDefinition.Definition}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder implements
          // @@protoc_insertion_point(builder_implements:CMsgPaintKit_ItemDefinition.Definition)
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.DefinitionOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgPaintKit_ItemDefinition_Definition_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgPaintKit_ItemDefinition_Definition_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition.class, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition.Builder.class);
        }

        // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage
                  .alwaysUseFieldBuilders) {
            getOperationTemplateFieldBuilder();
            getVariableFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          operationTemplate_ = null;
          if (operationTemplateBuilder_ != null) {
            operationTemplateBuilder_.dispose();
            operationTemplateBuilder_ = null;
          }
          if (variableBuilder_ == null) {
            variable_ = java.util.Collections.emptyList();
          } else {
            variable_ = null;
            variableBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }

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

        @java.lang.Override
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition getDefaultInstanceForType() {
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition.getDefaultInstance();
        }

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

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

        private void buildPartialRepeatedFields(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition result) {
          if (variableBuilder_ == null) {
            if (((bitField0_ & 0x00000002) != 0)) {
              variable_ = java.util.Collections.unmodifiableList(variable_);
              bitField0_ = (bitField0_ & ~0x00000002);
            }
            result.variable_ = variable_;
          } else {
            result.variable_ = variableBuilder_.build();
          }
        }

        private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.operationTemplate_ = operationTemplateBuilder_ == null
                ? operationTemplate_
                : operationTemplateBuilder_.build();
            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.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition) {
            return mergeFrom((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition other) {
          if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition.getDefaultInstance()) return this;
          if (other.hasOperationTemplate()) {
            mergeOperationTemplate(other.getOperationTemplate());
          }
          if (variableBuilder_ == null) {
            if (!other.variable_.isEmpty()) {
              if (variable_.isEmpty()) {
                variable_ = other.variable_;
                bitField0_ = (bitField0_ & ~0x00000002);
              } else {
                ensureVariableIsMutable();
                variable_.addAll(other.variable_);
              }
              onChanged();
            }
          } else {
            if (!other.variable_.isEmpty()) {
              if (variableBuilder_.isEmpty()) {
                variableBuilder_.dispose();
                variableBuilder_ = null;
                variable_ = other.variable_;
                bitField0_ = (bitField0_ & ~0x00000002);
                variableBuilder_ = 
                  com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                     getVariableFieldBuilder() : null;
              } else {
                variableBuilder_.addAllMessages(other.variable_);
              }
            }
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          if (hasOperationTemplate()) {
            if (!getOperationTemplate().isInitialized()) {
              return false;
            }
          }
          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: {
                  input.readMessage(
                      getOperationTemplateFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 18: {
                  in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField m =
                      input.readMessage(
                          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.parser(),
                          extensionRegistry);
                  if (variableBuilder_ == null) {
                    ensureVariableIsMutable();
                    variable_.add(m);
                  } else {
                    variableBuilder_.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 in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID operationTemplate_;
        private com.google.protobuf.SingleFieldBuilder<
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> operationTemplateBuilder_;
        /**
         * optional .CMsgProtoDefID operation_template = 1 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION];
         * @return Whether the operationTemplate field is set.
         */
        public boolean hasOperationTemplate() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * optional .CMsgProtoDefID operation_template = 1 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION];
         * @return The operationTemplate.
         */
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getOperationTemplate() {
          if (operationTemplateBuilder_ == null) {
            return operationTemplate_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : operationTemplate_;
          } else {
            return operationTemplateBuilder_.getMessage();
          }
        }
        /**
         * optional .CMsgProtoDefID operation_template = 1 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION];
         */
        public Builder setOperationTemplate(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
          if (operationTemplateBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            operationTemplate_ = value;
          } else {
            operationTemplateBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * optional .CMsgProtoDefID operation_template = 1 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION];
         */
        public Builder setOperationTemplate(
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder builderForValue) {
          if (operationTemplateBuilder_ == null) {
            operationTemplate_ = builderForValue.build();
          } else {
            operationTemplateBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * optional .CMsgProtoDefID operation_template = 1 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION];
         */
        public Builder mergeOperationTemplate(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
          if (operationTemplateBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0) &&
              operationTemplate_ != null &&
              operationTemplate_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance()) {
              getOperationTemplateBuilder().mergeFrom(value);
            } else {
              operationTemplate_ = value;
            }
          } else {
            operationTemplateBuilder_.mergeFrom(value);
          }
          if (operationTemplate_ != null) {
            bitField0_ |= 0x00000001;
            onChanged();
          }
          return this;
        }
        /**
         * optional .CMsgProtoDefID operation_template = 1 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION];
         */
        public Builder clearOperationTemplate() {
          bitField0_ = (bitField0_ & ~0x00000001);
          operationTemplate_ = null;
          if (operationTemplateBuilder_ != null) {
            operationTemplateBuilder_.dispose();
            operationTemplateBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * optional .CMsgProtoDefID operation_template = 1 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION];
         */
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder getOperationTemplateBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getOperationTemplateFieldBuilder().getBuilder();
        }
        /**
         * optional .CMsgProtoDefID operation_template = 1 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION];
         */
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getOperationTemplateOrBuilder() {
          if (operationTemplateBuilder_ != null) {
            return operationTemplateBuilder_.getMessageOrBuilder();
          } else {
            return operationTemplate_ == null ?
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : operationTemplate_;
          }
        }
        /**
         * optional .CMsgProtoDefID operation_template = 1 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION];
         */
        private com.google.protobuf.SingleFieldBuilder<
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> 
            getOperationTemplateFieldBuilder() {
          if (operationTemplateBuilder_ == null) {
            operationTemplateBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder>(
                    getOperationTemplate(),
                    getParentForChildren(),
                    isClean());
            operationTemplate_ = null;
          }
          return operationTemplateBuilder_;
        }

        private java.util.List variable_ =
          java.util.Collections.emptyList();
        private void ensureVariableIsMutable() {
          if (!((bitField0_ & 0x00000002) != 0)) {
            variable_ = new java.util.ArrayList(variable_);
            bitField0_ |= 0x00000002;
           }
        }

        private com.google.protobuf.RepeatedFieldBuilder<
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> variableBuilder_;

        /**
         * repeated .CMsgVarField variable = 2 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
         */
        public java.util.List getVariableList() {
          if (variableBuilder_ == null) {
            return java.util.Collections.unmodifiableList(variable_);
          } else {
            return variableBuilder_.getMessageList();
          }
        }
        /**
         * repeated .CMsgVarField variable = 2 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
         */
        public int getVariableCount() {
          if (variableBuilder_ == null) {
            return variable_.size();
          } else {
            return variableBuilder_.getCount();
          }
        }
        /**
         * repeated .CMsgVarField variable = 2 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
         */
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getVariable(int index) {
          if (variableBuilder_ == null) {
            return variable_.get(index);
          } else {
            return variableBuilder_.getMessage(index);
          }
        }
        /**
         * repeated .CMsgVarField variable = 2 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
         */
        public Builder setVariable(
            int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
          if (variableBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureVariableIsMutable();
            variable_.set(index, value);
            onChanged();
          } else {
            variableBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * repeated .CMsgVarField variable = 2 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
         */
        public Builder setVariable(
            int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
          if (variableBuilder_ == null) {
            ensureVariableIsMutable();
            variable_.set(index, builderForValue.build());
            onChanged();
          } else {
            variableBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * repeated .CMsgVarField variable = 2 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
         */
        public Builder addVariable(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
          if (variableBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureVariableIsMutable();
            variable_.add(value);
            onChanged();
          } else {
            variableBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * repeated .CMsgVarField variable = 2 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
         */
        public Builder addVariable(
            int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
          if (variableBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureVariableIsMutable();
            variable_.add(index, value);
            onChanged();
          } else {
            variableBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * repeated .CMsgVarField variable = 2 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
         */
        public Builder addVariable(
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
          if (variableBuilder_ == null) {
            ensureVariableIsMutable();
            variable_.add(builderForValue.build());
            onChanged();
          } else {
            variableBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * repeated .CMsgVarField variable = 2 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
         */
        public Builder addVariable(
            int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
          if (variableBuilder_ == null) {
            ensureVariableIsMutable();
            variable_.add(index, builderForValue.build());
            onChanged();
          } else {
            variableBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * repeated .CMsgVarField variable = 2 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
         */
        public Builder addAllVariable(
            java.lang.Iterable values) {
          if (variableBuilder_ == null) {
            ensureVariableIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, variable_);
            onChanged();
          } else {
            variableBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * repeated .CMsgVarField variable = 2 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
         */
        public Builder clearVariable() {
          if (variableBuilder_ == null) {
            variable_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000002);
            onChanged();
          } else {
            variableBuilder_.clear();
          }
          return this;
        }
        /**
         * repeated .CMsgVarField variable = 2 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
         */
        public Builder removeVariable(int index) {
          if (variableBuilder_ == null) {
            ensureVariableIsMutable();
            variable_.remove(index);
            onChanged();
          } else {
            variableBuilder_.remove(index);
          }
          return this;
        }
        /**
         * repeated .CMsgVarField variable = 2 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
         */
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getVariableBuilder(
            int index) {
          return getVariableFieldBuilder().getBuilder(index);
        }
        /**
         * repeated .CMsgVarField variable = 2 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
         */
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getVariableOrBuilder(
            int index) {
          if (variableBuilder_ == null) {
            return variable_.get(index);  } else {
            return variableBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * repeated .CMsgVarField variable = 2 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
         */
        public java.util.List 
             getVariableOrBuilderList() {
          if (variableBuilder_ != null) {
            return variableBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(variable_);
          }
        }
        /**
         * repeated .CMsgVarField variable = 2 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
         */
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder addVariableBuilder() {
          return getVariableFieldBuilder().addBuilder(
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance());
        }
        /**
         * repeated .CMsgVarField variable = 2 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
         */
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder addVariableBuilder(
            int index) {
          return getVariableFieldBuilder().addBuilder(
              index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance());
        }
        /**
         * repeated .CMsgVarField variable = 2 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
         */
        public java.util.List 
             getVariableBuilderList() {
          return getVariableFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilder<
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
            getVariableFieldBuilder() {
          if (variableBuilder_ == null) {
            variableBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                    variable_,
                    ((bitField0_ & 0x00000002) != 0),
                    getParentForChildren(),
                    isClean());
            variable_ = null;
          }
          return variableBuilder_;
        }

        // @@protoc_insertion_point(builder_scope:CMsgPaintKit_ItemDefinition.Definition)
      }

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

      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

    }

    private int bitField0_;
    public static final int HEADER_FIELD_NUMBER = 1;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader header_;
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return Whether the header field is set.
     */
    @java.lang.Override
    public boolean hasHeader() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return The header.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader() {
      return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
    }
    /**
     * required .CMsgProtoDefHeader header = 1;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder() {
      return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
    }

    public static final int ITEM_DEFINITION_INDEX_FIELD_NUMBER = 2;
    private int itemDefinitionIndex_ = 0;
    /**
     * required uint32 item_definition_index = 2;
     * @return Whether the itemDefinitionIndex field is set.
     */
    @java.lang.Override
    public boolean hasItemDefinitionIndex() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * required uint32 item_definition_index = 2;
     * @return The itemDefinitionIndex.
     */
    @java.lang.Override
    public int getItemDefinitionIndex() {
      return itemDefinitionIndex_;
    }

    public static final int VARIABLE_TEMPLATE_FIELD_NUMBER = 3;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID variableTemplate_;
    /**
     * optional .CMsgProtoDefID variable_template = 3 [(.valid_type) = DEF_TYPE_PAINTKIT_VARIABLES, (.inherit_reference_variables) = true];
     * @return Whether the variableTemplate field is set.
     */
    @java.lang.Override
    public boolean hasVariableTemplate() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional .CMsgProtoDefID variable_template = 3 [(.valid_type) = DEF_TYPE_PAINTKIT_VARIABLES, (.inherit_reference_variables) = true];
     * @return The variableTemplate.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getVariableTemplate() {
      return variableTemplate_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : variableTemplate_;
    }
    /**
     * optional .CMsgProtoDefID variable_template = 3 [(.valid_type) = DEF_TYPE_PAINTKIT_VARIABLES, (.inherit_reference_variables) = true];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getVariableTemplateOrBuilder() {
      return variableTemplate_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : variableTemplate_;
    }

    public static final int DEFINITION_FIELD_NUMBER = 4;
    @SuppressWarnings("serial")
    private java.util.List definition_;
    /**
     * repeated .CMsgPaintKit_ItemDefinition.Definition definition = 4 [(.max_count) = 5];
     */
    @java.lang.Override
    public java.util.List getDefinitionList() {
      return definition_;
    }
    /**
     * repeated .CMsgPaintKit_ItemDefinition.Definition definition = 4 [(.max_count) = 5];
     */
    @java.lang.Override
    public java.util.List 
        getDefinitionOrBuilderList() {
      return definition_;
    }
    /**
     * repeated .CMsgPaintKit_ItemDefinition.Definition definition = 4 [(.max_count) = 5];
     */
    @java.lang.Override
    public int getDefinitionCount() {
      return definition_.size();
    }
    /**
     * repeated .CMsgPaintKit_ItemDefinition.Definition definition = 4 [(.max_count) = 5];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition getDefinition(int index) {
      return definition_.get(index);
    }
    /**
     * repeated .CMsgPaintKit_ItemDefinition.Definition definition = 4 [(.max_count) = 5];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.DefinitionOrBuilder getDefinitionOrBuilder(
        int index) {
      return definition_.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;

      if (!hasHeader()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasItemDefinitionIndex()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getHeader().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (hasVariableTemplate()) {
        if (!getVariableTemplate().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getDefinitionCount(); i++) {
        if (!getDefinition(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getHeader());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeUInt32(2, itemDefinitionIndex_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeMessage(3, getVariableTemplate());
      }
      for (int i = 0; i < definition_.size(); i++) {
        output.writeMessage(4, definition_.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
          .computeMessageSize(1, getHeader());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, itemDefinitionIndex_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getVariableTemplate());
      }
      for (int i = 0; i < definition_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, definition_.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.TfProtoDefMessages.CMsgPaintKit_ItemDefinition)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition) obj;

      if (hasHeader() != other.hasHeader()) return false;
      if (hasHeader()) {
        if (!getHeader()
            .equals(other.getHeader())) return false;
      }
      if (hasItemDefinitionIndex() != other.hasItemDefinitionIndex()) return false;
      if (hasItemDefinitionIndex()) {
        if (getItemDefinitionIndex()
            != other.getItemDefinitionIndex()) return false;
      }
      if (hasVariableTemplate() != other.hasVariableTemplate()) return false;
      if (hasVariableTemplate()) {
        if (!getVariableTemplate()
            .equals(other.getVariableTemplate())) return false;
      }
      if (!getDefinitionList()
          .equals(other.getDefinitionList())) 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 (hasHeader()) {
        hash = (37 * hash) + HEADER_FIELD_NUMBER;
        hash = (53 * hash) + getHeader().hashCode();
      }
      if (hasItemDefinitionIndex()) {
        hash = (37 * hash) + ITEM_DEFINITION_INDEX_FIELD_NUMBER;
        hash = (53 * hash) + getItemDefinitionIndex();
      }
      if (hasVariableTemplate()) {
        hash = (37 * hash) + VARIABLE_TEMPLATE_FIELD_NUMBER;
        hash = (53 * hash) + getVariableTemplate().hashCode();
      }
      if (getDefinitionCount() > 0) {
        hash = (37 * hash) + DEFINITION_FIELD_NUMBER;
        hash = (53 * hash) + getDefinitionList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition 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.TfProtoDefMessages.CMsgPaintKit_ItemDefinition parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition 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.TfProtoDefMessages.CMsgPaintKit_ItemDefinition parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition 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.TfProtoDefMessages.CMsgPaintKit_ItemDefinition parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition 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.TfProtoDefMessages.CMsgPaintKit_ItemDefinition parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition 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.TfProtoDefMessages.CMsgPaintKit_ItemDefinition 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.TfProtoDefMessages.CMsgPaintKit_ItemDefinition 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.TfProtoDefMessages.CMsgPaintKit_ItemDefinition 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 CMsgPaintKit_ItemDefinition}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgPaintKit_ItemDefinition)
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinitionOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgPaintKit_ItemDefinition_descriptor;
      }

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

      // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage
                .alwaysUseFieldBuilders) {
          getHeaderFieldBuilder();
          getVariableTemplateFieldBuilder();
          getDefinitionFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        header_ = null;
        if (headerBuilder_ != null) {
          headerBuilder_.dispose();
          headerBuilder_ = null;
        }
        itemDefinitionIndex_ = 0;
        variableTemplate_ = null;
        if (variableTemplateBuilder_ != null) {
          variableTemplateBuilder_.dispose();
          variableTemplateBuilder_ = null;
        }
        if (definitionBuilder_ == null) {
          definition_ = java.util.Collections.emptyList();
        } else {
          definition_ = null;
          definitionBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

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

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

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

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

      private void buildPartialRepeatedFields(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition result) {
        if (definitionBuilder_ == null) {
          if (((bitField0_ & 0x00000008) != 0)) {
            definition_ = java.util.Collections.unmodifiableList(definition_);
            bitField0_ = (bitField0_ & ~0x00000008);
          }
          result.definition_ = definition_;
        } else {
          result.definition_ = definitionBuilder_.build();
        }
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.header_ = headerBuilder_ == null
              ? header_
              : headerBuilder_.build();
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.itemDefinitionIndex_ = itemDefinitionIndex_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.variableTemplate_ = variableTemplateBuilder_ == null
              ? variableTemplate_
              : variableTemplateBuilder_.build();
          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.TfProtoDefMessages.CMsgPaintKit_ItemDefinition) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.getDefaultInstance()) return this;
        if (other.hasHeader()) {
          mergeHeader(other.getHeader());
        }
        if (other.hasItemDefinitionIndex()) {
          setItemDefinitionIndex(other.getItemDefinitionIndex());
        }
        if (other.hasVariableTemplate()) {
          mergeVariableTemplate(other.getVariableTemplate());
        }
        if (definitionBuilder_ == null) {
          if (!other.definition_.isEmpty()) {
            if (definition_.isEmpty()) {
              definition_ = other.definition_;
              bitField0_ = (bitField0_ & ~0x00000008);
            } else {
              ensureDefinitionIsMutable();
              definition_.addAll(other.definition_);
            }
            onChanged();
          }
        } else {
          if (!other.definition_.isEmpty()) {
            if (definitionBuilder_.isEmpty()) {
              definitionBuilder_.dispose();
              definitionBuilder_ = null;
              definition_ = other.definition_;
              bitField0_ = (bitField0_ & ~0x00000008);
              definitionBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getDefinitionFieldBuilder() : null;
            } else {
              definitionBuilder_.addAllMessages(other.definition_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasHeader()) {
          return false;
        }
        if (!hasItemDefinitionIndex()) {
          return false;
        }
        if (!getHeader().isInitialized()) {
          return false;
        }
        if (hasVariableTemplate()) {
          if (!getVariableTemplate().isInitialized()) {
            return false;
          }
        }
        for (int i = 0; i < getDefinitionCount(); i++) {
          if (!getDefinition(i).isInitialized()) {
            return false;
          }
        }
        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: {
                input.readMessage(
                    getHeaderFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 16: {
                itemDefinitionIndex_ = input.readUInt32();
                bitField0_ |= 0x00000002;
                break;
              } // case 16
              case 26: {
                input.readMessage(
                    getVariableTemplateFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000004;
                break;
              } // case 26
              case 34: {
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition.parser(),
                        extensionRegistry);
                if (definitionBuilder_ == null) {
                  ensureDefinitionIsMutable();
                  definition_.add(m);
                } else {
                  definitionBuilder_.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 in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader header_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder> headerBuilder_;
      /**
       * required .CMsgProtoDefHeader header = 1;
       * @return Whether the header field is set.
       */
      public boolean hasHeader() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       * @return The header.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader() {
        if (headerBuilder_ == null) {
          return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
        } else {
          return headerBuilder_.getMessage();
        }
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder setHeader(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader value) {
        if (headerBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          header_ = value;
        } else {
          headerBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder setHeader(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder builderForValue) {
        if (headerBuilder_ == null) {
          header_ = builderForValue.build();
        } else {
          headerBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder mergeHeader(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader value) {
        if (headerBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
            header_ != null &&
            header_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance()) {
            getHeaderBuilder().mergeFrom(value);
          } else {
            header_ = value;
          }
        } else {
          headerBuilder_.mergeFrom(value);
        }
        if (header_ != null) {
          bitField0_ |= 0x00000001;
          onChanged();
        }
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder clearHeader() {
        bitField0_ = (bitField0_ & ~0x00000001);
        header_ = null;
        if (headerBuilder_ != null) {
          headerBuilder_.dispose();
          headerBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder getHeaderBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getHeaderFieldBuilder().getBuilder();
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder() {
        if (headerBuilder_ != null) {
          return headerBuilder_.getMessageOrBuilder();
        } else {
          return header_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
        }
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder> 
          getHeaderFieldBuilder() {
        if (headerBuilder_ == null) {
          headerBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder>(
                  getHeader(),
                  getParentForChildren(),
                  isClean());
          header_ = null;
        }
        return headerBuilder_;
      }

      private int itemDefinitionIndex_ ;
      /**
       * required uint32 item_definition_index = 2;
       * @return Whether the itemDefinitionIndex field is set.
       */
      @java.lang.Override
      public boolean hasItemDefinitionIndex() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * required uint32 item_definition_index = 2;
       * @return The itemDefinitionIndex.
       */
      @java.lang.Override
      public int getItemDefinitionIndex() {
        return itemDefinitionIndex_;
      }
      /**
       * required uint32 item_definition_index = 2;
       * @param value The itemDefinitionIndex to set.
       * @return This builder for chaining.
       */
      public Builder setItemDefinitionIndex(int value) {

        itemDefinitionIndex_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * required uint32 item_definition_index = 2;
       * @return This builder for chaining.
       */
      public Builder clearItemDefinitionIndex() {
        bitField0_ = (bitField0_ & ~0x00000002);
        itemDefinitionIndex_ = 0;
        onChanged();
        return this;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID variableTemplate_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> variableTemplateBuilder_;
      /**
       * optional .CMsgProtoDefID variable_template = 3 [(.valid_type) = DEF_TYPE_PAINTKIT_VARIABLES, (.inherit_reference_variables) = true];
       * @return Whether the variableTemplate field is set.
       */
      public boolean hasVariableTemplate() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional .CMsgProtoDefID variable_template = 3 [(.valid_type) = DEF_TYPE_PAINTKIT_VARIABLES, (.inherit_reference_variables) = true];
       * @return The variableTemplate.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getVariableTemplate() {
        if (variableTemplateBuilder_ == null) {
          return variableTemplate_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : variableTemplate_;
        } else {
          return variableTemplateBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgProtoDefID variable_template = 3 [(.valid_type) = DEF_TYPE_PAINTKIT_VARIABLES, (.inherit_reference_variables) = true];
       */
      public Builder setVariableTemplate(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
        if (variableTemplateBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          variableTemplate_ = value;
        } else {
          variableTemplateBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgProtoDefID variable_template = 3 [(.valid_type) = DEF_TYPE_PAINTKIT_VARIABLES, (.inherit_reference_variables) = true];
       */
      public Builder setVariableTemplate(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder builderForValue) {
        if (variableTemplateBuilder_ == null) {
          variableTemplate_ = builderForValue.build();
        } else {
          variableTemplateBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgProtoDefID variable_template = 3 [(.valid_type) = DEF_TYPE_PAINTKIT_VARIABLES, (.inherit_reference_variables) = true];
       */
      public Builder mergeVariableTemplate(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
        if (variableTemplateBuilder_ == null) {
          if (((bitField0_ & 0x00000004) != 0) &&
            variableTemplate_ != null &&
            variableTemplate_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance()) {
            getVariableTemplateBuilder().mergeFrom(value);
          } else {
            variableTemplate_ = value;
          }
        } else {
          variableTemplateBuilder_.mergeFrom(value);
        }
        if (variableTemplate_ != null) {
          bitField0_ |= 0x00000004;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgProtoDefID variable_template = 3 [(.valid_type) = DEF_TYPE_PAINTKIT_VARIABLES, (.inherit_reference_variables) = true];
       */
      public Builder clearVariableTemplate() {
        bitField0_ = (bitField0_ & ~0x00000004);
        variableTemplate_ = null;
        if (variableTemplateBuilder_ != null) {
          variableTemplateBuilder_.dispose();
          variableTemplateBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgProtoDefID variable_template = 3 [(.valid_type) = DEF_TYPE_PAINTKIT_VARIABLES, (.inherit_reference_variables) = true];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder getVariableTemplateBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getVariableTemplateFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgProtoDefID variable_template = 3 [(.valid_type) = DEF_TYPE_PAINTKIT_VARIABLES, (.inherit_reference_variables) = true];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getVariableTemplateOrBuilder() {
        if (variableTemplateBuilder_ != null) {
          return variableTemplateBuilder_.getMessageOrBuilder();
        } else {
          return variableTemplate_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : variableTemplate_;
        }
      }
      /**
       * optional .CMsgProtoDefID variable_template = 3 [(.valid_type) = DEF_TYPE_PAINTKIT_VARIABLES, (.inherit_reference_variables) = true];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> 
          getVariableTemplateFieldBuilder() {
        if (variableTemplateBuilder_ == null) {
          variableTemplateBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder>(
                  getVariableTemplate(),
                  getParentForChildren(),
                  isClean());
          variableTemplate_ = null;
        }
        return variableTemplateBuilder_;
      }

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

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.DefinitionOrBuilder> definitionBuilder_;

      /**
       * repeated .CMsgPaintKit_ItemDefinition.Definition definition = 4 [(.max_count) = 5];
       */
      public java.util.List getDefinitionList() {
        if (definitionBuilder_ == null) {
          return java.util.Collections.unmodifiableList(definition_);
        } else {
          return definitionBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CMsgPaintKit_ItemDefinition.Definition definition = 4 [(.max_count) = 5];
       */
      public int getDefinitionCount() {
        if (definitionBuilder_ == null) {
          return definition_.size();
        } else {
          return definitionBuilder_.getCount();
        }
      }
      /**
       * repeated .CMsgPaintKit_ItemDefinition.Definition definition = 4 [(.max_count) = 5];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition getDefinition(int index) {
        if (definitionBuilder_ == null) {
          return definition_.get(index);
        } else {
          return definitionBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CMsgPaintKit_ItemDefinition.Definition definition = 4 [(.max_count) = 5];
       */
      public Builder setDefinition(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition value) {
        if (definitionBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDefinitionIsMutable();
          definition_.set(index, value);
          onChanged();
        } else {
          definitionBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_ItemDefinition.Definition definition = 4 [(.max_count) = 5];
       */
      public Builder setDefinition(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition.Builder builderForValue) {
        if (definitionBuilder_ == null) {
          ensureDefinitionIsMutable();
          definition_.set(index, builderForValue.build());
          onChanged();
        } else {
          definitionBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_ItemDefinition.Definition definition = 4 [(.max_count) = 5];
       */
      public Builder addDefinition(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition value) {
        if (definitionBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDefinitionIsMutable();
          definition_.add(value);
          onChanged();
        } else {
          definitionBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_ItemDefinition.Definition definition = 4 [(.max_count) = 5];
       */
      public Builder addDefinition(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition value) {
        if (definitionBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDefinitionIsMutable();
          definition_.add(index, value);
          onChanged();
        } else {
          definitionBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_ItemDefinition.Definition definition = 4 [(.max_count) = 5];
       */
      public Builder addDefinition(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition.Builder builderForValue) {
        if (definitionBuilder_ == null) {
          ensureDefinitionIsMutable();
          definition_.add(builderForValue.build());
          onChanged();
        } else {
          definitionBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_ItemDefinition.Definition definition = 4 [(.max_count) = 5];
       */
      public Builder addDefinition(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition.Builder builderForValue) {
        if (definitionBuilder_ == null) {
          ensureDefinitionIsMutable();
          definition_.add(index, builderForValue.build());
          onChanged();
        } else {
          definitionBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_ItemDefinition.Definition definition = 4 [(.max_count) = 5];
       */
      public Builder addAllDefinition(
          java.lang.Iterable values) {
        if (definitionBuilder_ == null) {
          ensureDefinitionIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, definition_);
          onChanged();
        } else {
          definitionBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_ItemDefinition.Definition definition = 4 [(.max_count) = 5];
       */
      public Builder clearDefinition() {
        if (definitionBuilder_ == null) {
          definition_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
          onChanged();
        } else {
          definitionBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_ItemDefinition.Definition definition = 4 [(.max_count) = 5];
       */
      public Builder removeDefinition(int index) {
        if (definitionBuilder_ == null) {
          ensureDefinitionIsMutable();
          definition_.remove(index);
          onChanged();
        } else {
          definitionBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_ItemDefinition.Definition definition = 4 [(.max_count) = 5];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition.Builder getDefinitionBuilder(
          int index) {
        return getDefinitionFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CMsgPaintKit_ItemDefinition.Definition definition = 4 [(.max_count) = 5];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.DefinitionOrBuilder getDefinitionOrBuilder(
          int index) {
        if (definitionBuilder_ == null) {
          return definition_.get(index);  } else {
          return definitionBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CMsgPaintKit_ItemDefinition.Definition definition = 4 [(.max_count) = 5];
       */
      public java.util.List 
           getDefinitionOrBuilderList() {
        if (definitionBuilder_ != null) {
          return definitionBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(definition_);
        }
      }
      /**
       * repeated .CMsgPaintKit_ItemDefinition.Definition definition = 4 [(.max_count) = 5];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition.Builder addDefinitionBuilder() {
        return getDefinitionFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition.getDefaultInstance());
      }
      /**
       * repeated .CMsgPaintKit_ItemDefinition.Definition definition = 4 [(.max_count) = 5];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition.Builder addDefinitionBuilder(
          int index) {
        return getDefinitionFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition.getDefaultInstance());
      }
      /**
       * repeated .CMsgPaintKit_ItemDefinition.Definition definition = 4 [(.max_count) = 5];
       */
      public java.util.List 
           getDefinitionBuilderList() {
        return getDefinitionFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.DefinitionOrBuilder> 
          getDefinitionFieldBuilder() {
        if (definitionBuilder_ == null) {
          definitionBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.Definition.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_ItemDefinition.DefinitionOrBuilder>(
                  definition_,
                  ((bitField0_ & 0x00000008) != 0),
                  getParentForChildren(),
                  isClean());
          definition_ = null;
        }
        return definitionBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgPaintKit_ItemDefinition)
    }

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

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

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

  }

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

    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return Whether the header field is set.
     */
    boolean hasHeader();
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return The header.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader();
    /**
     * required .CMsgProtoDefHeader header = 1;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder();

    /**
     * optional string loc_desctoken = 2 [(.localized) = true];
     * @return Whether the locDesctoken field is set.
     */
    boolean hasLocDesctoken();
    /**
     * optional string loc_desctoken = 2 [(.localized) = true];
     * @return The locDesctoken.
     */
    java.lang.String getLocDesctoken();
    /**
     * optional string loc_desctoken = 2 [(.localized) = true];
     * @return The bytes for locDesctoken.
     */
    com.google.protobuf.ByteString
        getLocDesctokenBytes();

    /**
     * optional .CMsgProtoDefID operation_template = 3 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (.comment) = "operation template which all items in the list will use unless there\'s operation_template specified in an item_definition", (.inherit_reference_variables) = true];
     * @return Whether the operationTemplate field is set.
     */
    boolean hasOperationTemplate();
    /**
     * optional .CMsgProtoDefID operation_template = 3 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (.comment) = "operation template which all items in the list will use unless there\'s operation_template specified in an item_definition", (.inherit_reference_variables) = true];
     * @return The operationTemplate.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getOperationTemplate();
    /**
     * optional .CMsgProtoDefID operation_template = 3 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (.comment) = "operation template which all items in the list will use unless there\'s operation_template specified in an item_definition", (.inherit_reference_variables) = true];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getOperationTemplateOrBuilder();

    /**
     * optional bool has_team_textures = 4;
     * @return Whether the hasTeamTextures field is set.
     */
    boolean hasHasTeamTextures();
    /**
     * optional bool has_team_textures = 4;
     * @return The hasTeamTextures.
     */
    boolean getHasTeamTextures();

    /**
     * repeated .CMsgPaintKit_Definition.Item item = 5;
     */
    java.util.List 
        getItemList();
    /**
     * repeated .CMsgPaintKit_Definition.Item item = 5;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getItem(int index);
    /**
     * repeated .CMsgPaintKit_Definition.Item item = 5;
     */
    int getItemCount();
    /**
     * repeated .CMsgPaintKit_Definition.Item item = 5;
     */
    java.util.List 
        getItemOrBuilderList();
    /**
     * repeated .CMsgPaintKit_Definition.Item item = 5;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getItemOrBuilder(
        int index);

    /**
     * optional .CMsgPaintKit_Definition.Item paintkit_tool = 6;
     * @return Whether the paintkitTool field is set.
     */
    boolean hasPaintkitTool();
    /**
     * optional .CMsgPaintKit_Definition.Item paintkit_tool = 6;
     * @return The paintkitTool.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getPaintkitTool();
    /**
     * optional .CMsgPaintKit_Definition.Item paintkit_tool = 6;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getPaintkitToolOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item flamethrower = 7;
     * @return Whether the flamethrower field is set.
     */
    boolean hasFlamethrower();
    /**
     * optional .CMsgPaintKit_Definition.Item flamethrower = 7;
     * @return The flamethrower.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getFlamethrower();
    /**
     * optional .CMsgPaintKit_Definition.Item flamethrower = 7;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getFlamethrowerOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item grenadelauncher = 8;
     * @return Whether the grenadelauncher field is set.
     */
    boolean hasGrenadelauncher();
    /**
     * optional .CMsgPaintKit_Definition.Item grenadelauncher = 8;
     * @return The grenadelauncher.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getGrenadelauncher();
    /**
     * optional .CMsgPaintKit_Definition.Item grenadelauncher = 8;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getGrenadelauncherOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item knife = 9;
     * @return Whether the knife field is set.
     */
    boolean hasKnife();
    /**
     * optional .CMsgPaintKit_Definition.Item knife = 9;
     * @return The knife.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getKnife();
    /**
     * optional .CMsgPaintKit_Definition.Item knife = 9;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getKnifeOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item medigun = 10;
     * @return Whether the medigun field is set.
     */
    boolean hasMedigun();
    /**
     * optional .CMsgPaintKit_Definition.Item medigun = 10;
     * @return The medigun.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getMedigun();
    /**
     * optional .CMsgPaintKit_Definition.Item medigun = 10;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getMedigunOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item minigun = 11;
     * @return Whether the minigun field is set.
     */
    boolean hasMinigun();
    /**
     * optional .CMsgPaintKit_Definition.Item minigun = 11;
     * @return The minigun.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getMinigun();
    /**
     * optional .CMsgPaintKit_Definition.Item minigun = 11;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getMinigunOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item pistol = 12;
     * @return Whether the pistol field is set.
     */
    boolean hasPistol();
    /**
     * optional .CMsgPaintKit_Definition.Item pistol = 12;
     * @return The pistol.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getPistol();
    /**
     * optional .CMsgPaintKit_Definition.Item pistol = 12;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getPistolOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item revolver = 13;
     * @return Whether the revolver field is set.
     */
    boolean hasRevolver();
    /**
     * optional .CMsgPaintKit_Definition.Item revolver = 13;
     * @return The revolver.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getRevolver();
    /**
     * optional .CMsgPaintKit_Definition.Item revolver = 13;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getRevolverOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item rocketlauncher = 14;
     * @return Whether the rocketlauncher field is set.
     */
    boolean hasRocketlauncher();
    /**
     * optional .CMsgPaintKit_Definition.Item rocketlauncher = 14;
     * @return The rocketlauncher.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getRocketlauncher();
    /**
     * optional .CMsgPaintKit_Definition.Item rocketlauncher = 14;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getRocketlauncherOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item scattergun = 15;
     * @return Whether the scattergun field is set.
     */
    boolean hasScattergun();
    /**
     * optional .CMsgPaintKit_Definition.Item scattergun = 15;
     * @return The scattergun.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getScattergun();
    /**
     * optional .CMsgPaintKit_Definition.Item scattergun = 15;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getScattergunOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item shotgun = 16;
     * @return Whether the shotgun field is set.
     */
    boolean hasShotgun();
    /**
     * optional .CMsgPaintKit_Definition.Item shotgun = 16;
     * @return The shotgun.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getShotgun();
    /**
     * optional .CMsgPaintKit_Definition.Item shotgun = 16;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getShotgunOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item smg = 17;
     * @return Whether the smg field is set.
     */
    boolean hasSmg();
    /**
     * optional .CMsgPaintKit_Definition.Item smg = 17;
     * @return The smg.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getSmg();
    /**
     * optional .CMsgPaintKit_Definition.Item smg = 17;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getSmgOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item sniperrifle = 18;
     * @return Whether the sniperrifle field is set.
     */
    boolean hasSniperrifle();
    /**
     * optional .CMsgPaintKit_Definition.Item sniperrifle = 18;
     * @return The sniperrifle.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getSniperrifle();
    /**
     * optional .CMsgPaintKit_Definition.Item sniperrifle = 18;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getSniperrifleOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item stickybomb_launcher = 19;
     * @return Whether the stickybombLauncher field is set.
     */
    boolean hasStickybombLauncher();
    /**
     * optional .CMsgPaintKit_Definition.Item stickybomb_launcher = 19;
     * @return The stickybombLauncher.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getStickybombLauncher();
    /**
     * optional .CMsgPaintKit_Definition.Item stickybomb_launcher = 19;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getStickybombLauncherOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item ubersaw = 20;
     * @return Whether the ubersaw field is set.
     */
    boolean hasUbersaw();
    /**
     * optional .CMsgPaintKit_Definition.Item ubersaw = 20;
     * @return The ubersaw.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getUbersaw();
    /**
     * optional .CMsgPaintKit_Definition.Item ubersaw = 20;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getUbersawOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item wrench = 21;
     * @return Whether the wrench field is set.
     */
    boolean hasWrench();
    /**
     * optional .CMsgPaintKit_Definition.Item wrench = 21;
     * @return The wrench.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getWrench();
    /**
     * optional .CMsgPaintKit_Definition.Item wrench = 21;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getWrenchOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item amputator = 22;
     * @return Whether the amputator field is set.
     */
    boolean hasAmputator();
    /**
     * optional .CMsgPaintKit_Definition.Item amputator = 22;
     * @return The amputator.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getAmputator();
    /**
     * optional .CMsgPaintKit_Definition.Item amputator = 22;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getAmputatorOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item atom_launcher = 23;
     * @return Whether the atomLauncher field is set.
     */
    boolean hasAtomLauncher();
    /**
     * optional .CMsgPaintKit_Definition.Item atom_launcher = 23;
     * @return The atomLauncher.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getAtomLauncher();
    /**
     * optional .CMsgPaintKit_Definition.Item atom_launcher = 23;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getAtomLauncherOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item back_scratcher = 24;
     * @return Whether the backScratcher field is set.
     */
    boolean hasBackScratcher();
    /**
     * optional .CMsgPaintKit_Definition.Item back_scratcher = 24;
     * @return The backScratcher.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getBackScratcher();
    /**
     * optional .CMsgPaintKit_Definition.Item back_scratcher = 24;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getBackScratcherOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item battleaxe = 25;
     * @return Whether the battleaxe field is set.
     */
    boolean hasBattleaxe();
    /**
     * optional .CMsgPaintKit_Definition.Item battleaxe = 25;
     * @return The battleaxe.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getBattleaxe();
    /**
     * optional .CMsgPaintKit_Definition.Item battleaxe = 25;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getBattleaxeOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item bazaar_sniper = 26;
     * @return Whether the bazaarSniper field is set.
     */
    boolean hasBazaarSniper();
    /**
     * optional .CMsgPaintKit_Definition.Item bazaar_sniper = 26;
     * @return The bazaarSniper.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getBazaarSniper();
    /**
     * optional .CMsgPaintKit_Definition.Item bazaar_sniper = 26;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getBazaarSniperOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item blackbox = 27;
     * @return Whether the blackbox field is set.
     */
    boolean hasBlackbox();
    /**
     * optional .CMsgPaintKit_Definition.Item blackbox = 27;
     * @return The blackbox.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getBlackbox();
    /**
     * optional .CMsgPaintKit_Definition.Item blackbox = 27;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getBlackboxOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item claidheamohmor = 28;
     * @return Whether the claidheamohmor field is set.
     */
    boolean hasClaidheamohmor();
    /**
     * optional .CMsgPaintKit_Definition.Item claidheamohmor = 28;
     * @return The claidheamohmor.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getClaidheamohmor();
    /**
     * optional .CMsgPaintKit_Definition.Item claidheamohmor = 28;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getClaidheamohmorOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item crusaders_crossbow = 29;
     * @return Whether the crusadersCrossbow field is set.
     */
    boolean hasCrusadersCrossbow();
    /**
     * optional .CMsgPaintKit_Definition.Item crusaders_crossbow = 29;
     * @return The crusadersCrossbow.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getCrusadersCrossbow();
    /**
     * optional .CMsgPaintKit_Definition.Item crusaders_crossbow = 29;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getCrusadersCrossbowOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item degreaser = 30;
     * @return Whether the degreaser field is set.
     */
    boolean hasDegreaser();
    /**
     * optional .CMsgPaintKit_Definition.Item degreaser = 30;
     * @return The degreaser.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getDegreaser();
    /**
     * optional .CMsgPaintKit_Definition.Item degreaser = 30;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getDegreaserOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item demo_cannon = 31;
     * @return Whether the demoCannon field is set.
     */
    boolean hasDemoCannon();
    /**
     * optional .CMsgPaintKit_Definition.Item demo_cannon = 31;
     * @return The demoCannon.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getDemoCannon();
    /**
     * optional .CMsgPaintKit_Definition.Item demo_cannon = 31;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getDemoCannonOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item demo_sultan_sword = 32;
     * @return Whether the demoSultanSword field is set.
     */
    boolean hasDemoSultanSword();
    /**
     * optional .CMsgPaintKit_Definition.Item demo_sultan_sword = 32;
     * @return The demoSultanSword.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getDemoSultanSword();
    /**
     * optional .CMsgPaintKit_Definition.Item demo_sultan_sword = 32;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getDemoSultanSwordOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item detonator = 33;
     * @return Whether the detonator field is set.
     */
    boolean hasDetonator();
    /**
     * optional .CMsgPaintKit_Definition.Item detonator = 33;
     * @return The detonator.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getDetonator();
    /**
     * optional .CMsgPaintKit_Definition.Item detonator = 33;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getDetonatorOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item gatling_gun = 34;
     * @return Whether the gatlingGun field is set.
     */
    boolean hasGatlingGun();
    /**
     * optional .CMsgPaintKit_Definition.Item gatling_gun = 34;
     * @return The gatlingGun.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getGatlingGun();
    /**
     * optional .CMsgPaintKit_Definition.Item gatling_gun = 34;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getGatlingGunOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item holymackerel = 35;
     * @return Whether the holymackerel field is set.
     */
    boolean hasHolymackerel();
    /**
     * optional .CMsgPaintKit_Definition.Item holymackerel = 35;
     * @return The holymackerel.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getHolymackerel();
    /**
     * optional .CMsgPaintKit_Definition.Item holymackerel = 35;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getHolymackerelOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item jag = 36;
     * @return Whether the jag field is set.
     */
    boolean hasJag();
    /**
     * optional .CMsgPaintKit_Definition.Item jag = 36;
     * @return The jag.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getJag();
    /**
     * optional .CMsgPaintKit_Definition.Item jag = 36;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getJagOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item lochnload = 37;
     * @return Whether the lochnload field is set.
     */
    boolean hasLochnload();
    /**
     * optional .CMsgPaintKit_Definition.Item lochnload = 37;
     * @return The lochnload.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getLochnload();
    /**
     * optional .CMsgPaintKit_Definition.Item lochnload = 37;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getLochnloadOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item powerjack = 38;
     * @return Whether the powerjack field is set.
     */
    boolean hasPowerjack();
    /**
     * optional .CMsgPaintKit_Definition.Item powerjack = 38;
     * @return The powerjack.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getPowerjack();
    /**
     * optional .CMsgPaintKit_Definition.Item powerjack = 38;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getPowerjackOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item quadball = 39;
     * @return Whether the quadball field is set.
     */
    boolean hasQuadball();
    /**
     * optional .CMsgPaintKit_Definition.Item quadball = 39;
     * @return The quadball.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getQuadball();
    /**
     * optional .CMsgPaintKit_Definition.Item quadball = 39;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getQuadballOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item reserve_shooter = 40;
     * @return Whether the reserveShooter field is set.
     */
    boolean hasReserveShooter();
    /**
     * optional .CMsgPaintKit_Definition.Item reserve_shooter = 40;
     * @return The reserveShooter.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getReserveShooter();
    /**
     * optional .CMsgPaintKit_Definition.Item reserve_shooter = 40;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getReserveShooterOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item riding_crop = 41;
     * @return Whether the ridingCrop field is set.
     */
    boolean hasRidingCrop();
    /**
     * optional .CMsgPaintKit_Definition.Item riding_crop = 41;
     * @return The ridingCrop.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getRidingCrop();
    /**
     * optional .CMsgPaintKit_Definition.Item riding_crop = 41;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getRidingCropOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item russian_riot = 42;
     * @return Whether the russianRiot field is set.
     */
    boolean hasRussianRiot();
    /**
     * optional .CMsgPaintKit_Definition.Item russian_riot = 42;
     * @return The russianRiot.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getRussianRiot();
    /**
     * optional .CMsgPaintKit_Definition.Item russian_riot = 42;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getRussianRiotOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item scimitar = 43;
     * @return Whether the scimitar field is set.
     */
    boolean hasScimitar();
    /**
     * optional .CMsgPaintKit_Definition.Item scimitar = 43;
     * @return The scimitar.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getScimitar();
    /**
     * optional .CMsgPaintKit_Definition.Item scimitar = 43;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getScimitarOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item scorch_shot = 44;
     * @return Whether the scorchShot field is set.
     */
    boolean hasScorchShot();
    /**
     * optional .CMsgPaintKit_Definition.Item scorch_shot = 44;
     * @return The scorchShot.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getScorchShot();
    /**
     * optional .CMsgPaintKit_Definition.Item scorch_shot = 44;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getScorchShotOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item shortstop = 45;
     * @return Whether the shortstop field is set.
     */
    boolean hasShortstop();
    /**
     * optional .CMsgPaintKit_Definition.Item shortstop = 45;
     * @return The shortstop.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getShortstop();
    /**
     * optional .CMsgPaintKit_Definition.Item shortstop = 45;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getShortstopOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item soda_popper = 46;
     * @return Whether the sodaPopper field is set.
     */
    boolean hasSodaPopper();
    /**
     * optional .CMsgPaintKit_Definition.Item soda_popper = 46;
     * @return The sodaPopper.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getSodaPopper();
    /**
     * optional .CMsgPaintKit_Definition.Item soda_popper = 46;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getSodaPopperOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item tele_shotgun = 47;
     * @return Whether the teleShotgun field is set.
     */
    boolean hasTeleShotgun();
    /**
     * optional .CMsgPaintKit_Definition.Item tele_shotgun = 47;
     * @return The teleShotgun.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getTeleShotgun();
    /**
     * optional .CMsgPaintKit_Definition.Item tele_shotgun = 47;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getTeleShotgunOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item tomislav = 48;
     * @return Whether the tomislav field is set.
     */
    boolean hasTomislav();
    /**
     * optional .CMsgPaintKit_Definition.Item tomislav = 48;
     * @return The tomislav.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getTomislav();
    /**
     * optional .CMsgPaintKit_Definition.Item tomislav = 48;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getTomislavOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item trenchgun = 49;
     * @return Whether the trenchgun field is set.
     */
    boolean hasTrenchgun();
    /**
     * optional .CMsgPaintKit_Definition.Item trenchgun = 49;
     * @return The trenchgun.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getTrenchgun();
    /**
     * optional .CMsgPaintKit_Definition.Item trenchgun = 49;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getTrenchgunOrBuilder();

    /**
     * optional .CMsgPaintKit_Definition.Item winger_pistol = 50;
     * @return Whether the wingerPistol field is set.
     */
    boolean hasWingerPistol();
    /**
     * optional .CMsgPaintKit_Definition.Item winger_pistol = 50;
     * @return The wingerPistol.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getWingerPistol();
    /**
     * optional .CMsgPaintKit_Definition.Item winger_pistol = 50;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getWingerPistolOrBuilder();
  }
  /**
   * Protobuf type {@code CMsgPaintKit_Definition}
   */
  public static final class CMsgPaintKit_Definition extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgPaintKit_Definition)
      CMsgPaintKit_DefinitionOrBuilder {
  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= */ "",
        CMsgPaintKit_Definition.class.getName());
    }
    // Use CMsgPaintKit_Definition.newBuilder() to construct.
    private CMsgPaintKit_Definition(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgPaintKit_Definition() {
      locDesctoken_ = "";
      item_ = java.util.Collections.emptyList();
    }

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

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

    public interface ItemOrBuilder extends
        // @@protoc_insertion_point(interface_extends:CMsgPaintKit_Definition.Item)
        com.google.protobuf.MessageOrBuilder {

      /**
       * required .CMsgProtoDefID item_definition_template = 1 [(.valid_type) = DEF_TYPE_PAINTKIT_ITEM_DEFINITION, (.panel_class_override) = "CPaintKitDefIdFieldProtoEditorField"];
       * @return Whether the itemDefinitionTemplate field is set.
       */
      boolean hasItemDefinitionTemplate();
      /**
       * required .CMsgProtoDefID item_definition_template = 1 [(.valid_type) = DEF_TYPE_PAINTKIT_ITEM_DEFINITION, (.panel_class_override) = "CPaintKitDefIdFieldProtoEditorField"];
       * @return The itemDefinitionTemplate.
       */
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getItemDefinitionTemplate();
      /**
       * required .CMsgProtoDefID item_definition_template = 1 [(.valid_type) = DEF_TYPE_PAINTKIT_ITEM_DEFINITION, (.panel_class_override) = "CPaintKitDefIdFieldProtoEditorField"];
       */
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getItemDefinitionTemplateOrBuilder();

      /**
       * optional .CMsgPaintKit_Definition.Item.ItemData data = 5;
       * @return Whether the data field is set.
       */
      boolean hasData();
      /**
       * optional .CMsgPaintKit_Definition.Item.ItemData data = 5;
       * @return The data.
       */
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData getData();
      /**
       * optional .CMsgPaintKit_Definition.Item.ItemData data = 5;
       */
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemDataOrBuilder getDataOrBuilder();
    }
    /**
     * Protobuf type {@code CMsgPaintKit_Definition.Item}
     */
    public static final class Item extends
        com.google.protobuf.GeneratedMessage implements
        // @@protoc_insertion_point(message_implements:CMsgPaintKit_Definition.Item)
        ItemOrBuilder {
    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= */ "",
          Item.class.getName());
      }
      // Use Item.newBuilder() to construct.
      private Item(com.google.protobuf.GeneratedMessage.Builder builder) {
        super(builder);
      }
      private Item() {
      }

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

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgPaintKit_Definition_Item_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.class, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder.class);
      }

      public interface ItemDataOrBuilder extends
          // @@protoc_insertion_point(interface_extends:CMsgPaintKit_Definition.Item.ItemData)
          com.google.protobuf.MessageOrBuilder {

        /**
         * optional bool can_apply_paintkit = 2 [default = true];
         * @return Whether the canApplyPaintkit field is set.
         */
        boolean hasCanApplyPaintkit();
        /**
         * optional bool can_apply_paintkit = 2 [default = true];
         * @return The canApplyPaintkit.
         */
        boolean getCanApplyPaintkit();

        /**
         * optional string material_override = 3;
         * @return Whether the materialOverride field is set.
         */
        boolean hasMaterialOverride();
        /**
         * optional string material_override = 3;
         * @return The materialOverride.
         */
        java.lang.String getMaterialOverride();
        /**
         * optional string material_override = 3;
         * @return The bytes for materialOverride.
         */
        com.google.protobuf.ByteString
            getMaterialOverrideBytes();

        /**
         * repeated .CMsgVarField variable = 4 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
         */
        java.util.List 
            getVariableList();
        /**
         * repeated .CMsgVarField variable = 4 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
         */
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getVariable(int index);
        /**
         * repeated .CMsgVarField variable = 4 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
         */
        int getVariableCount();
        /**
         * repeated .CMsgVarField variable = 4 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
         */
        java.util.List 
            getVariableOrBuilderList();
        /**
         * repeated .CMsgVarField variable = 4 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
         */
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getVariableOrBuilder(
            int index);
      }
      /**
       * Protobuf type {@code CMsgPaintKit_Definition.Item.ItemData}
       */
      public static final class ItemData extends
          com.google.protobuf.GeneratedMessage implements
          // @@protoc_insertion_point(message_implements:CMsgPaintKit_Definition.Item.ItemData)
          ItemDataOrBuilder {
      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= */ "",
            ItemData.class.getName());
        }
        // Use ItemData.newBuilder() to construct.
        private ItemData(com.google.protobuf.GeneratedMessage.Builder builder) {
          super(builder);
        }
        private ItemData() {
          canApplyPaintkit_ = true;
          materialOverride_ = "";
          variable_ = java.util.Collections.emptyList();
        }

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

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgPaintKit_Definition_Item_ItemData_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData.class, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData.Builder.class);
        }

        private int bitField0_;
        public static final int CAN_APPLY_PAINTKIT_FIELD_NUMBER = 2;
        private boolean canApplyPaintkit_ = true;
        /**
         * optional bool can_apply_paintkit = 2 [default = true];
         * @return Whether the canApplyPaintkit field is set.
         */
        @java.lang.Override
        public boolean hasCanApplyPaintkit() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * optional bool can_apply_paintkit = 2 [default = true];
         * @return The canApplyPaintkit.
         */
        @java.lang.Override
        public boolean getCanApplyPaintkit() {
          return canApplyPaintkit_;
        }

        public static final int MATERIAL_OVERRIDE_FIELD_NUMBER = 3;
        @SuppressWarnings("serial")
        private volatile java.lang.Object materialOverride_ = "";
        /**
         * optional string material_override = 3;
         * @return Whether the materialOverride field is set.
         */
        @java.lang.Override
        public boolean hasMaterialOverride() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * optional string material_override = 3;
         * @return The materialOverride.
         */
        @java.lang.Override
        public java.lang.String getMaterialOverride() {
          java.lang.Object ref = materialOverride_;
          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()) {
              materialOverride_ = s;
            }
            return s;
          }
        }
        /**
         * optional string material_override = 3;
         * @return The bytes for materialOverride.
         */
        @java.lang.Override
        public com.google.protobuf.ByteString
            getMaterialOverrideBytes() {
          java.lang.Object ref = materialOverride_;
          if (ref instanceof java.lang.String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            materialOverride_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }

        public static final int VARIABLE_FIELD_NUMBER = 4;
        @SuppressWarnings("serial")
        private java.util.List variable_;
        /**
         * repeated .CMsgVarField variable = 4 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
         */
        @java.lang.Override
        public java.util.List getVariableList() {
          return variable_;
        }
        /**
         * repeated .CMsgVarField variable = 4 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
         */
        @java.lang.Override
        public java.util.List 
            getVariableOrBuilderList() {
          return variable_;
        }
        /**
         * repeated .CMsgVarField variable = 4 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
         */
        @java.lang.Override
        public int getVariableCount() {
          return variable_.size();
        }
        /**
         * repeated .CMsgVarField variable = 4 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
         */
        @java.lang.Override
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getVariable(int index) {
          return variable_.get(index);
        }
        /**
         * repeated .CMsgVarField variable = 4 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
         */
        @java.lang.Override
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getVariableOrBuilder(
            int index) {
          return variable_.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.writeBool(2, canApplyPaintkit_);
          }
          if (((bitField0_ & 0x00000002) != 0)) {
            com.google.protobuf.GeneratedMessage.writeString(output, 3, materialOverride_);
          }
          for (int i = 0; i < variable_.size(); i++) {
            output.writeMessage(4, variable_.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
              .computeBoolSize(2, canApplyPaintkit_);
          }
          if (((bitField0_ & 0x00000002) != 0)) {
            size += com.google.protobuf.GeneratedMessage.computeStringSize(3, materialOverride_);
          }
          for (int i = 0; i < variable_.size(); i++) {
            size += com.google.protobuf.CodedOutputStream
              .computeMessageSize(4, variable_.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.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData)) {
            return super.equals(obj);
          }
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData) obj;

          if (hasCanApplyPaintkit() != other.hasCanApplyPaintkit()) return false;
          if (hasCanApplyPaintkit()) {
            if (getCanApplyPaintkit()
                != other.getCanApplyPaintkit()) return false;
          }
          if (hasMaterialOverride() != other.hasMaterialOverride()) return false;
          if (hasMaterialOverride()) {
            if (!getMaterialOverride()
                .equals(other.getMaterialOverride())) return false;
          }
          if (!getVariableList()
              .equals(other.getVariableList())) 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 (hasCanApplyPaintkit()) {
            hash = (37 * hash) + CAN_APPLY_PAINTKIT_FIELD_NUMBER;
            hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
                getCanApplyPaintkit());
          }
          if (hasMaterialOverride()) {
            hash = (37 * hash) + MATERIAL_OVERRIDE_FIELD_NUMBER;
            hash = (53 * hash) + getMaterialOverride().hashCode();
          }
          if (getVariableCount() > 0) {
            hash = (37 * hash) + VARIABLE_FIELD_NUMBER;
            hash = (53 * hash) + getVariableList().hashCode();
          }
          hash = (29 * hash) + getUnknownFields().hashCode();
          memoizedHashCode = hash;
          return hash;
        }

        public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData parseFrom(
            java.nio.ByteBuffer data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData 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.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData parseFrom(
            com.google.protobuf.ByteString data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData 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.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData parseFrom(byte[] data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData 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.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessage
              .parseWithIOException(PARSER, input);
        }
        public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData 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.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessage
              .parseDelimitedWithIOException(PARSER, input);
        }

        public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData 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.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData 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.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData 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.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData 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 CMsgPaintKit_Definition.Item.ItemData}
         */
        public static final class Builder extends
            com.google.protobuf.GeneratedMessage.Builder implements
            // @@protoc_insertion_point(builder_implements:CMsgPaintKit_Definition.Item.ItemData)
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemDataOrBuilder {
          public static final com.google.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgPaintKit_Definition_Item_ItemData_descriptor;
          }

          @java.lang.Override
          protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgPaintKit_Definition_Item_ItemData_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData.class, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData.Builder.class);
          }

          // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData.newBuilder()
          private Builder() {

          }

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

          }
          @java.lang.Override
          public Builder clear() {
            super.clear();
            bitField0_ = 0;
            canApplyPaintkit_ = true;
            materialOverride_ = "";
            if (variableBuilder_ == null) {
              variable_ = java.util.Collections.emptyList();
            } else {
              variable_ = null;
              variableBuilder_.clear();
            }
            bitField0_ = (bitField0_ & ~0x00000004);
            return this;
          }

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

          @java.lang.Override
          public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData getDefaultInstanceForType() {
            return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData.getDefaultInstance();
          }

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

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

          private void buildPartialRepeatedFields(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData result) {
            if (variableBuilder_ == null) {
              if (((bitField0_ & 0x00000004) != 0)) {
                variable_ = java.util.Collections.unmodifiableList(variable_);
                bitField0_ = (bitField0_ & ~0x00000004);
              }
              result.variable_ = variable_;
            } else {
              result.variable_ = variableBuilder_.build();
            }
          }

          private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData result) {
            int from_bitField0_ = bitField0_;
            int to_bitField0_ = 0;
            if (((from_bitField0_ & 0x00000001) != 0)) {
              result.canApplyPaintkit_ = canApplyPaintkit_;
              to_bitField0_ |= 0x00000001;
            }
            if (((from_bitField0_ & 0x00000002) != 0)) {
              result.materialOverride_ = materialOverride_;
              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.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData) {
              return mergeFrom((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData)other);
            } else {
              super.mergeFrom(other);
              return this;
            }
          }

          public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData other) {
            if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData.getDefaultInstance()) return this;
            if (other.hasCanApplyPaintkit()) {
              setCanApplyPaintkit(other.getCanApplyPaintkit());
            }
            if (other.hasMaterialOverride()) {
              materialOverride_ = other.materialOverride_;
              bitField0_ |= 0x00000002;
              onChanged();
            }
            if (variableBuilder_ == null) {
              if (!other.variable_.isEmpty()) {
                if (variable_.isEmpty()) {
                  variable_ = other.variable_;
                  bitField0_ = (bitField0_ & ~0x00000004);
                } else {
                  ensureVariableIsMutable();
                  variable_.addAll(other.variable_);
                }
                onChanged();
              }
            } else {
              if (!other.variable_.isEmpty()) {
                if (variableBuilder_.isEmpty()) {
                  variableBuilder_.dispose();
                  variableBuilder_ = null;
                  variable_ = other.variable_;
                  bitField0_ = (bitField0_ & ~0x00000004);
                  variableBuilder_ = 
                    com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                       getVariableFieldBuilder() : null;
                } else {
                  variableBuilder_.addAllMessages(other.variable_);
                }
              }
            }
            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: {
                    canApplyPaintkit_ = input.readBool();
                    bitField0_ |= 0x00000001;
                    break;
                  } // case 16
                  case 26: {
                    materialOverride_ = input.readBytes();
                    bitField0_ |= 0x00000002;
                    break;
                  } // case 26
                  case 34: {
                    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField m =
                        input.readMessage(
                            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.parser(),
                            extensionRegistry);
                    if (variableBuilder_ == null) {
                      ensureVariableIsMutable();
                      variable_.add(m);
                    } else {
                      variableBuilder_.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 boolean canApplyPaintkit_ = true;
          /**
           * optional bool can_apply_paintkit = 2 [default = true];
           * @return Whether the canApplyPaintkit field is set.
           */
          @java.lang.Override
          public boolean hasCanApplyPaintkit() {
            return ((bitField0_ & 0x00000001) != 0);
          }
          /**
           * optional bool can_apply_paintkit = 2 [default = true];
           * @return The canApplyPaintkit.
           */
          @java.lang.Override
          public boolean getCanApplyPaintkit() {
            return canApplyPaintkit_;
          }
          /**
           * optional bool can_apply_paintkit = 2 [default = true];
           * @param value The canApplyPaintkit to set.
           * @return This builder for chaining.
           */
          public Builder setCanApplyPaintkit(boolean value) {

            canApplyPaintkit_ = value;
            bitField0_ |= 0x00000001;
            onChanged();
            return this;
          }
          /**
           * optional bool can_apply_paintkit = 2 [default = true];
           * @return This builder for chaining.
           */
          public Builder clearCanApplyPaintkit() {
            bitField0_ = (bitField0_ & ~0x00000001);
            canApplyPaintkit_ = true;
            onChanged();
            return this;
          }

          private java.lang.Object materialOverride_ = "";
          /**
           * optional string material_override = 3;
           * @return Whether the materialOverride field is set.
           */
          public boolean hasMaterialOverride() {
            return ((bitField0_ & 0x00000002) != 0);
          }
          /**
           * optional string material_override = 3;
           * @return The materialOverride.
           */
          public java.lang.String getMaterialOverride() {
            java.lang.Object ref = materialOverride_;
            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()) {
                materialOverride_ = s;
              }
              return s;
            } else {
              return (java.lang.String) ref;
            }
          }
          /**
           * optional string material_override = 3;
           * @return The bytes for materialOverride.
           */
          public com.google.protobuf.ByteString
              getMaterialOverrideBytes() {
            java.lang.Object ref = materialOverride_;
            if (ref instanceof String) {
              com.google.protobuf.ByteString b = 
                  com.google.protobuf.ByteString.copyFromUtf8(
                      (java.lang.String) ref);
              materialOverride_ = b;
              return b;
            } else {
              return (com.google.protobuf.ByteString) ref;
            }
          }
          /**
           * optional string material_override = 3;
           * @param value The materialOverride to set.
           * @return This builder for chaining.
           */
          public Builder setMaterialOverride(
              java.lang.String value) {
            if (value == null) { throw new NullPointerException(); }
            materialOverride_ = value;
            bitField0_ |= 0x00000002;
            onChanged();
            return this;
          }
          /**
           * optional string material_override = 3;
           * @return This builder for chaining.
           */
          public Builder clearMaterialOverride() {
            materialOverride_ = getDefaultInstance().getMaterialOverride();
            bitField0_ = (bitField0_ & ~0x00000002);
            onChanged();
            return this;
          }
          /**
           * optional string material_override = 3;
           * @param value The bytes for materialOverride to set.
           * @return This builder for chaining.
           */
          public Builder setMaterialOverrideBytes(
              com.google.protobuf.ByteString value) {
            if (value == null) { throw new NullPointerException(); }
            materialOverride_ = value;
            bitField0_ |= 0x00000002;
            onChanged();
            return this;
          }

          private java.util.List variable_ =
            java.util.Collections.emptyList();
          private void ensureVariableIsMutable() {
            if (!((bitField0_ & 0x00000004) != 0)) {
              variable_ = new java.util.ArrayList(variable_);
              bitField0_ |= 0x00000004;
             }
          }

          private com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> variableBuilder_;

          /**
           * repeated .CMsgVarField variable = 4 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
           */
          public java.util.List getVariableList() {
            if (variableBuilder_ == null) {
              return java.util.Collections.unmodifiableList(variable_);
            } else {
              return variableBuilder_.getMessageList();
            }
          }
          /**
           * repeated .CMsgVarField variable = 4 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
           */
          public int getVariableCount() {
            if (variableBuilder_ == null) {
              return variable_.size();
            } else {
              return variableBuilder_.getCount();
            }
          }
          /**
           * repeated .CMsgVarField variable = 4 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
           */
          public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField getVariable(int index) {
            if (variableBuilder_ == null) {
              return variable_.get(index);
            } else {
              return variableBuilder_.getMessage(index);
            }
          }
          /**
           * repeated .CMsgVarField variable = 4 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
           */
          public Builder setVariable(
              int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
            if (variableBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              ensureVariableIsMutable();
              variable_.set(index, value);
              onChanged();
            } else {
              variableBuilder_.setMessage(index, value);
            }
            return this;
          }
          /**
           * repeated .CMsgVarField variable = 4 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
           */
          public Builder setVariable(
              int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
            if (variableBuilder_ == null) {
              ensureVariableIsMutable();
              variable_.set(index, builderForValue.build());
              onChanged();
            } else {
              variableBuilder_.setMessage(index, builderForValue.build());
            }
            return this;
          }
          /**
           * repeated .CMsgVarField variable = 4 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
           */
          public Builder addVariable(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
            if (variableBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              ensureVariableIsMutable();
              variable_.add(value);
              onChanged();
            } else {
              variableBuilder_.addMessage(value);
            }
            return this;
          }
          /**
           * repeated .CMsgVarField variable = 4 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
           */
          public Builder addVariable(
              int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField value) {
            if (variableBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              ensureVariableIsMutable();
              variable_.add(index, value);
              onChanged();
            } else {
              variableBuilder_.addMessage(index, value);
            }
            return this;
          }
          /**
           * repeated .CMsgVarField variable = 4 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
           */
          public Builder addVariable(
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
            if (variableBuilder_ == null) {
              ensureVariableIsMutable();
              variable_.add(builderForValue.build());
              onChanged();
            } else {
              variableBuilder_.addMessage(builderForValue.build());
            }
            return this;
          }
          /**
           * repeated .CMsgVarField variable = 4 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
           */
          public Builder addVariable(
              int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder builderForValue) {
            if (variableBuilder_ == null) {
              ensureVariableIsMutable();
              variable_.add(index, builderForValue.build());
              onChanged();
            } else {
              variableBuilder_.addMessage(index, builderForValue.build());
            }
            return this;
          }
          /**
           * repeated .CMsgVarField variable = 4 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
           */
          public Builder addAllVariable(
              java.lang.Iterable values) {
            if (variableBuilder_ == null) {
              ensureVariableIsMutable();
              com.google.protobuf.AbstractMessageLite.Builder.addAll(
                  values, variable_);
              onChanged();
            } else {
              variableBuilder_.addAllMessages(values);
            }
            return this;
          }
          /**
           * repeated .CMsgVarField variable = 4 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
           */
          public Builder clearVariable() {
            if (variableBuilder_ == null) {
              variable_ = java.util.Collections.emptyList();
              bitField0_ = (bitField0_ & ~0x00000004);
              onChanged();
            } else {
              variableBuilder_.clear();
            }
            return this;
          }
          /**
           * repeated .CMsgVarField variable = 4 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
           */
          public Builder removeVariable(int index) {
            if (variableBuilder_ == null) {
              ensureVariableIsMutable();
              variable_.remove(index);
              onChanged();
            } else {
              variableBuilder_.remove(index);
            }
            return this;
          }
          /**
           * repeated .CMsgVarField variable = 4 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
           */
          public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder getVariableBuilder(
              int index) {
            return getVariableFieldBuilder().getBuilder(index);
          }
          /**
           * repeated .CMsgVarField variable = 4 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
           */
          public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder getVariableOrBuilder(
              int index) {
            if (variableBuilder_ == null) {
              return variable_.get(index);  } else {
              return variableBuilder_.getMessageOrBuilder(index);
            }
          }
          /**
           * repeated .CMsgVarField variable = 4 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
           */
          public java.util.List 
               getVariableOrBuilderList() {
            if (variableBuilder_ != null) {
              return variableBuilder_.getMessageOrBuilderList();
            } else {
              return java.util.Collections.unmodifiableList(variable_);
            }
          }
          /**
           * repeated .CMsgVarField variable = 4 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
           */
          public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder addVariableBuilder() {
            return getVariableFieldBuilder().addBuilder(
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance());
          }
          /**
           * repeated .CMsgVarField variable = 4 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
           */
          public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder addVariableBuilder(
              int index) {
            return getVariableFieldBuilder().addBuilder(
                index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.getDefaultInstance());
          }
          /**
           * repeated .CMsgVarField variable = 4 [(.allow_add) = false, (.allow_delete) = false, (.var_field_type) = VAR_TYPE_STRING];
           */
          public java.util.List 
               getVariableBuilderList() {
            return getVariableFieldBuilder().getBuilderList();
          }
          private com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder> 
              getVariableFieldBuilder() {
            if (variableBuilder_ == null) {
              variableBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
                  in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarField.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgVarFieldOrBuilder>(
                      variable_,
                      ((bitField0_ & 0x00000004) != 0),
                      getParentForChildren(),
                      isClean());
              variable_ = null;
            }
            return variableBuilder_;
          }

          // @@protoc_insertion_point(builder_scope:CMsgPaintKit_Definition.Item.ItemData)
        }

        // @@protoc_insertion_point(class_scope:CMsgPaintKit_Definition.Item.ItemData)
        private static final in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData DEFAULT_INSTANCE;
        static {
          DEFAULT_INSTANCE = new in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData();
        }

        public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData getDefaultInstance() {
          return DEFAULT_INSTANCE;
        }

        private static final com.google.protobuf.Parser
            PARSER = new com.google.protobuf.AbstractParser() {
          @java.lang.Override
          public ItemData 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.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData getDefaultInstanceForType() {
          return DEFAULT_INSTANCE;
        }

      }

      private int bitField0_;
      public static final int ITEM_DEFINITION_TEMPLATE_FIELD_NUMBER = 1;
      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID itemDefinitionTemplate_;
      /**
       * required .CMsgProtoDefID item_definition_template = 1 [(.valid_type) = DEF_TYPE_PAINTKIT_ITEM_DEFINITION, (.panel_class_override) = "CPaintKitDefIdFieldProtoEditorField"];
       * @return Whether the itemDefinitionTemplate field is set.
       */
      @java.lang.Override
      public boolean hasItemDefinitionTemplate() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * required .CMsgProtoDefID item_definition_template = 1 [(.valid_type) = DEF_TYPE_PAINTKIT_ITEM_DEFINITION, (.panel_class_override) = "CPaintKitDefIdFieldProtoEditorField"];
       * @return The itemDefinitionTemplate.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getItemDefinitionTemplate() {
        return itemDefinitionTemplate_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : itemDefinitionTemplate_;
      }
      /**
       * required .CMsgProtoDefID item_definition_template = 1 [(.valid_type) = DEF_TYPE_PAINTKIT_ITEM_DEFINITION, (.panel_class_override) = "CPaintKitDefIdFieldProtoEditorField"];
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getItemDefinitionTemplateOrBuilder() {
        return itemDefinitionTemplate_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : itemDefinitionTemplate_;
      }

      public static final int DATA_FIELD_NUMBER = 5;
      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData data_;
      /**
       * optional .CMsgPaintKit_Definition.Item.ItemData data = 5;
       * @return Whether the data field is set.
       */
      @java.lang.Override
      public boolean hasData() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item.ItemData data = 5;
       * @return The data.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData getData() {
        return data_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData.getDefaultInstance() : data_;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item.ItemData data = 5;
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemDataOrBuilder getDataOrBuilder() {
        return data_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData.getDefaultInstance() : data_;
      }

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

        if (!hasItemDefinitionTemplate()) {
          memoizedIsInitialized = 0;
          return false;
        }
        if (!getItemDefinitionTemplate().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (((bitField0_ & 0x00000001) != 0)) {
          output.writeMessage(1, getItemDefinitionTemplate());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeMessage(5, getData());
        }
        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
            .computeMessageSize(1, getItemDefinitionTemplate());
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(5, getData());
        }
        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.TfProtoDefMessages.CMsgPaintKit_Definition.Item)) {
          return super.equals(obj);
        }
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item) obj;

        if (hasItemDefinitionTemplate() != other.hasItemDefinitionTemplate()) return false;
        if (hasItemDefinitionTemplate()) {
          if (!getItemDefinitionTemplate()
              .equals(other.getItemDefinitionTemplate())) return false;
        }
        if (hasData() != other.hasData()) return false;
        if (hasData()) {
          if (!getData()
              .equals(other.getData())) 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 (hasItemDefinitionTemplate()) {
          hash = (37 * hash) + ITEM_DEFINITION_TEMPLATE_FIELD_NUMBER;
          hash = (53 * hash) + getItemDefinitionTemplate().hashCode();
        }
        if (hasData()) {
          hash = (37 * hash) + DATA_FIELD_NUMBER;
          hash = (53 * hash) + getData().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item 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.TfProtoDefMessages.CMsgPaintKit_Definition.Item parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item 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.TfProtoDefMessages.CMsgPaintKit_Definition.Item parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item 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.TfProtoDefMessages.CMsgPaintKit_Definition.Item parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseWithIOException(PARSER, input);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item 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.TfProtoDefMessages.CMsgPaintKit_Definition.Item parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item 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.TfProtoDefMessages.CMsgPaintKit_Definition.Item 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.TfProtoDefMessages.CMsgPaintKit_Definition.Item 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.TfProtoDefMessages.CMsgPaintKit_Definition.Item 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 CMsgPaintKit_Definition.Item}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder implements
          // @@protoc_insertion_point(builder_implements:CMsgPaintKit_Definition.Item)
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgPaintKit_Definition_Item_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgPaintKit_Definition_Item_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.class, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder.class);
        }

        // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage
                  .alwaysUseFieldBuilders) {
            getItemDefinitionTemplateFieldBuilder();
            getDataFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          itemDefinitionTemplate_ = null;
          if (itemDefinitionTemplateBuilder_ != null) {
            itemDefinitionTemplateBuilder_.dispose();
            itemDefinitionTemplateBuilder_ = null;
          }
          data_ = null;
          if (dataBuilder_ != null) {
            dataBuilder_.dispose();
            dataBuilder_ = null;
          }
          return this;
        }

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

        @java.lang.Override
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getDefaultInstanceForType() {
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance();
        }

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

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

        private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.itemDefinitionTemplate_ = itemDefinitionTemplateBuilder_ == null
                ? itemDefinitionTemplate_
                : itemDefinitionTemplateBuilder_.build();
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.data_ = dataBuilder_ == null
                ? data_
                : dataBuilder_.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.TfProtoDefMessages.CMsgPaintKit_Definition.Item) {
            return mergeFrom((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item other) {
          if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) return this;
          if (other.hasItemDefinitionTemplate()) {
            mergeItemDefinitionTemplate(other.getItemDefinitionTemplate());
          }
          if (other.hasData()) {
            mergeData(other.getData());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          if (!hasItemDefinitionTemplate()) {
            return false;
          }
          if (!getItemDefinitionTemplate().isInitialized()) {
            return false;
          }
          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: {
                  input.readMessage(
                      getItemDefinitionTemplateFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 42: {
                  input.readMessage(
                      getDataFieldBuilder().getBuilder(),
                      extensionRegistry);
                  bitField0_ |= 0x00000002;
                  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 in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID itemDefinitionTemplate_;
        private com.google.protobuf.SingleFieldBuilder<
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> itemDefinitionTemplateBuilder_;
        /**
         * required .CMsgProtoDefID item_definition_template = 1 [(.valid_type) = DEF_TYPE_PAINTKIT_ITEM_DEFINITION, (.panel_class_override) = "CPaintKitDefIdFieldProtoEditorField"];
         * @return Whether the itemDefinitionTemplate field is set.
         */
        public boolean hasItemDefinitionTemplate() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * required .CMsgProtoDefID item_definition_template = 1 [(.valid_type) = DEF_TYPE_PAINTKIT_ITEM_DEFINITION, (.panel_class_override) = "CPaintKitDefIdFieldProtoEditorField"];
         * @return The itemDefinitionTemplate.
         */
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getItemDefinitionTemplate() {
          if (itemDefinitionTemplateBuilder_ == null) {
            return itemDefinitionTemplate_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : itemDefinitionTemplate_;
          } else {
            return itemDefinitionTemplateBuilder_.getMessage();
          }
        }
        /**
         * required .CMsgProtoDefID item_definition_template = 1 [(.valid_type) = DEF_TYPE_PAINTKIT_ITEM_DEFINITION, (.panel_class_override) = "CPaintKitDefIdFieldProtoEditorField"];
         */
        public Builder setItemDefinitionTemplate(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
          if (itemDefinitionTemplateBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            itemDefinitionTemplate_ = value;
          } else {
            itemDefinitionTemplateBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * required .CMsgProtoDefID item_definition_template = 1 [(.valid_type) = DEF_TYPE_PAINTKIT_ITEM_DEFINITION, (.panel_class_override) = "CPaintKitDefIdFieldProtoEditorField"];
         */
        public Builder setItemDefinitionTemplate(
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder builderForValue) {
          if (itemDefinitionTemplateBuilder_ == null) {
            itemDefinitionTemplate_ = builderForValue.build();
          } else {
            itemDefinitionTemplateBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * required .CMsgProtoDefID item_definition_template = 1 [(.valid_type) = DEF_TYPE_PAINTKIT_ITEM_DEFINITION, (.panel_class_override) = "CPaintKitDefIdFieldProtoEditorField"];
         */
        public Builder mergeItemDefinitionTemplate(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
          if (itemDefinitionTemplateBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0) &&
              itemDefinitionTemplate_ != null &&
              itemDefinitionTemplate_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance()) {
              getItemDefinitionTemplateBuilder().mergeFrom(value);
            } else {
              itemDefinitionTemplate_ = value;
            }
          } else {
            itemDefinitionTemplateBuilder_.mergeFrom(value);
          }
          if (itemDefinitionTemplate_ != null) {
            bitField0_ |= 0x00000001;
            onChanged();
          }
          return this;
        }
        /**
         * required .CMsgProtoDefID item_definition_template = 1 [(.valid_type) = DEF_TYPE_PAINTKIT_ITEM_DEFINITION, (.panel_class_override) = "CPaintKitDefIdFieldProtoEditorField"];
         */
        public Builder clearItemDefinitionTemplate() {
          bitField0_ = (bitField0_ & ~0x00000001);
          itemDefinitionTemplate_ = null;
          if (itemDefinitionTemplateBuilder_ != null) {
            itemDefinitionTemplateBuilder_.dispose();
            itemDefinitionTemplateBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * required .CMsgProtoDefID item_definition_template = 1 [(.valid_type) = DEF_TYPE_PAINTKIT_ITEM_DEFINITION, (.panel_class_override) = "CPaintKitDefIdFieldProtoEditorField"];
         */
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder getItemDefinitionTemplateBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getItemDefinitionTemplateFieldBuilder().getBuilder();
        }
        /**
         * required .CMsgProtoDefID item_definition_template = 1 [(.valid_type) = DEF_TYPE_PAINTKIT_ITEM_DEFINITION, (.panel_class_override) = "CPaintKitDefIdFieldProtoEditorField"];
         */
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getItemDefinitionTemplateOrBuilder() {
          if (itemDefinitionTemplateBuilder_ != null) {
            return itemDefinitionTemplateBuilder_.getMessageOrBuilder();
          } else {
            return itemDefinitionTemplate_ == null ?
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : itemDefinitionTemplate_;
          }
        }
        /**
         * required .CMsgProtoDefID item_definition_template = 1 [(.valid_type) = DEF_TYPE_PAINTKIT_ITEM_DEFINITION, (.panel_class_override) = "CPaintKitDefIdFieldProtoEditorField"];
         */
        private com.google.protobuf.SingleFieldBuilder<
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> 
            getItemDefinitionTemplateFieldBuilder() {
          if (itemDefinitionTemplateBuilder_ == null) {
            itemDefinitionTemplateBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder>(
                    getItemDefinitionTemplate(),
                    getParentForChildren(),
                    isClean());
            itemDefinitionTemplate_ = null;
          }
          return itemDefinitionTemplateBuilder_;
        }

        private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData data_;
        private com.google.protobuf.SingleFieldBuilder<
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemDataOrBuilder> dataBuilder_;
        /**
         * optional .CMsgPaintKit_Definition.Item.ItemData data = 5;
         * @return Whether the data field is set.
         */
        public boolean hasData() {
          return ((bitField0_ & 0x00000002) != 0);
        }
        /**
         * optional .CMsgPaintKit_Definition.Item.ItemData data = 5;
         * @return The data.
         */
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData getData() {
          if (dataBuilder_ == null) {
            return data_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData.getDefaultInstance() : data_;
          } else {
            return dataBuilder_.getMessage();
          }
        }
        /**
         * optional .CMsgPaintKit_Definition.Item.ItemData data = 5;
         */
        public Builder setData(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData value) {
          if (dataBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            data_ = value;
          } else {
            dataBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * optional .CMsgPaintKit_Definition.Item.ItemData data = 5;
         */
        public Builder setData(
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData.Builder builderForValue) {
          if (dataBuilder_ == null) {
            data_ = builderForValue.build();
          } else {
            dataBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          onChanged();
          return this;
        }
        /**
         * optional .CMsgPaintKit_Definition.Item.ItemData data = 5;
         */
        public Builder mergeData(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData value) {
          if (dataBuilder_ == null) {
            if (((bitField0_ & 0x00000002) != 0) &&
              data_ != null &&
              data_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData.getDefaultInstance()) {
              getDataBuilder().mergeFrom(value);
            } else {
              data_ = value;
            }
          } else {
            dataBuilder_.mergeFrom(value);
          }
          if (data_ != null) {
            bitField0_ |= 0x00000002;
            onChanged();
          }
          return this;
        }
        /**
         * optional .CMsgPaintKit_Definition.Item.ItemData data = 5;
         */
        public Builder clearData() {
          bitField0_ = (bitField0_ & ~0x00000002);
          data_ = null;
          if (dataBuilder_ != null) {
            dataBuilder_.dispose();
            dataBuilder_ = null;
          }
          onChanged();
          return this;
        }
        /**
         * optional .CMsgPaintKit_Definition.Item.ItemData data = 5;
         */
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData.Builder getDataBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getDataFieldBuilder().getBuilder();
        }
        /**
         * optional .CMsgPaintKit_Definition.Item.ItemData data = 5;
         */
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemDataOrBuilder getDataOrBuilder() {
          if (dataBuilder_ != null) {
            return dataBuilder_.getMessageOrBuilder();
          } else {
            return data_ == null ?
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData.getDefaultInstance() : data_;
          }
        }
        /**
         * optional .CMsgPaintKit_Definition.Item.ItemData data = 5;
         */
        private com.google.protobuf.SingleFieldBuilder<
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemDataOrBuilder> 
            getDataFieldBuilder() {
          if (dataBuilder_ == null) {
            dataBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemData.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.ItemDataOrBuilder>(
                    getData(),
                    getParentForChildren(),
                    isClean());
            data_ = null;
          }
          return dataBuilder_;
        }

        // @@protoc_insertion_point(builder_scope:CMsgPaintKit_Definition.Item)
      }

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

      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

    }

    private int bitField0_;
    private int bitField1_;
    public static final int HEADER_FIELD_NUMBER = 1;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader header_;
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return Whether the header field is set.
     */
    @java.lang.Override
    public boolean hasHeader() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return The header.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader() {
      return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
    }
    /**
     * required .CMsgProtoDefHeader header = 1;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder() {
      return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
    }

    public static final int LOC_DESCTOKEN_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private volatile java.lang.Object locDesctoken_ = "";
    /**
     * optional string loc_desctoken = 2 [(.localized) = true];
     * @return Whether the locDesctoken field is set.
     */
    @java.lang.Override
    public boolean hasLocDesctoken() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional string loc_desctoken = 2 [(.localized) = true];
     * @return The locDesctoken.
     */
    @java.lang.Override
    public java.lang.String getLocDesctoken() {
      java.lang.Object ref = locDesctoken_;
      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()) {
          locDesctoken_ = s;
        }
        return s;
      }
    }
    /**
     * optional string loc_desctoken = 2 [(.localized) = true];
     * @return The bytes for locDesctoken.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getLocDesctokenBytes() {
      java.lang.Object ref = locDesctoken_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        locDesctoken_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int OPERATION_TEMPLATE_FIELD_NUMBER = 3;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID operationTemplate_;
    /**
     * optional .CMsgProtoDefID operation_template = 3 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (.comment) = "operation template which all items in the list will use unless there\'s operation_template specified in an item_definition", (.inherit_reference_variables) = true];
     * @return Whether the operationTemplate field is set.
     */
    @java.lang.Override
    public boolean hasOperationTemplate() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional .CMsgProtoDefID operation_template = 3 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (.comment) = "operation template which all items in the list will use unless there\'s operation_template specified in an item_definition", (.inherit_reference_variables) = true];
     * @return The operationTemplate.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getOperationTemplate() {
      return operationTemplate_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : operationTemplate_;
    }
    /**
     * optional .CMsgProtoDefID operation_template = 3 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (.comment) = "operation template which all items in the list will use unless there\'s operation_template specified in an item_definition", (.inherit_reference_variables) = true];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getOperationTemplateOrBuilder() {
      return operationTemplate_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : operationTemplate_;
    }

    public static final int HAS_TEAM_TEXTURES_FIELD_NUMBER = 4;
    private boolean hasTeamTextures_ = false;
    /**
     * optional bool has_team_textures = 4;
     * @return Whether the hasTeamTextures field is set.
     */
    @java.lang.Override
    public boolean hasHasTeamTextures() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional bool has_team_textures = 4;
     * @return The hasTeamTextures.
     */
    @java.lang.Override
    public boolean getHasTeamTextures() {
      return hasTeamTextures_;
    }

    public static final int ITEM_FIELD_NUMBER = 5;
    @SuppressWarnings("serial")
    private java.util.List item_;
    /**
     * repeated .CMsgPaintKit_Definition.Item item = 5;
     */
    @java.lang.Override
    public java.util.List getItemList() {
      return item_;
    }
    /**
     * repeated .CMsgPaintKit_Definition.Item item = 5;
     */
    @java.lang.Override
    public java.util.List 
        getItemOrBuilderList() {
      return item_;
    }
    /**
     * repeated .CMsgPaintKit_Definition.Item item = 5;
     */
    @java.lang.Override
    public int getItemCount() {
      return item_.size();
    }
    /**
     * repeated .CMsgPaintKit_Definition.Item item = 5;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getItem(int index) {
      return item_.get(index);
    }
    /**
     * repeated .CMsgPaintKit_Definition.Item item = 5;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getItemOrBuilder(
        int index) {
      return item_.get(index);
    }

    public static final int PAINTKIT_TOOL_FIELD_NUMBER = 6;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item paintkitTool_;
    /**
     * optional .CMsgPaintKit_Definition.Item paintkit_tool = 6;
     * @return Whether the paintkitTool field is set.
     */
    @java.lang.Override
    public boolean hasPaintkitTool() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item paintkit_tool = 6;
     * @return The paintkitTool.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getPaintkitTool() {
      return paintkitTool_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : paintkitTool_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item paintkit_tool = 6;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getPaintkitToolOrBuilder() {
      return paintkitTool_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : paintkitTool_;
    }

    public static final int FLAMETHROWER_FIELD_NUMBER = 7;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item flamethrower_;
    /**
     * optional .CMsgPaintKit_Definition.Item flamethrower = 7;
     * @return Whether the flamethrower field is set.
     */
    @java.lang.Override
    public boolean hasFlamethrower() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item flamethrower = 7;
     * @return The flamethrower.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getFlamethrower() {
      return flamethrower_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : flamethrower_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item flamethrower = 7;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getFlamethrowerOrBuilder() {
      return flamethrower_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : flamethrower_;
    }

    public static final int GRENADELAUNCHER_FIELD_NUMBER = 8;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item grenadelauncher_;
    /**
     * optional .CMsgPaintKit_Definition.Item grenadelauncher = 8;
     * @return Whether the grenadelauncher field is set.
     */
    @java.lang.Override
    public boolean hasGrenadelauncher() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item grenadelauncher = 8;
     * @return The grenadelauncher.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getGrenadelauncher() {
      return grenadelauncher_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : grenadelauncher_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item grenadelauncher = 8;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getGrenadelauncherOrBuilder() {
      return grenadelauncher_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : grenadelauncher_;
    }

    public static final int KNIFE_FIELD_NUMBER = 9;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item knife_;
    /**
     * optional .CMsgPaintKit_Definition.Item knife = 9;
     * @return Whether the knife field is set.
     */
    @java.lang.Override
    public boolean hasKnife() {
      return ((bitField0_ & 0x00000080) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item knife = 9;
     * @return The knife.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getKnife() {
      return knife_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : knife_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item knife = 9;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getKnifeOrBuilder() {
      return knife_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : knife_;
    }

    public static final int MEDIGUN_FIELD_NUMBER = 10;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item medigun_;
    /**
     * optional .CMsgPaintKit_Definition.Item medigun = 10;
     * @return Whether the medigun field is set.
     */
    @java.lang.Override
    public boolean hasMedigun() {
      return ((bitField0_ & 0x00000100) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item medigun = 10;
     * @return The medigun.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getMedigun() {
      return medigun_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : medigun_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item medigun = 10;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getMedigunOrBuilder() {
      return medigun_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : medigun_;
    }

    public static final int MINIGUN_FIELD_NUMBER = 11;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item minigun_;
    /**
     * optional .CMsgPaintKit_Definition.Item minigun = 11;
     * @return Whether the minigun field is set.
     */
    @java.lang.Override
    public boolean hasMinigun() {
      return ((bitField0_ & 0x00000200) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item minigun = 11;
     * @return The minigun.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getMinigun() {
      return minigun_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : minigun_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item minigun = 11;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getMinigunOrBuilder() {
      return minigun_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : minigun_;
    }

    public static final int PISTOL_FIELD_NUMBER = 12;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item pistol_;
    /**
     * optional .CMsgPaintKit_Definition.Item pistol = 12;
     * @return Whether the pistol field is set.
     */
    @java.lang.Override
    public boolean hasPistol() {
      return ((bitField0_ & 0x00000400) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item pistol = 12;
     * @return The pistol.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getPistol() {
      return pistol_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : pistol_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item pistol = 12;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getPistolOrBuilder() {
      return pistol_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : pistol_;
    }

    public static final int REVOLVER_FIELD_NUMBER = 13;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item revolver_;
    /**
     * optional .CMsgPaintKit_Definition.Item revolver = 13;
     * @return Whether the revolver field is set.
     */
    @java.lang.Override
    public boolean hasRevolver() {
      return ((bitField0_ & 0x00000800) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item revolver = 13;
     * @return The revolver.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getRevolver() {
      return revolver_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : revolver_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item revolver = 13;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getRevolverOrBuilder() {
      return revolver_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : revolver_;
    }

    public static final int ROCKETLAUNCHER_FIELD_NUMBER = 14;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item rocketlauncher_;
    /**
     * optional .CMsgPaintKit_Definition.Item rocketlauncher = 14;
     * @return Whether the rocketlauncher field is set.
     */
    @java.lang.Override
    public boolean hasRocketlauncher() {
      return ((bitField0_ & 0x00001000) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item rocketlauncher = 14;
     * @return The rocketlauncher.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getRocketlauncher() {
      return rocketlauncher_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : rocketlauncher_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item rocketlauncher = 14;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getRocketlauncherOrBuilder() {
      return rocketlauncher_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : rocketlauncher_;
    }

    public static final int SCATTERGUN_FIELD_NUMBER = 15;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item scattergun_;
    /**
     * optional .CMsgPaintKit_Definition.Item scattergun = 15;
     * @return Whether the scattergun field is set.
     */
    @java.lang.Override
    public boolean hasScattergun() {
      return ((bitField0_ & 0x00002000) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item scattergun = 15;
     * @return The scattergun.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getScattergun() {
      return scattergun_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : scattergun_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item scattergun = 15;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getScattergunOrBuilder() {
      return scattergun_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : scattergun_;
    }

    public static final int SHOTGUN_FIELD_NUMBER = 16;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item shotgun_;
    /**
     * optional .CMsgPaintKit_Definition.Item shotgun = 16;
     * @return Whether the shotgun field is set.
     */
    @java.lang.Override
    public boolean hasShotgun() {
      return ((bitField0_ & 0x00004000) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item shotgun = 16;
     * @return The shotgun.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getShotgun() {
      return shotgun_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : shotgun_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item shotgun = 16;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getShotgunOrBuilder() {
      return shotgun_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : shotgun_;
    }

    public static final int SMG_FIELD_NUMBER = 17;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item smg_;
    /**
     * optional .CMsgPaintKit_Definition.Item smg = 17;
     * @return Whether the smg field is set.
     */
    @java.lang.Override
    public boolean hasSmg() {
      return ((bitField0_ & 0x00008000) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item smg = 17;
     * @return The smg.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getSmg() {
      return smg_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : smg_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item smg = 17;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getSmgOrBuilder() {
      return smg_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : smg_;
    }

    public static final int SNIPERRIFLE_FIELD_NUMBER = 18;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item sniperrifle_;
    /**
     * optional .CMsgPaintKit_Definition.Item sniperrifle = 18;
     * @return Whether the sniperrifle field is set.
     */
    @java.lang.Override
    public boolean hasSniperrifle() {
      return ((bitField0_ & 0x00010000) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item sniperrifle = 18;
     * @return The sniperrifle.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getSniperrifle() {
      return sniperrifle_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : sniperrifle_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item sniperrifle = 18;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getSniperrifleOrBuilder() {
      return sniperrifle_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : sniperrifle_;
    }

    public static final int STICKYBOMB_LAUNCHER_FIELD_NUMBER = 19;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item stickybombLauncher_;
    /**
     * optional .CMsgPaintKit_Definition.Item stickybomb_launcher = 19;
     * @return Whether the stickybombLauncher field is set.
     */
    @java.lang.Override
    public boolean hasStickybombLauncher() {
      return ((bitField0_ & 0x00020000) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item stickybomb_launcher = 19;
     * @return The stickybombLauncher.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getStickybombLauncher() {
      return stickybombLauncher_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : stickybombLauncher_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item stickybomb_launcher = 19;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getStickybombLauncherOrBuilder() {
      return stickybombLauncher_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : stickybombLauncher_;
    }

    public static final int UBERSAW_FIELD_NUMBER = 20;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item ubersaw_;
    /**
     * optional .CMsgPaintKit_Definition.Item ubersaw = 20;
     * @return Whether the ubersaw field is set.
     */
    @java.lang.Override
    public boolean hasUbersaw() {
      return ((bitField0_ & 0x00040000) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item ubersaw = 20;
     * @return The ubersaw.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getUbersaw() {
      return ubersaw_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : ubersaw_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item ubersaw = 20;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getUbersawOrBuilder() {
      return ubersaw_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : ubersaw_;
    }

    public static final int WRENCH_FIELD_NUMBER = 21;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item wrench_;
    /**
     * optional .CMsgPaintKit_Definition.Item wrench = 21;
     * @return Whether the wrench field is set.
     */
    @java.lang.Override
    public boolean hasWrench() {
      return ((bitField0_ & 0x00080000) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item wrench = 21;
     * @return The wrench.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getWrench() {
      return wrench_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : wrench_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item wrench = 21;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getWrenchOrBuilder() {
      return wrench_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : wrench_;
    }

    public static final int AMPUTATOR_FIELD_NUMBER = 22;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item amputator_;
    /**
     * optional .CMsgPaintKit_Definition.Item amputator = 22;
     * @return Whether the amputator field is set.
     */
    @java.lang.Override
    public boolean hasAmputator() {
      return ((bitField0_ & 0x00100000) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item amputator = 22;
     * @return The amputator.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getAmputator() {
      return amputator_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : amputator_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item amputator = 22;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getAmputatorOrBuilder() {
      return amputator_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : amputator_;
    }

    public static final int ATOM_LAUNCHER_FIELD_NUMBER = 23;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item atomLauncher_;
    /**
     * optional .CMsgPaintKit_Definition.Item atom_launcher = 23;
     * @return Whether the atomLauncher field is set.
     */
    @java.lang.Override
    public boolean hasAtomLauncher() {
      return ((bitField0_ & 0x00200000) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item atom_launcher = 23;
     * @return The atomLauncher.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getAtomLauncher() {
      return atomLauncher_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : atomLauncher_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item atom_launcher = 23;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getAtomLauncherOrBuilder() {
      return atomLauncher_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : atomLauncher_;
    }

    public static final int BACK_SCRATCHER_FIELD_NUMBER = 24;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item backScratcher_;
    /**
     * optional .CMsgPaintKit_Definition.Item back_scratcher = 24;
     * @return Whether the backScratcher field is set.
     */
    @java.lang.Override
    public boolean hasBackScratcher() {
      return ((bitField0_ & 0x00400000) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item back_scratcher = 24;
     * @return The backScratcher.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getBackScratcher() {
      return backScratcher_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : backScratcher_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item back_scratcher = 24;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getBackScratcherOrBuilder() {
      return backScratcher_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : backScratcher_;
    }

    public static final int BATTLEAXE_FIELD_NUMBER = 25;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item battleaxe_;
    /**
     * optional .CMsgPaintKit_Definition.Item battleaxe = 25;
     * @return Whether the battleaxe field is set.
     */
    @java.lang.Override
    public boolean hasBattleaxe() {
      return ((bitField0_ & 0x00800000) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item battleaxe = 25;
     * @return The battleaxe.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getBattleaxe() {
      return battleaxe_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : battleaxe_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item battleaxe = 25;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getBattleaxeOrBuilder() {
      return battleaxe_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : battleaxe_;
    }

    public static final int BAZAAR_SNIPER_FIELD_NUMBER = 26;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item bazaarSniper_;
    /**
     * optional .CMsgPaintKit_Definition.Item bazaar_sniper = 26;
     * @return Whether the bazaarSniper field is set.
     */
    @java.lang.Override
    public boolean hasBazaarSniper() {
      return ((bitField0_ & 0x01000000) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item bazaar_sniper = 26;
     * @return The bazaarSniper.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getBazaarSniper() {
      return bazaarSniper_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : bazaarSniper_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item bazaar_sniper = 26;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getBazaarSniperOrBuilder() {
      return bazaarSniper_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : bazaarSniper_;
    }

    public static final int BLACKBOX_FIELD_NUMBER = 27;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item blackbox_;
    /**
     * optional .CMsgPaintKit_Definition.Item blackbox = 27;
     * @return Whether the blackbox field is set.
     */
    @java.lang.Override
    public boolean hasBlackbox() {
      return ((bitField0_ & 0x02000000) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item blackbox = 27;
     * @return The blackbox.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getBlackbox() {
      return blackbox_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : blackbox_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item blackbox = 27;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getBlackboxOrBuilder() {
      return blackbox_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : blackbox_;
    }

    public static final int CLAIDHEAMOHMOR_FIELD_NUMBER = 28;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item claidheamohmor_;
    /**
     * optional .CMsgPaintKit_Definition.Item claidheamohmor = 28;
     * @return Whether the claidheamohmor field is set.
     */
    @java.lang.Override
    public boolean hasClaidheamohmor() {
      return ((bitField0_ & 0x04000000) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item claidheamohmor = 28;
     * @return The claidheamohmor.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getClaidheamohmor() {
      return claidheamohmor_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : claidheamohmor_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item claidheamohmor = 28;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getClaidheamohmorOrBuilder() {
      return claidheamohmor_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : claidheamohmor_;
    }

    public static final int CRUSADERS_CROSSBOW_FIELD_NUMBER = 29;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item crusadersCrossbow_;
    /**
     * optional .CMsgPaintKit_Definition.Item crusaders_crossbow = 29;
     * @return Whether the crusadersCrossbow field is set.
     */
    @java.lang.Override
    public boolean hasCrusadersCrossbow() {
      return ((bitField0_ & 0x08000000) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item crusaders_crossbow = 29;
     * @return The crusadersCrossbow.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getCrusadersCrossbow() {
      return crusadersCrossbow_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : crusadersCrossbow_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item crusaders_crossbow = 29;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getCrusadersCrossbowOrBuilder() {
      return crusadersCrossbow_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : crusadersCrossbow_;
    }

    public static final int DEGREASER_FIELD_NUMBER = 30;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item degreaser_;
    /**
     * optional .CMsgPaintKit_Definition.Item degreaser = 30;
     * @return Whether the degreaser field is set.
     */
    @java.lang.Override
    public boolean hasDegreaser() {
      return ((bitField0_ & 0x10000000) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item degreaser = 30;
     * @return The degreaser.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getDegreaser() {
      return degreaser_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : degreaser_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item degreaser = 30;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getDegreaserOrBuilder() {
      return degreaser_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : degreaser_;
    }

    public static final int DEMO_CANNON_FIELD_NUMBER = 31;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item demoCannon_;
    /**
     * optional .CMsgPaintKit_Definition.Item demo_cannon = 31;
     * @return Whether the demoCannon field is set.
     */
    @java.lang.Override
    public boolean hasDemoCannon() {
      return ((bitField0_ & 0x20000000) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item demo_cannon = 31;
     * @return The demoCannon.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getDemoCannon() {
      return demoCannon_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : demoCannon_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item demo_cannon = 31;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getDemoCannonOrBuilder() {
      return demoCannon_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : demoCannon_;
    }

    public static final int DEMO_SULTAN_SWORD_FIELD_NUMBER = 32;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item demoSultanSword_;
    /**
     * optional .CMsgPaintKit_Definition.Item demo_sultan_sword = 32;
     * @return Whether the demoSultanSword field is set.
     */
    @java.lang.Override
    public boolean hasDemoSultanSword() {
      return ((bitField0_ & 0x40000000) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item demo_sultan_sword = 32;
     * @return The demoSultanSword.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getDemoSultanSword() {
      return demoSultanSword_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : demoSultanSword_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item demo_sultan_sword = 32;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getDemoSultanSwordOrBuilder() {
      return demoSultanSword_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : demoSultanSword_;
    }

    public static final int DETONATOR_FIELD_NUMBER = 33;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item detonator_;
    /**
     * optional .CMsgPaintKit_Definition.Item detonator = 33;
     * @return Whether the detonator field is set.
     */
    @java.lang.Override
    public boolean hasDetonator() {
      return ((bitField0_ & 0x80000000) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item detonator = 33;
     * @return The detonator.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getDetonator() {
      return detonator_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : detonator_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item detonator = 33;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getDetonatorOrBuilder() {
      return detonator_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : detonator_;
    }

    public static final int GATLING_GUN_FIELD_NUMBER = 34;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item gatlingGun_;
    /**
     * optional .CMsgPaintKit_Definition.Item gatling_gun = 34;
     * @return Whether the gatlingGun field is set.
     */
    @java.lang.Override
    public boolean hasGatlingGun() {
      return ((bitField1_ & 0x00000001) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item gatling_gun = 34;
     * @return The gatlingGun.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getGatlingGun() {
      return gatlingGun_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : gatlingGun_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item gatling_gun = 34;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getGatlingGunOrBuilder() {
      return gatlingGun_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : gatlingGun_;
    }

    public static final int HOLYMACKEREL_FIELD_NUMBER = 35;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item holymackerel_;
    /**
     * optional .CMsgPaintKit_Definition.Item holymackerel = 35;
     * @return Whether the holymackerel field is set.
     */
    @java.lang.Override
    public boolean hasHolymackerel() {
      return ((bitField1_ & 0x00000002) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item holymackerel = 35;
     * @return The holymackerel.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getHolymackerel() {
      return holymackerel_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : holymackerel_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item holymackerel = 35;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getHolymackerelOrBuilder() {
      return holymackerel_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : holymackerel_;
    }

    public static final int JAG_FIELD_NUMBER = 36;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item jag_;
    /**
     * optional .CMsgPaintKit_Definition.Item jag = 36;
     * @return Whether the jag field is set.
     */
    @java.lang.Override
    public boolean hasJag() {
      return ((bitField1_ & 0x00000004) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item jag = 36;
     * @return The jag.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getJag() {
      return jag_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : jag_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item jag = 36;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getJagOrBuilder() {
      return jag_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : jag_;
    }

    public static final int LOCHNLOAD_FIELD_NUMBER = 37;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item lochnload_;
    /**
     * optional .CMsgPaintKit_Definition.Item lochnload = 37;
     * @return Whether the lochnload field is set.
     */
    @java.lang.Override
    public boolean hasLochnload() {
      return ((bitField1_ & 0x00000008) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item lochnload = 37;
     * @return The lochnload.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getLochnload() {
      return lochnload_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : lochnload_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item lochnload = 37;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getLochnloadOrBuilder() {
      return lochnload_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : lochnload_;
    }

    public static final int POWERJACK_FIELD_NUMBER = 38;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item powerjack_;
    /**
     * optional .CMsgPaintKit_Definition.Item powerjack = 38;
     * @return Whether the powerjack field is set.
     */
    @java.lang.Override
    public boolean hasPowerjack() {
      return ((bitField1_ & 0x00000010) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item powerjack = 38;
     * @return The powerjack.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getPowerjack() {
      return powerjack_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : powerjack_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item powerjack = 38;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getPowerjackOrBuilder() {
      return powerjack_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : powerjack_;
    }

    public static final int QUADBALL_FIELD_NUMBER = 39;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item quadball_;
    /**
     * optional .CMsgPaintKit_Definition.Item quadball = 39;
     * @return Whether the quadball field is set.
     */
    @java.lang.Override
    public boolean hasQuadball() {
      return ((bitField1_ & 0x00000020) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item quadball = 39;
     * @return The quadball.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getQuadball() {
      return quadball_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : quadball_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item quadball = 39;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getQuadballOrBuilder() {
      return quadball_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : quadball_;
    }

    public static final int RESERVE_SHOOTER_FIELD_NUMBER = 40;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item reserveShooter_;
    /**
     * optional .CMsgPaintKit_Definition.Item reserve_shooter = 40;
     * @return Whether the reserveShooter field is set.
     */
    @java.lang.Override
    public boolean hasReserveShooter() {
      return ((bitField1_ & 0x00000040) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item reserve_shooter = 40;
     * @return The reserveShooter.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getReserveShooter() {
      return reserveShooter_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : reserveShooter_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item reserve_shooter = 40;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getReserveShooterOrBuilder() {
      return reserveShooter_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : reserveShooter_;
    }

    public static final int RIDING_CROP_FIELD_NUMBER = 41;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item ridingCrop_;
    /**
     * optional .CMsgPaintKit_Definition.Item riding_crop = 41;
     * @return Whether the ridingCrop field is set.
     */
    @java.lang.Override
    public boolean hasRidingCrop() {
      return ((bitField1_ & 0x00000080) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item riding_crop = 41;
     * @return The ridingCrop.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getRidingCrop() {
      return ridingCrop_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : ridingCrop_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item riding_crop = 41;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getRidingCropOrBuilder() {
      return ridingCrop_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : ridingCrop_;
    }

    public static final int RUSSIAN_RIOT_FIELD_NUMBER = 42;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item russianRiot_;
    /**
     * optional .CMsgPaintKit_Definition.Item russian_riot = 42;
     * @return Whether the russianRiot field is set.
     */
    @java.lang.Override
    public boolean hasRussianRiot() {
      return ((bitField1_ & 0x00000100) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item russian_riot = 42;
     * @return The russianRiot.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getRussianRiot() {
      return russianRiot_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : russianRiot_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item russian_riot = 42;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getRussianRiotOrBuilder() {
      return russianRiot_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : russianRiot_;
    }

    public static final int SCIMITAR_FIELD_NUMBER = 43;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item scimitar_;
    /**
     * optional .CMsgPaintKit_Definition.Item scimitar = 43;
     * @return Whether the scimitar field is set.
     */
    @java.lang.Override
    public boolean hasScimitar() {
      return ((bitField1_ & 0x00000200) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item scimitar = 43;
     * @return The scimitar.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getScimitar() {
      return scimitar_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : scimitar_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item scimitar = 43;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getScimitarOrBuilder() {
      return scimitar_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : scimitar_;
    }

    public static final int SCORCH_SHOT_FIELD_NUMBER = 44;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item scorchShot_;
    /**
     * optional .CMsgPaintKit_Definition.Item scorch_shot = 44;
     * @return Whether the scorchShot field is set.
     */
    @java.lang.Override
    public boolean hasScorchShot() {
      return ((bitField1_ & 0x00000400) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item scorch_shot = 44;
     * @return The scorchShot.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getScorchShot() {
      return scorchShot_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : scorchShot_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item scorch_shot = 44;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getScorchShotOrBuilder() {
      return scorchShot_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : scorchShot_;
    }

    public static final int SHORTSTOP_FIELD_NUMBER = 45;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item shortstop_;
    /**
     * optional .CMsgPaintKit_Definition.Item shortstop = 45;
     * @return Whether the shortstop field is set.
     */
    @java.lang.Override
    public boolean hasShortstop() {
      return ((bitField1_ & 0x00000800) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item shortstop = 45;
     * @return The shortstop.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getShortstop() {
      return shortstop_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : shortstop_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item shortstop = 45;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getShortstopOrBuilder() {
      return shortstop_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : shortstop_;
    }

    public static final int SODA_POPPER_FIELD_NUMBER = 46;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item sodaPopper_;
    /**
     * optional .CMsgPaintKit_Definition.Item soda_popper = 46;
     * @return Whether the sodaPopper field is set.
     */
    @java.lang.Override
    public boolean hasSodaPopper() {
      return ((bitField1_ & 0x00001000) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item soda_popper = 46;
     * @return The sodaPopper.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getSodaPopper() {
      return sodaPopper_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : sodaPopper_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item soda_popper = 46;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getSodaPopperOrBuilder() {
      return sodaPopper_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : sodaPopper_;
    }

    public static final int TELE_SHOTGUN_FIELD_NUMBER = 47;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item teleShotgun_;
    /**
     * optional .CMsgPaintKit_Definition.Item tele_shotgun = 47;
     * @return Whether the teleShotgun field is set.
     */
    @java.lang.Override
    public boolean hasTeleShotgun() {
      return ((bitField1_ & 0x00002000) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item tele_shotgun = 47;
     * @return The teleShotgun.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getTeleShotgun() {
      return teleShotgun_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : teleShotgun_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item tele_shotgun = 47;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getTeleShotgunOrBuilder() {
      return teleShotgun_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : teleShotgun_;
    }

    public static final int TOMISLAV_FIELD_NUMBER = 48;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item tomislav_;
    /**
     * optional .CMsgPaintKit_Definition.Item tomislav = 48;
     * @return Whether the tomislav field is set.
     */
    @java.lang.Override
    public boolean hasTomislav() {
      return ((bitField1_ & 0x00004000) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item tomislav = 48;
     * @return The tomislav.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getTomislav() {
      return tomislav_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : tomislav_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item tomislav = 48;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getTomislavOrBuilder() {
      return tomislav_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : tomislav_;
    }

    public static final int TRENCHGUN_FIELD_NUMBER = 49;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item trenchgun_;
    /**
     * optional .CMsgPaintKit_Definition.Item trenchgun = 49;
     * @return Whether the trenchgun field is set.
     */
    @java.lang.Override
    public boolean hasTrenchgun() {
      return ((bitField1_ & 0x00008000) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item trenchgun = 49;
     * @return The trenchgun.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getTrenchgun() {
      return trenchgun_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : trenchgun_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item trenchgun = 49;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getTrenchgunOrBuilder() {
      return trenchgun_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : trenchgun_;
    }

    public static final int WINGER_PISTOL_FIELD_NUMBER = 50;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item wingerPistol_;
    /**
     * optional .CMsgPaintKit_Definition.Item winger_pistol = 50;
     * @return Whether the wingerPistol field is set.
     */
    @java.lang.Override
    public boolean hasWingerPistol() {
      return ((bitField1_ & 0x00010000) != 0);
    }
    /**
     * optional .CMsgPaintKit_Definition.Item winger_pistol = 50;
     * @return The wingerPistol.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getWingerPistol() {
      return wingerPistol_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : wingerPistol_;
    }
    /**
     * optional .CMsgPaintKit_Definition.Item winger_pistol = 50;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getWingerPistolOrBuilder() {
      return wingerPistol_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : wingerPistol_;
    }

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

      if (!hasHeader()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getHeader().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (hasOperationTemplate()) {
        if (!getOperationTemplate().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getItemCount(); i++) {
        if (!getItem(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasPaintkitTool()) {
        if (!getPaintkitTool().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasFlamethrower()) {
        if (!getFlamethrower().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasGrenadelauncher()) {
        if (!getGrenadelauncher().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasKnife()) {
        if (!getKnife().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasMedigun()) {
        if (!getMedigun().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasMinigun()) {
        if (!getMinigun().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasPistol()) {
        if (!getPistol().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasRevolver()) {
        if (!getRevolver().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasRocketlauncher()) {
        if (!getRocketlauncher().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasScattergun()) {
        if (!getScattergun().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasShotgun()) {
        if (!getShotgun().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasSmg()) {
        if (!getSmg().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasSniperrifle()) {
        if (!getSniperrifle().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasStickybombLauncher()) {
        if (!getStickybombLauncher().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasUbersaw()) {
        if (!getUbersaw().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasWrench()) {
        if (!getWrench().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasAmputator()) {
        if (!getAmputator().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasAtomLauncher()) {
        if (!getAtomLauncher().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasBackScratcher()) {
        if (!getBackScratcher().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasBattleaxe()) {
        if (!getBattleaxe().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasBazaarSniper()) {
        if (!getBazaarSniper().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasBlackbox()) {
        if (!getBlackbox().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasClaidheamohmor()) {
        if (!getClaidheamohmor().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasCrusadersCrossbow()) {
        if (!getCrusadersCrossbow().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasDegreaser()) {
        if (!getDegreaser().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasDemoCannon()) {
        if (!getDemoCannon().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasDemoSultanSword()) {
        if (!getDemoSultanSword().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasDetonator()) {
        if (!getDetonator().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasGatlingGun()) {
        if (!getGatlingGun().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasHolymackerel()) {
        if (!getHolymackerel().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasJag()) {
        if (!getJag().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasLochnload()) {
        if (!getLochnload().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasPowerjack()) {
        if (!getPowerjack().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasQuadball()) {
        if (!getQuadball().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasReserveShooter()) {
        if (!getReserveShooter().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasRidingCrop()) {
        if (!getRidingCrop().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasRussianRiot()) {
        if (!getRussianRiot().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasScimitar()) {
        if (!getScimitar().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasScorchShot()) {
        if (!getScorchShot().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasShortstop()) {
        if (!getShortstop().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasSodaPopper()) {
        if (!getSodaPopper().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasTeleShotgun()) {
        if (!getTeleShotgun().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasTomislav()) {
        if (!getTomislav().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasTrenchgun()) {
        if (!getTrenchgun().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasWingerPistol()) {
        if (!getWingerPistol().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getHeader());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 2, locDesctoken_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeMessage(3, getOperationTemplate());
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        output.writeBool(4, hasTeamTextures_);
      }
      for (int i = 0; i < item_.size(); i++) {
        output.writeMessage(5, item_.get(i));
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        output.writeMessage(6, getPaintkitTool());
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        output.writeMessage(7, getFlamethrower());
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        output.writeMessage(8, getGrenadelauncher());
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        output.writeMessage(9, getKnife());
      }
      if (((bitField0_ & 0x00000100) != 0)) {
        output.writeMessage(10, getMedigun());
      }
      if (((bitField0_ & 0x00000200) != 0)) {
        output.writeMessage(11, getMinigun());
      }
      if (((bitField0_ & 0x00000400) != 0)) {
        output.writeMessage(12, getPistol());
      }
      if (((bitField0_ & 0x00000800) != 0)) {
        output.writeMessage(13, getRevolver());
      }
      if (((bitField0_ & 0x00001000) != 0)) {
        output.writeMessage(14, getRocketlauncher());
      }
      if (((bitField0_ & 0x00002000) != 0)) {
        output.writeMessage(15, getScattergun());
      }
      if (((bitField0_ & 0x00004000) != 0)) {
        output.writeMessage(16, getShotgun());
      }
      if (((bitField0_ & 0x00008000) != 0)) {
        output.writeMessage(17, getSmg());
      }
      if (((bitField0_ & 0x00010000) != 0)) {
        output.writeMessage(18, getSniperrifle());
      }
      if (((bitField0_ & 0x00020000) != 0)) {
        output.writeMessage(19, getStickybombLauncher());
      }
      if (((bitField0_ & 0x00040000) != 0)) {
        output.writeMessage(20, getUbersaw());
      }
      if (((bitField0_ & 0x00080000) != 0)) {
        output.writeMessage(21, getWrench());
      }
      if (((bitField0_ & 0x00100000) != 0)) {
        output.writeMessage(22, getAmputator());
      }
      if (((bitField0_ & 0x00200000) != 0)) {
        output.writeMessage(23, getAtomLauncher());
      }
      if (((bitField0_ & 0x00400000) != 0)) {
        output.writeMessage(24, getBackScratcher());
      }
      if (((bitField0_ & 0x00800000) != 0)) {
        output.writeMessage(25, getBattleaxe());
      }
      if (((bitField0_ & 0x01000000) != 0)) {
        output.writeMessage(26, getBazaarSniper());
      }
      if (((bitField0_ & 0x02000000) != 0)) {
        output.writeMessage(27, getBlackbox());
      }
      if (((bitField0_ & 0x04000000) != 0)) {
        output.writeMessage(28, getClaidheamohmor());
      }
      if (((bitField0_ & 0x08000000) != 0)) {
        output.writeMessage(29, getCrusadersCrossbow());
      }
      if (((bitField0_ & 0x10000000) != 0)) {
        output.writeMessage(30, getDegreaser());
      }
      if (((bitField0_ & 0x20000000) != 0)) {
        output.writeMessage(31, getDemoCannon());
      }
      if (((bitField0_ & 0x40000000) != 0)) {
        output.writeMessage(32, getDemoSultanSword());
      }
      if (((bitField0_ & 0x80000000) != 0)) {
        output.writeMessage(33, getDetonator());
      }
      if (((bitField1_ & 0x00000001) != 0)) {
        output.writeMessage(34, getGatlingGun());
      }
      if (((bitField1_ & 0x00000002) != 0)) {
        output.writeMessage(35, getHolymackerel());
      }
      if (((bitField1_ & 0x00000004) != 0)) {
        output.writeMessage(36, getJag());
      }
      if (((bitField1_ & 0x00000008) != 0)) {
        output.writeMessage(37, getLochnload());
      }
      if (((bitField1_ & 0x00000010) != 0)) {
        output.writeMessage(38, getPowerjack());
      }
      if (((bitField1_ & 0x00000020) != 0)) {
        output.writeMessage(39, getQuadball());
      }
      if (((bitField1_ & 0x00000040) != 0)) {
        output.writeMessage(40, getReserveShooter());
      }
      if (((bitField1_ & 0x00000080) != 0)) {
        output.writeMessage(41, getRidingCrop());
      }
      if (((bitField1_ & 0x00000100) != 0)) {
        output.writeMessage(42, getRussianRiot());
      }
      if (((bitField1_ & 0x00000200) != 0)) {
        output.writeMessage(43, getScimitar());
      }
      if (((bitField1_ & 0x00000400) != 0)) {
        output.writeMessage(44, getScorchShot());
      }
      if (((bitField1_ & 0x00000800) != 0)) {
        output.writeMessage(45, getShortstop());
      }
      if (((bitField1_ & 0x00001000) != 0)) {
        output.writeMessage(46, getSodaPopper());
      }
      if (((bitField1_ & 0x00002000) != 0)) {
        output.writeMessage(47, getTeleShotgun());
      }
      if (((bitField1_ & 0x00004000) != 0)) {
        output.writeMessage(48, getTomislav());
      }
      if (((bitField1_ & 0x00008000) != 0)) {
        output.writeMessage(49, getTrenchgun());
      }
      if (((bitField1_ & 0x00010000) != 0)) {
        output.writeMessage(50, getWingerPistol());
      }
      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
          .computeMessageSize(1, getHeader());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(2, locDesctoken_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getOperationTemplate());
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(4, hasTeamTextures_);
      }
      for (int i = 0; i < item_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, item_.get(i));
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, getPaintkitTool());
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(7, getFlamethrower());
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(8, getGrenadelauncher());
      }
      if (((bitField0_ & 0x00000080) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(9, getKnife());
      }
      if (((bitField0_ & 0x00000100) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(10, getMedigun());
      }
      if (((bitField0_ & 0x00000200) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(11, getMinigun());
      }
      if (((bitField0_ & 0x00000400) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(12, getPistol());
      }
      if (((bitField0_ & 0x00000800) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(13, getRevolver());
      }
      if (((bitField0_ & 0x00001000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(14, getRocketlauncher());
      }
      if (((bitField0_ & 0x00002000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(15, getScattergun());
      }
      if (((bitField0_ & 0x00004000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(16, getShotgun());
      }
      if (((bitField0_ & 0x00008000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(17, getSmg());
      }
      if (((bitField0_ & 0x00010000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(18, getSniperrifle());
      }
      if (((bitField0_ & 0x00020000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(19, getStickybombLauncher());
      }
      if (((bitField0_ & 0x00040000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(20, getUbersaw());
      }
      if (((bitField0_ & 0x00080000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(21, getWrench());
      }
      if (((bitField0_ & 0x00100000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(22, getAmputator());
      }
      if (((bitField0_ & 0x00200000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(23, getAtomLauncher());
      }
      if (((bitField0_ & 0x00400000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(24, getBackScratcher());
      }
      if (((bitField0_ & 0x00800000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(25, getBattleaxe());
      }
      if (((bitField0_ & 0x01000000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(26, getBazaarSniper());
      }
      if (((bitField0_ & 0x02000000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(27, getBlackbox());
      }
      if (((bitField0_ & 0x04000000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(28, getClaidheamohmor());
      }
      if (((bitField0_ & 0x08000000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(29, getCrusadersCrossbow());
      }
      if (((bitField0_ & 0x10000000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(30, getDegreaser());
      }
      if (((bitField0_ & 0x20000000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(31, getDemoCannon());
      }
      if (((bitField0_ & 0x40000000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(32, getDemoSultanSword());
      }
      if (((bitField0_ & 0x80000000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(33, getDetonator());
      }
      if (((bitField1_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(34, getGatlingGun());
      }
      if (((bitField1_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(35, getHolymackerel());
      }
      if (((bitField1_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(36, getJag());
      }
      if (((bitField1_ & 0x00000008) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(37, getLochnload());
      }
      if (((bitField1_ & 0x00000010) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(38, getPowerjack());
      }
      if (((bitField1_ & 0x00000020) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(39, getQuadball());
      }
      if (((bitField1_ & 0x00000040) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(40, getReserveShooter());
      }
      if (((bitField1_ & 0x00000080) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(41, getRidingCrop());
      }
      if (((bitField1_ & 0x00000100) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(42, getRussianRiot());
      }
      if (((bitField1_ & 0x00000200) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(43, getScimitar());
      }
      if (((bitField1_ & 0x00000400) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(44, getScorchShot());
      }
      if (((bitField1_ & 0x00000800) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(45, getShortstop());
      }
      if (((bitField1_ & 0x00001000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(46, getSodaPopper());
      }
      if (((bitField1_ & 0x00002000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(47, getTeleShotgun());
      }
      if (((bitField1_ & 0x00004000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(48, getTomislav());
      }
      if (((bitField1_ & 0x00008000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(49, getTrenchgun());
      }
      if (((bitField1_ & 0x00010000) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(50, getWingerPistol());
      }
      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.TfProtoDefMessages.CMsgPaintKit_Definition)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition) obj;

      if (hasHeader() != other.hasHeader()) return false;
      if (hasHeader()) {
        if (!getHeader()
            .equals(other.getHeader())) return false;
      }
      if (hasLocDesctoken() != other.hasLocDesctoken()) return false;
      if (hasLocDesctoken()) {
        if (!getLocDesctoken()
            .equals(other.getLocDesctoken())) return false;
      }
      if (hasOperationTemplate() != other.hasOperationTemplate()) return false;
      if (hasOperationTemplate()) {
        if (!getOperationTemplate()
            .equals(other.getOperationTemplate())) return false;
      }
      if (hasHasTeamTextures() != other.hasHasTeamTextures()) return false;
      if (hasHasTeamTextures()) {
        if (getHasTeamTextures()
            != other.getHasTeamTextures()) return false;
      }
      if (!getItemList()
          .equals(other.getItemList())) return false;
      if (hasPaintkitTool() != other.hasPaintkitTool()) return false;
      if (hasPaintkitTool()) {
        if (!getPaintkitTool()
            .equals(other.getPaintkitTool())) return false;
      }
      if (hasFlamethrower() != other.hasFlamethrower()) return false;
      if (hasFlamethrower()) {
        if (!getFlamethrower()
            .equals(other.getFlamethrower())) return false;
      }
      if (hasGrenadelauncher() != other.hasGrenadelauncher()) return false;
      if (hasGrenadelauncher()) {
        if (!getGrenadelauncher()
            .equals(other.getGrenadelauncher())) return false;
      }
      if (hasKnife() != other.hasKnife()) return false;
      if (hasKnife()) {
        if (!getKnife()
            .equals(other.getKnife())) return false;
      }
      if (hasMedigun() != other.hasMedigun()) return false;
      if (hasMedigun()) {
        if (!getMedigun()
            .equals(other.getMedigun())) return false;
      }
      if (hasMinigun() != other.hasMinigun()) return false;
      if (hasMinigun()) {
        if (!getMinigun()
            .equals(other.getMinigun())) return false;
      }
      if (hasPistol() != other.hasPistol()) return false;
      if (hasPistol()) {
        if (!getPistol()
            .equals(other.getPistol())) return false;
      }
      if (hasRevolver() != other.hasRevolver()) return false;
      if (hasRevolver()) {
        if (!getRevolver()
            .equals(other.getRevolver())) return false;
      }
      if (hasRocketlauncher() != other.hasRocketlauncher()) return false;
      if (hasRocketlauncher()) {
        if (!getRocketlauncher()
            .equals(other.getRocketlauncher())) return false;
      }
      if (hasScattergun() != other.hasScattergun()) return false;
      if (hasScattergun()) {
        if (!getScattergun()
            .equals(other.getScattergun())) return false;
      }
      if (hasShotgun() != other.hasShotgun()) return false;
      if (hasShotgun()) {
        if (!getShotgun()
            .equals(other.getShotgun())) return false;
      }
      if (hasSmg() != other.hasSmg()) return false;
      if (hasSmg()) {
        if (!getSmg()
            .equals(other.getSmg())) return false;
      }
      if (hasSniperrifle() != other.hasSniperrifle()) return false;
      if (hasSniperrifle()) {
        if (!getSniperrifle()
            .equals(other.getSniperrifle())) return false;
      }
      if (hasStickybombLauncher() != other.hasStickybombLauncher()) return false;
      if (hasStickybombLauncher()) {
        if (!getStickybombLauncher()
            .equals(other.getStickybombLauncher())) return false;
      }
      if (hasUbersaw() != other.hasUbersaw()) return false;
      if (hasUbersaw()) {
        if (!getUbersaw()
            .equals(other.getUbersaw())) return false;
      }
      if (hasWrench() != other.hasWrench()) return false;
      if (hasWrench()) {
        if (!getWrench()
            .equals(other.getWrench())) return false;
      }
      if (hasAmputator() != other.hasAmputator()) return false;
      if (hasAmputator()) {
        if (!getAmputator()
            .equals(other.getAmputator())) return false;
      }
      if (hasAtomLauncher() != other.hasAtomLauncher()) return false;
      if (hasAtomLauncher()) {
        if (!getAtomLauncher()
            .equals(other.getAtomLauncher())) return false;
      }
      if (hasBackScratcher() != other.hasBackScratcher()) return false;
      if (hasBackScratcher()) {
        if (!getBackScratcher()
            .equals(other.getBackScratcher())) return false;
      }
      if (hasBattleaxe() != other.hasBattleaxe()) return false;
      if (hasBattleaxe()) {
        if (!getBattleaxe()
            .equals(other.getBattleaxe())) return false;
      }
      if (hasBazaarSniper() != other.hasBazaarSniper()) return false;
      if (hasBazaarSniper()) {
        if (!getBazaarSniper()
            .equals(other.getBazaarSniper())) return false;
      }
      if (hasBlackbox() != other.hasBlackbox()) return false;
      if (hasBlackbox()) {
        if (!getBlackbox()
            .equals(other.getBlackbox())) return false;
      }
      if (hasClaidheamohmor() != other.hasClaidheamohmor()) return false;
      if (hasClaidheamohmor()) {
        if (!getClaidheamohmor()
            .equals(other.getClaidheamohmor())) return false;
      }
      if (hasCrusadersCrossbow() != other.hasCrusadersCrossbow()) return false;
      if (hasCrusadersCrossbow()) {
        if (!getCrusadersCrossbow()
            .equals(other.getCrusadersCrossbow())) return false;
      }
      if (hasDegreaser() != other.hasDegreaser()) return false;
      if (hasDegreaser()) {
        if (!getDegreaser()
            .equals(other.getDegreaser())) return false;
      }
      if (hasDemoCannon() != other.hasDemoCannon()) return false;
      if (hasDemoCannon()) {
        if (!getDemoCannon()
            .equals(other.getDemoCannon())) return false;
      }
      if (hasDemoSultanSword() != other.hasDemoSultanSword()) return false;
      if (hasDemoSultanSword()) {
        if (!getDemoSultanSword()
            .equals(other.getDemoSultanSword())) return false;
      }
      if (hasDetonator() != other.hasDetonator()) return false;
      if (hasDetonator()) {
        if (!getDetonator()
            .equals(other.getDetonator())) return false;
      }
      if (hasGatlingGun() != other.hasGatlingGun()) return false;
      if (hasGatlingGun()) {
        if (!getGatlingGun()
            .equals(other.getGatlingGun())) return false;
      }
      if (hasHolymackerel() != other.hasHolymackerel()) return false;
      if (hasHolymackerel()) {
        if (!getHolymackerel()
            .equals(other.getHolymackerel())) return false;
      }
      if (hasJag() != other.hasJag()) return false;
      if (hasJag()) {
        if (!getJag()
            .equals(other.getJag())) return false;
      }
      if (hasLochnload() != other.hasLochnload()) return false;
      if (hasLochnload()) {
        if (!getLochnload()
            .equals(other.getLochnload())) return false;
      }
      if (hasPowerjack() != other.hasPowerjack()) return false;
      if (hasPowerjack()) {
        if (!getPowerjack()
            .equals(other.getPowerjack())) return false;
      }
      if (hasQuadball() != other.hasQuadball()) return false;
      if (hasQuadball()) {
        if (!getQuadball()
            .equals(other.getQuadball())) return false;
      }
      if (hasReserveShooter() != other.hasReserveShooter()) return false;
      if (hasReserveShooter()) {
        if (!getReserveShooter()
            .equals(other.getReserveShooter())) return false;
      }
      if (hasRidingCrop() != other.hasRidingCrop()) return false;
      if (hasRidingCrop()) {
        if (!getRidingCrop()
            .equals(other.getRidingCrop())) return false;
      }
      if (hasRussianRiot() != other.hasRussianRiot()) return false;
      if (hasRussianRiot()) {
        if (!getRussianRiot()
            .equals(other.getRussianRiot())) return false;
      }
      if (hasScimitar() != other.hasScimitar()) return false;
      if (hasScimitar()) {
        if (!getScimitar()
            .equals(other.getScimitar())) return false;
      }
      if (hasScorchShot() != other.hasScorchShot()) return false;
      if (hasScorchShot()) {
        if (!getScorchShot()
            .equals(other.getScorchShot())) return false;
      }
      if (hasShortstop() != other.hasShortstop()) return false;
      if (hasShortstop()) {
        if (!getShortstop()
            .equals(other.getShortstop())) return false;
      }
      if (hasSodaPopper() != other.hasSodaPopper()) return false;
      if (hasSodaPopper()) {
        if (!getSodaPopper()
            .equals(other.getSodaPopper())) return false;
      }
      if (hasTeleShotgun() != other.hasTeleShotgun()) return false;
      if (hasTeleShotgun()) {
        if (!getTeleShotgun()
            .equals(other.getTeleShotgun())) return false;
      }
      if (hasTomislav() != other.hasTomislav()) return false;
      if (hasTomislav()) {
        if (!getTomislav()
            .equals(other.getTomislav())) return false;
      }
      if (hasTrenchgun() != other.hasTrenchgun()) return false;
      if (hasTrenchgun()) {
        if (!getTrenchgun()
            .equals(other.getTrenchgun())) return false;
      }
      if (hasWingerPistol() != other.hasWingerPistol()) return false;
      if (hasWingerPistol()) {
        if (!getWingerPistol()
            .equals(other.getWingerPistol())) 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 (hasHeader()) {
        hash = (37 * hash) + HEADER_FIELD_NUMBER;
        hash = (53 * hash) + getHeader().hashCode();
      }
      if (hasLocDesctoken()) {
        hash = (37 * hash) + LOC_DESCTOKEN_FIELD_NUMBER;
        hash = (53 * hash) + getLocDesctoken().hashCode();
      }
      if (hasOperationTemplate()) {
        hash = (37 * hash) + OPERATION_TEMPLATE_FIELD_NUMBER;
        hash = (53 * hash) + getOperationTemplate().hashCode();
      }
      if (hasHasTeamTextures()) {
        hash = (37 * hash) + HAS_TEAM_TEXTURES_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getHasTeamTextures());
      }
      if (getItemCount() > 0) {
        hash = (37 * hash) + ITEM_FIELD_NUMBER;
        hash = (53 * hash) + getItemList().hashCode();
      }
      if (hasPaintkitTool()) {
        hash = (37 * hash) + PAINTKIT_TOOL_FIELD_NUMBER;
        hash = (53 * hash) + getPaintkitTool().hashCode();
      }
      if (hasFlamethrower()) {
        hash = (37 * hash) + FLAMETHROWER_FIELD_NUMBER;
        hash = (53 * hash) + getFlamethrower().hashCode();
      }
      if (hasGrenadelauncher()) {
        hash = (37 * hash) + GRENADELAUNCHER_FIELD_NUMBER;
        hash = (53 * hash) + getGrenadelauncher().hashCode();
      }
      if (hasKnife()) {
        hash = (37 * hash) + KNIFE_FIELD_NUMBER;
        hash = (53 * hash) + getKnife().hashCode();
      }
      if (hasMedigun()) {
        hash = (37 * hash) + MEDIGUN_FIELD_NUMBER;
        hash = (53 * hash) + getMedigun().hashCode();
      }
      if (hasMinigun()) {
        hash = (37 * hash) + MINIGUN_FIELD_NUMBER;
        hash = (53 * hash) + getMinigun().hashCode();
      }
      if (hasPistol()) {
        hash = (37 * hash) + PISTOL_FIELD_NUMBER;
        hash = (53 * hash) + getPistol().hashCode();
      }
      if (hasRevolver()) {
        hash = (37 * hash) + REVOLVER_FIELD_NUMBER;
        hash = (53 * hash) + getRevolver().hashCode();
      }
      if (hasRocketlauncher()) {
        hash = (37 * hash) + ROCKETLAUNCHER_FIELD_NUMBER;
        hash = (53 * hash) + getRocketlauncher().hashCode();
      }
      if (hasScattergun()) {
        hash = (37 * hash) + SCATTERGUN_FIELD_NUMBER;
        hash = (53 * hash) + getScattergun().hashCode();
      }
      if (hasShotgun()) {
        hash = (37 * hash) + SHOTGUN_FIELD_NUMBER;
        hash = (53 * hash) + getShotgun().hashCode();
      }
      if (hasSmg()) {
        hash = (37 * hash) + SMG_FIELD_NUMBER;
        hash = (53 * hash) + getSmg().hashCode();
      }
      if (hasSniperrifle()) {
        hash = (37 * hash) + SNIPERRIFLE_FIELD_NUMBER;
        hash = (53 * hash) + getSniperrifle().hashCode();
      }
      if (hasStickybombLauncher()) {
        hash = (37 * hash) + STICKYBOMB_LAUNCHER_FIELD_NUMBER;
        hash = (53 * hash) + getStickybombLauncher().hashCode();
      }
      if (hasUbersaw()) {
        hash = (37 * hash) + UBERSAW_FIELD_NUMBER;
        hash = (53 * hash) + getUbersaw().hashCode();
      }
      if (hasWrench()) {
        hash = (37 * hash) + WRENCH_FIELD_NUMBER;
        hash = (53 * hash) + getWrench().hashCode();
      }
      if (hasAmputator()) {
        hash = (37 * hash) + AMPUTATOR_FIELD_NUMBER;
        hash = (53 * hash) + getAmputator().hashCode();
      }
      if (hasAtomLauncher()) {
        hash = (37 * hash) + ATOM_LAUNCHER_FIELD_NUMBER;
        hash = (53 * hash) + getAtomLauncher().hashCode();
      }
      if (hasBackScratcher()) {
        hash = (37 * hash) + BACK_SCRATCHER_FIELD_NUMBER;
        hash = (53 * hash) + getBackScratcher().hashCode();
      }
      if (hasBattleaxe()) {
        hash = (37 * hash) + BATTLEAXE_FIELD_NUMBER;
        hash = (53 * hash) + getBattleaxe().hashCode();
      }
      if (hasBazaarSniper()) {
        hash = (37 * hash) + BAZAAR_SNIPER_FIELD_NUMBER;
        hash = (53 * hash) + getBazaarSniper().hashCode();
      }
      if (hasBlackbox()) {
        hash = (37 * hash) + BLACKBOX_FIELD_NUMBER;
        hash = (53 * hash) + getBlackbox().hashCode();
      }
      if (hasClaidheamohmor()) {
        hash = (37 * hash) + CLAIDHEAMOHMOR_FIELD_NUMBER;
        hash = (53 * hash) + getClaidheamohmor().hashCode();
      }
      if (hasCrusadersCrossbow()) {
        hash = (37 * hash) + CRUSADERS_CROSSBOW_FIELD_NUMBER;
        hash = (53 * hash) + getCrusadersCrossbow().hashCode();
      }
      if (hasDegreaser()) {
        hash = (37 * hash) + DEGREASER_FIELD_NUMBER;
        hash = (53 * hash) + getDegreaser().hashCode();
      }
      if (hasDemoCannon()) {
        hash = (37 * hash) + DEMO_CANNON_FIELD_NUMBER;
        hash = (53 * hash) + getDemoCannon().hashCode();
      }
      if (hasDemoSultanSword()) {
        hash = (37 * hash) + DEMO_SULTAN_SWORD_FIELD_NUMBER;
        hash = (53 * hash) + getDemoSultanSword().hashCode();
      }
      if (hasDetonator()) {
        hash = (37 * hash) + DETONATOR_FIELD_NUMBER;
        hash = (53 * hash) + getDetonator().hashCode();
      }
      if (hasGatlingGun()) {
        hash = (37 * hash) + GATLING_GUN_FIELD_NUMBER;
        hash = (53 * hash) + getGatlingGun().hashCode();
      }
      if (hasHolymackerel()) {
        hash = (37 * hash) + HOLYMACKEREL_FIELD_NUMBER;
        hash = (53 * hash) + getHolymackerel().hashCode();
      }
      if (hasJag()) {
        hash = (37 * hash) + JAG_FIELD_NUMBER;
        hash = (53 * hash) + getJag().hashCode();
      }
      if (hasLochnload()) {
        hash = (37 * hash) + LOCHNLOAD_FIELD_NUMBER;
        hash = (53 * hash) + getLochnload().hashCode();
      }
      if (hasPowerjack()) {
        hash = (37 * hash) + POWERJACK_FIELD_NUMBER;
        hash = (53 * hash) + getPowerjack().hashCode();
      }
      if (hasQuadball()) {
        hash = (37 * hash) + QUADBALL_FIELD_NUMBER;
        hash = (53 * hash) + getQuadball().hashCode();
      }
      if (hasReserveShooter()) {
        hash = (37 * hash) + RESERVE_SHOOTER_FIELD_NUMBER;
        hash = (53 * hash) + getReserveShooter().hashCode();
      }
      if (hasRidingCrop()) {
        hash = (37 * hash) + RIDING_CROP_FIELD_NUMBER;
        hash = (53 * hash) + getRidingCrop().hashCode();
      }
      if (hasRussianRiot()) {
        hash = (37 * hash) + RUSSIAN_RIOT_FIELD_NUMBER;
        hash = (53 * hash) + getRussianRiot().hashCode();
      }
      if (hasScimitar()) {
        hash = (37 * hash) + SCIMITAR_FIELD_NUMBER;
        hash = (53 * hash) + getScimitar().hashCode();
      }
      if (hasScorchShot()) {
        hash = (37 * hash) + SCORCH_SHOT_FIELD_NUMBER;
        hash = (53 * hash) + getScorchShot().hashCode();
      }
      if (hasShortstop()) {
        hash = (37 * hash) + SHORTSTOP_FIELD_NUMBER;
        hash = (53 * hash) + getShortstop().hashCode();
      }
      if (hasSodaPopper()) {
        hash = (37 * hash) + SODA_POPPER_FIELD_NUMBER;
        hash = (53 * hash) + getSodaPopper().hashCode();
      }
      if (hasTeleShotgun()) {
        hash = (37 * hash) + TELE_SHOTGUN_FIELD_NUMBER;
        hash = (53 * hash) + getTeleShotgun().hashCode();
      }
      if (hasTomislav()) {
        hash = (37 * hash) + TOMISLAV_FIELD_NUMBER;
        hash = (53 * hash) + getTomislav().hashCode();
      }
      if (hasTrenchgun()) {
        hash = (37 * hash) + TRENCHGUN_FIELD_NUMBER;
        hash = (53 * hash) + getTrenchgun().hashCode();
      }
      if (hasWingerPistol()) {
        hash = (37 * hash) + WINGER_PISTOL_FIELD_NUMBER;
        hash = (53 * hash) + getWingerPistol().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition 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.TfProtoDefMessages.CMsgPaintKit_Definition parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition 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.TfProtoDefMessages.CMsgPaintKit_Definition parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition 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.TfProtoDefMessages.CMsgPaintKit_Definition parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition 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.TfProtoDefMessages.CMsgPaintKit_Definition parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition 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.TfProtoDefMessages.CMsgPaintKit_Definition 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.TfProtoDefMessages.CMsgPaintKit_Definition 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.TfProtoDefMessages.CMsgPaintKit_Definition 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 CMsgPaintKit_Definition}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgPaintKit_Definition)
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_DefinitionOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgPaintKit_Definition_descriptor;
      }

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

      // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage
                .alwaysUseFieldBuilders) {
          getHeaderFieldBuilder();
          getOperationTemplateFieldBuilder();
          getItemFieldBuilder();
          getPaintkitToolFieldBuilder();
          getFlamethrowerFieldBuilder();
          getGrenadelauncherFieldBuilder();
          getKnifeFieldBuilder();
          getMedigunFieldBuilder();
          getMinigunFieldBuilder();
          getPistolFieldBuilder();
          getRevolverFieldBuilder();
          getRocketlauncherFieldBuilder();
          getScattergunFieldBuilder();
          getShotgunFieldBuilder();
          getSmgFieldBuilder();
          getSniperrifleFieldBuilder();
          getStickybombLauncherFieldBuilder();
          getUbersawFieldBuilder();
          getWrenchFieldBuilder();
          getAmputatorFieldBuilder();
          getAtomLauncherFieldBuilder();
          getBackScratcherFieldBuilder();
          getBattleaxeFieldBuilder();
          getBazaarSniperFieldBuilder();
          getBlackboxFieldBuilder();
          getClaidheamohmorFieldBuilder();
          getCrusadersCrossbowFieldBuilder();
          getDegreaserFieldBuilder();
          getDemoCannonFieldBuilder();
          getDemoSultanSwordFieldBuilder();
          getDetonatorFieldBuilder();
          getGatlingGunFieldBuilder();
          getHolymackerelFieldBuilder();
          getJagFieldBuilder();
          getLochnloadFieldBuilder();
          getPowerjackFieldBuilder();
          getQuadballFieldBuilder();
          getReserveShooterFieldBuilder();
          getRidingCropFieldBuilder();
          getRussianRiotFieldBuilder();
          getScimitarFieldBuilder();
          getScorchShotFieldBuilder();
          getShortstopFieldBuilder();
          getSodaPopperFieldBuilder();
          getTeleShotgunFieldBuilder();
          getTomislavFieldBuilder();
          getTrenchgunFieldBuilder();
          getWingerPistolFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        bitField1_ = 0;
        header_ = null;
        if (headerBuilder_ != null) {
          headerBuilder_.dispose();
          headerBuilder_ = null;
        }
        locDesctoken_ = "";
        operationTemplate_ = null;
        if (operationTemplateBuilder_ != null) {
          operationTemplateBuilder_.dispose();
          operationTemplateBuilder_ = null;
        }
        hasTeamTextures_ = false;
        if (itemBuilder_ == null) {
          item_ = java.util.Collections.emptyList();
        } else {
          item_ = null;
          itemBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000010);
        paintkitTool_ = null;
        if (paintkitToolBuilder_ != null) {
          paintkitToolBuilder_.dispose();
          paintkitToolBuilder_ = null;
        }
        flamethrower_ = null;
        if (flamethrowerBuilder_ != null) {
          flamethrowerBuilder_.dispose();
          flamethrowerBuilder_ = null;
        }
        grenadelauncher_ = null;
        if (grenadelauncherBuilder_ != null) {
          grenadelauncherBuilder_.dispose();
          grenadelauncherBuilder_ = null;
        }
        knife_ = null;
        if (knifeBuilder_ != null) {
          knifeBuilder_.dispose();
          knifeBuilder_ = null;
        }
        medigun_ = null;
        if (medigunBuilder_ != null) {
          medigunBuilder_.dispose();
          medigunBuilder_ = null;
        }
        minigun_ = null;
        if (minigunBuilder_ != null) {
          minigunBuilder_.dispose();
          minigunBuilder_ = null;
        }
        pistol_ = null;
        if (pistolBuilder_ != null) {
          pistolBuilder_.dispose();
          pistolBuilder_ = null;
        }
        revolver_ = null;
        if (revolverBuilder_ != null) {
          revolverBuilder_.dispose();
          revolverBuilder_ = null;
        }
        rocketlauncher_ = null;
        if (rocketlauncherBuilder_ != null) {
          rocketlauncherBuilder_.dispose();
          rocketlauncherBuilder_ = null;
        }
        scattergun_ = null;
        if (scattergunBuilder_ != null) {
          scattergunBuilder_.dispose();
          scattergunBuilder_ = null;
        }
        shotgun_ = null;
        if (shotgunBuilder_ != null) {
          shotgunBuilder_.dispose();
          shotgunBuilder_ = null;
        }
        smg_ = null;
        if (smgBuilder_ != null) {
          smgBuilder_.dispose();
          smgBuilder_ = null;
        }
        sniperrifle_ = null;
        if (sniperrifleBuilder_ != null) {
          sniperrifleBuilder_.dispose();
          sniperrifleBuilder_ = null;
        }
        stickybombLauncher_ = null;
        if (stickybombLauncherBuilder_ != null) {
          stickybombLauncherBuilder_.dispose();
          stickybombLauncherBuilder_ = null;
        }
        ubersaw_ = null;
        if (ubersawBuilder_ != null) {
          ubersawBuilder_.dispose();
          ubersawBuilder_ = null;
        }
        wrench_ = null;
        if (wrenchBuilder_ != null) {
          wrenchBuilder_.dispose();
          wrenchBuilder_ = null;
        }
        amputator_ = null;
        if (amputatorBuilder_ != null) {
          amputatorBuilder_.dispose();
          amputatorBuilder_ = null;
        }
        atomLauncher_ = null;
        if (atomLauncherBuilder_ != null) {
          atomLauncherBuilder_.dispose();
          atomLauncherBuilder_ = null;
        }
        backScratcher_ = null;
        if (backScratcherBuilder_ != null) {
          backScratcherBuilder_.dispose();
          backScratcherBuilder_ = null;
        }
        battleaxe_ = null;
        if (battleaxeBuilder_ != null) {
          battleaxeBuilder_.dispose();
          battleaxeBuilder_ = null;
        }
        bazaarSniper_ = null;
        if (bazaarSniperBuilder_ != null) {
          bazaarSniperBuilder_.dispose();
          bazaarSniperBuilder_ = null;
        }
        blackbox_ = null;
        if (blackboxBuilder_ != null) {
          blackboxBuilder_.dispose();
          blackboxBuilder_ = null;
        }
        claidheamohmor_ = null;
        if (claidheamohmorBuilder_ != null) {
          claidheamohmorBuilder_.dispose();
          claidheamohmorBuilder_ = null;
        }
        crusadersCrossbow_ = null;
        if (crusadersCrossbowBuilder_ != null) {
          crusadersCrossbowBuilder_.dispose();
          crusadersCrossbowBuilder_ = null;
        }
        degreaser_ = null;
        if (degreaserBuilder_ != null) {
          degreaserBuilder_.dispose();
          degreaserBuilder_ = null;
        }
        demoCannon_ = null;
        if (demoCannonBuilder_ != null) {
          demoCannonBuilder_.dispose();
          demoCannonBuilder_ = null;
        }
        demoSultanSword_ = null;
        if (demoSultanSwordBuilder_ != null) {
          demoSultanSwordBuilder_.dispose();
          demoSultanSwordBuilder_ = null;
        }
        detonator_ = null;
        if (detonatorBuilder_ != null) {
          detonatorBuilder_.dispose();
          detonatorBuilder_ = null;
        }
        gatlingGun_ = null;
        if (gatlingGunBuilder_ != null) {
          gatlingGunBuilder_.dispose();
          gatlingGunBuilder_ = null;
        }
        holymackerel_ = null;
        if (holymackerelBuilder_ != null) {
          holymackerelBuilder_.dispose();
          holymackerelBuilder_ = null;
        }
        jag_ = null;
        if (jagBuilder_ != null) {
          jagBuilder_.dispose();
          jagBuilder_ = null;
        }
        lochnload_ = null;
        if (lochnloadBuilder_ != null) {
          lochnloadBuilder_.dispose();
          lochnloadBuilder_ = null;
        }
        powerjack_ = null;
        if (powerjackBuilder_ != null) {
          powerjackBuilder_.dispose();
          powerjackBuilder_ = null;
        }
        quadball_ = null;
        if (quadballBuilder_ != null) {
          quadballBuilder_.dispose();
          quadballBuilder_ = null;
        }
        reserveShooter_ = null;
        if (reserveShooterBuilder_ != null) {
          reserveShooterBuilder_.dispose();
          reserveShooterBuilder_ = null;
        }
        ridingCrop_ = null;
        if (ridingCropBuilder_ != null) {
          ridingCropBuilder_.dispose();
          ridingCropBuilder_ = null;
        }
        russianRiot_ = null;
        if (russianRiotBuilder_ != null) {
          russianRiotBuilder_.dispose();
          russianRiotBuilder_ = null;
        }
        scimitar_ = null;
        if (scimitarBuilder_ != null) {
          scimitarBuilder_.dispose();
          scimitarBuilder_ = null;
        }
        scorchShot_ = null;
        if (scorchShotBuilder_ != null) {
          scorchShotBuilder_.dispose();
          scorchShotBuilder_ = null;
        }
        shortstop_ = null;
        if (shortstopBuilder_ != null) {
          shortstopBuilder_.dispose();
          shortstopBuilder_ = null;
        }
        sodaPopper_ = null;
        if (sodaPopperBuilder_ != null) {
          sodaPopperBuilder_.dispose();
          sodaPopperBuilder_ = null;
        }
        teleShotgun_ = null;
        if (teleShotgunBuilder_ != null) {
          teleShotgunBuilder_.dispose();
          teleShotgunBuilder_ = null;
        }
        tomislav_ = null;
        if (tomislavBuilder_ != null) {
          tomislavBuilder_.dispose();
          tomislavBuilder_ = null;
        }
        trenchgun_ = null;
        if (trenchgunBuilder_ != null) {
          trenchgunBuilder_.dispose();
          trenchgunBuilder_ = null;
        }
        wingerPistol_ = null;
        if (wingerPistolBuilder_ != null) {
          wingerPistolBuilder_.dispose();
          wingerPistolBuilder_ = null;
        }
        return this;
      }

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

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

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

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

      private void buildPartialRepeatedFields(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition result) {
        if (itemBuilder_ == null) {
          if (((bitField0_ & 0x00000010) != 0)) {
            item_ = java.util.Collections.unmodifiableList(item_);
            bitField0_ = (bitField0_ & ~0x00000010);
          }
          result.item_ = item_;
        } else {
          result.item_ = itemBuilder_.build();
        }
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.header_ = headerBuilder_ == null
              ? header_
              : headerBuilder_.build();
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.locDesctoken_ = locDesctoken_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.operationTemplate_ = operationTemplateBuilder_ == null
              ? operationTemplate_
              : operationTemplateBuilder_.build();
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.hasTeamTextures_ = hasTeamTextures_;
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          result.paintkitTool_ = paintkitToolBuilder_ == null
              ? paintkitTool_
              : paintkitToolBuilder_.build();
          to_bitField0_ |= 0x00000010;
        }
        if (((from_bitField0_ & 0x00000040) != 0)) {
          result.flamethrower_ = flamethrowerBuilder_ == null
              ? flamethrower_
              : flamethrowerBuilder_.build();
          to_bitField0_ |= 0x00000020;
        }
        if (((from_bitField0_ & 0x00000080) != 0)) {
          result.grenadelauncher_ = grenadelauncherBuilder_ == null
              ? grenadelauncher_
              : grenadelauncherBuilder_.build();
          to_bitField0_ |= 0x00000040;
        }
        if (((from_bitField0_ & 0x00000100) != 0)) {
          result.knife_ = knifeBuilder_ == null
              ? knife_
              : knifeBuilder_.build();
          to_bitField0_ |= 0x00000080;
        }
        if (((from_bitField0_ & 0x00000200) != 0)) {
          result.medigun_ = medigunBuilder_ == null
              ? medigun_
              : medigunBuilder_.build();
          to_bitField0_ |= 0x00000100;
        }
        if (((from_bitField0_ & 0x00000400) != 0)) {
          result.minigun_ = minigunBuilder_ == null
              ? minigun_
              : minigunBuilder_.build();
          to_bitField0_ |= 0x00000200;
        }
        if (((from_bitField0_ & 0x00000800) != 0)) {
          result.pistol_ = pistolBuilder_ == null
              ? pistol_
              : pistolBuilder_.build();
          to_bitField0_ |= 0x00000400;
        }
        if (((from_bitField0_ & 0x00001000) != 0)) {
          result.revolver_ = revolverBuilder_ == null
              ? revolver_
              : revolverBuilder_.build();
          to_bitField0_ |= 0x00000800;
        }
        if (((from_bitField0_ & 0x00002000) != 0)) {
          result.rocketlauncher_ = rocketlauncherBuilder_ == null
              ? rocketlauncher_
              : rocketlauncherBuilder_.build();
          to_bitField0_ |= 0x00001000;
        }
        if (((from_bitField0_ & 0x00004000) != 0)) {
          result.scattergun_ = scattergunBuilder_ == null
              ? scattergun_
              : scattergunBuilder_.build();
          to_bitField0_ |= 0x00002000;
        }
        if (((from_bitField0_ & 0x00008000) != 0)) {
          result.shotgun_ = shotgunBuilder_ == null
              ? shotgun_
              : shotgunBuilder_.build();
          to_bitField0_ |= 0x00004000;
        }
        if (((from_bitField0_ & 0x00010000) != 0)) {
          result.smg_ = smgBuilder_ == null
              ? smg_
              : smgBuilder_.build();
          to_bitField0_ |= 0x00008000;
        }
        if (((from_bitField0_ & 0x00020000) != 0)) {
          result.sniperrifle_ = sniperrifleBuilder_ == null
              ? sniperrifle_
              : sniperrifleBuilder_.build();
          to_bitField0_ |= 0x00010000;
        }
        if (((from_bitField0_ & 0x00040000) != 0)) {
          result.stickybombLauncher_ = stickybombLauncherBuilder_ == null
              ? stickybombLauncher_
              : stickybombLauncherBuilder_.build();
          to_bitField0_ |= 0x00020000;
        }
        if (((from_bitField0_ & 0x00080000) != 0)) {
          result.ubersaw_ = ubersawBuilder_ == null
              ? ubersaw_
              : ubersawBuilder_.build();
          to_bitField0_ |= 0x00040000;
        }
        if (((from_bitField0_ & 0x00100000) != 0)) {
          result.wrench_ = wrenchBuilder_ == null
              ? wrench_
              : wrenchBuilder_.build();
          to_bitField0_ |= 0x00080000;
        }
        if (((from_bitField0_ & 0x00200000) != 0)) {
          result.amputator_ = amputatorBuilder_ == null
              ? amputator_
              : amputatorBuilder_.build();
          to_bitField0_ |= 0x00100000;
        }
        if (((from_bitField0_ & 0x00400000) != 0)) {
          result.atomLauncher_ = atomLauncherBuilder_ == null
              ? atomLauncher_
              : atomLauncherBuilder_.build();
          to_bitField0_ |= 0x00200000;
        }
        if (((from_bitField0_ & 0x00800000) != 0)) {
          result.backScratcher_ = backScratcherBuilder_ == null
              ? backScratcher_
              : backScratcherBuilder_.build();
          to_bitField0_ |= 0x00400000;
        }
        if (((from_bitField0_ & 0x01000000) != 0)) {
          result.battleaxe_ = battleaxeBuilder_ == null
              ? battleaxe_
              : battleaxeBuilder_.build();
          to_bitField0_ |= 0x00800000;
        }
        if (((from_bitField0_ & 0x02000000) != 0)) {
          result.bazaarSniper_ = bazaarSniperBuilder_ == null
              ? bazaarSniper_
              : bazaarSniperBuilder_.build();
          to_bitField0_ |= 0x01000000;
        }
        if (((from_bitField0_ & 0x04000000) != 0)) {
          result.blackbox_ = blackboxBuilder_ == null
              ? blackbox_
              : blackboxBuilder_.build();
          to_bitField0_ |= 0x02000000;
        }
        if (((from_bitField0_ & 0x08000000) != 0)) {
          result.claidheamohmor_ = claidheamohmorBuilder_ == null
              ? claidheamohmor_
              : claidheamohmorBuilder_.build();
          to_bitField0_ |= 0x04000000;
        }
        if (((from_bitField0_ & 0x10000000) != 0)) {
          result.crusadersCrossbow_ = crusadersCrossbowBuilder_ == null
              ? crusadersCrossbow_
              : crusadersCrossbowBuilder_.build();
          to_bitField0_ |= 0x08000000;
        }
        if (((from_bitField0_ & 0x20000000) != 0)) {
          result.degreaser_ = degreaserBuilder_ == null
              ? degreaser_
              : degreaserBuilder_.build();
          to_bitField0_ |= 0x10000000;
        }
        if (((from_bitField0_ & 0x40000000) != 0)) {
          result.demoCannon_ = demoCannonBuilder_ == null
              ? demoCannon_
              : demoCannonBuilder_.build();
          to_bitField0_ |= 0x20000000;
        }
        if (((from_bitField0_ & 0x80000000) != 0)) {
          result.demoSultanSword_ = demoSultanSwordBuilder_ == null
              ? demoSultanSword_
              : demoSultanSwordBuilder_.build();
          to_bitField0_ |= 0x40000000;
        }
        result.bitField0_ |= to_bitField0_;
      }

      private void buildPartial1(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition result) {
        int from_bitField1_ = bitField1_;
        int to_bitField0_ = 0;
        if (((from_bitField1_ & 0x00000001) != 0)) {
          result.detonator_ = detonatorBuilder_ == null
              ? detonator_
              : detonatorBuilder_.build();
          to_bitField0_ |= 0x80000000;
        }
        int to_bitField1_ = 0;
        if (((from_bitField1_ & 0x00000002) != 0)) {
          result.gatlingGun_ = gatlingGunBuilder_ == null
              ? gatlingGun_
              : gatlingGunBuilder_.build();
          to_bitField1_ |= 0x00000001;
        }
        if (((from_bitField1_ & 0x00000004) != 0)) {
          result.holymackerel_ = holymackerelBuilder_ == null
              ? holymackerel_
              : holymackerelBuilder_.build();
          to_bitField1_ |= 0x00000002;
        }
        if (((from_bitField1_ & 0x00000008) != 0)) {
          result.jag_ = jagBuilder_ == null
              ? jag_
              : jagBuilder_.build();
          to_bitField1_ |= 0x00000004;
        }
        if (((from_bitField1_ & 0x00000010) != 0)) {
          result.lochnload_ = lochnloadBuilder_ == null
              ? lochnload_
              : lochnloadBuilder_.build();
          to_bitField1_ |= 0x00000008;
        }
        if (((from_bitField1_ & 0x00000020) != 0)) {
          result.powerjack_ = powerjackBuilder_ == null
              ? powerjack_
              : powerjackBuilder_.build();
          to_bitField1_ |= 0x00000010;
        }
        if (((from_bitField1_ & 0x00000040) != 0)) {
          result.quadball_ = quadballBuilder_ == null
              ? quadball_
              : quadballBuilder_.build();
          to_bitField1_ |= 0x00000020;
        }
        if (((from_bitField1_ & 0x00000080) != 0)) {
          result.reserveShooter_ = reserveShooterBuilder_ == null
              ? reserveShooter_
              : reserveShooterBuilder_.build();
          to_bitField1_ |= 0x00000040;
        }
        if (((from_bitField1_ & 0x00000100) != 0)) {
          result.ridingCrop_ = ridingCropBuilder_ == null
              ? ridingCrop_
              : ridingCropBuilder_.build();
          to_bitField1_ |= 0x00000080;
        }
        if (((from_bitField1_ & 0x00000200) != 0)) {
          result.russianRiot_ = russianRiotBuilder_ == null
              ? russianRiot_
              : russianRiotBuilder_.build();
          to_bitField1_ |= 0x00000100;
        }
        if (((from_bitField1_ & 0x00000400) != 0)) {
          result.scimitar_ = scimitarBuilder_ == null
              ? scimitar_
              : scimitarBuilder_.build();
          to_bitField1_ |= 0x00000200;
        }
        if (((from_bitField1_ & 0x00000800) != 0)) {
          result.scorchShot_ = scorchShotBuilder_ == null
              ? scorchShot_
              : scorchShotBuilder_.build();
          to_bitField1_ |= 0x00000400;
        }
        if (((from_bitField1_ & 0x00001000) != 0)) {
          result.shortstop_ = shortstopBuilder_ == null
              ? shortstop_
              : shortstopBuilder_.build();
          to_bitField1_ |= 0x00000800;
        }
        if (((from_bitField1_ & 0x00002000) != 0)) {
          result.sodaPopper_ = sodaPopperBuilder_ == null
              ? sodaPopper_
              : sodaPopperBuilder_.build();
          to_bitField1_ |= 0x00001000;
        }
        if (((from_bitField1_ & 0x00004000) != 0)) {
          result.teleShotgun_ = teleShotgunBuilder_ == null
              ? teleShotgun_
              : teleShotgunBuilder_.build();
          to_bitField1_ |= 0x00002000;
        }
        if (((from_bitField1_ & 0x00008000) != 0)) {
          result.tomislav_ = tomislavBuilder_ == null
              ? tomislav_
              : tomislavBuilder_.build();
          to_bitField1_ |= 0x00004000;
        }
        if (((from_bitField1_ & 0x00010000) != 0)) {
          result.trenchgun_ = trenchgunBuilder_ == null
              ? trenchgun_
              : trenchgunBuilder_.build();
          to_bitField1_ |= 0x00008000;
        }
        if (((from_bitField1_ & 0x00020000) != 0)) {
          result.wingerPistol_ = wingerPistolBuilder_ == null
              ? wingerPistol_
              : wingerPistolBuilder_.build();
          to_bitField1_ |= 0x00010000;
        }
        result.bitField0_ |= to_bitField0_;
        result.bitField1_ |= to_bitField1_;
      }

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

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.getDefaultInstance()) return this;
        if (other.hasHeader()) {
          mergeHeader(other.getHeader());
        }
        if (other.hasLocDesctoken()) {
          locDesctoken_ = other.locDesctoken_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        if (other.hasOperationTemplate()) {
          mergeOperationTemplate(other.getOperationTemplate());
        }
        if (other.hasHasTeamTextures()) {
          setHasTeamTextures(other.getHasTeamTextures());
        }
        if (itemBuilder_ == null) {
          if (!other.item_.isEmpty()) {
            if (item_.isEmpty()) {
              item_ = other.item_;
              bitField0_ = (bitField0_ & ~0x00000010);
            } else {
              ensureItemIsMutable();
              item_.addAll(other.item_);
            }
            onChanged();
          }
        } else {
          if (!other.item_.isEmpty()) {
            if (itemBuilder_.isEmpty()) {
              itemBuilder_.dispose();
              itemBuilder_ = null;
              item_ = other.item_;
              bitField0_ = (bitField0_ & ~0x00000010);
              itemBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getItemFieldBuilder() : null;
            } else {
              itemBuilder_.addAllMessages(other.item_);
            }
          }
        }
        if (other.hasPaintkitTool()) {
          mergePaintkitTool(other.getPaintkitTool());
        }
        if (other.hasFlamethrower()) {
          mergeFlamethrower(other.getFlamethrower());
        }
        if (other.hasGrenadelauncher()) {
          mergeGrenadelauncher(other.getGrenadelauncher());
        }
        if (other.hasKnife()) {
          mergeKnife(other.getKnife());
        }
        if (other.hasMedigun()) {
          mergeMedigun(other.getMedigun());
        }
        if (other.hasMinigun()) {
          mergeMinigun(other.getMinigun());
        }
        if (other.hasPistol()) {
          mergePistol(other.getPistol());
        }
        if (other.hasRevolver()) {
          mergeRevolver(other.getRevolver());
        }
        if (other.hasRocketlauncher()) {
          mergeRocketlauncher(other.getRocketlauncher());
        }
        if (other.hasScattergun()) {
          mergeScattergun(other.getScattergun());
        }
        if (other.hasShotgun()) {
          mergeShotgun(other.getShotgun());
        }
        if (other.hasSmg()) {
          mergeSmg(other.getSmg());
        }
        if (other.hasSniperrifle()) {
          mergeSniperrifle(other.getSniperrifle());
        }
        if (other.hasStickybombLauncher()) {
          mergeStickybombLauncher(other.getStickybombLauncher());
        }
        if (other.hasUbersaw()) {
          mergeUbersaw(other.getUbersaw());
        }
        if (other.hasWrench()) {
          mergeWrench(other.getWrench());
        }
        if (other.hasAmputator()) {
          mergeAmputator(other.getAmputator());
        }
        if (other.hasAtomLauncher()) {
          mergeAtomLauncher(other.getAtomLauncher());
        }
        if (other.hasBackScratcher()) {
          mergeBackScratcher(other.getBackScratcher());
        }
        if (other.hasBattleaxe()) {
          mergeBattleaxe(other.getBattleaxe());
        }
        if (other.hasBazaarSniper()) {
          mergeBazaarSniper(other.getBazaarSniper());
        }
        if (other.hasBlackbox()) {
          mergeBlackbox(other.getBlackbox());
        }
        if (other.hasClaidheamohmor()) {
          mergeClaidheamohmor(other.getClaidheamohmor());
        }
        if (other.hasCrusadersCrossbow()) {
          mergeCrusadersCrossbow(other.getCrusadersCrossbow());
        }
        if (other.hasDegreaser()) {
          mergeDegreaser(other.getDegreaser());
        }
        if (other.hasDemoCannon()) {
          mergeDemoCannon(other.getDemoCannon());
        }
        if (other.hasDemoSultanSword()) {
          mergeDemoSultanSword(other.getDemoSultanSword());
        }
        if (other.hasDetonator()) {
          mergeDetonator(other.getDetonator());
        }
        if (other.hasGatlingGun()) {
          mergeGatlingGun(other.getGatlingGun());
        }
        if (other.hasHolymackerel()) {
          mergeHolymackerel(other.getHolymackerel());
        }
        if (other.hasJag()) {
          mergeJag(other.getJag());
        }
        if (other.hasLochnload()) {
          mergeLochnload(other.getLochnload());
        }
        if (other.hasPowerjack()) {
          mergePowerjack(other.getPowerjack());
        }
        if (other.hasQuadball()) {
          mergeQuadball(other.getQuadball());
        }
        if (other.hasReserveShooter()) {
          mergeReserveShooter(other.getReserveShooter());
        }
        if (other.hasRidingCrop()) {
          mergeRidingCrop(other.getRidingCrop());
        }
        if (other.hasRussianRiot()) {
          mergeRussianRiot(other.getRussianRiot());
        }
        if (other.hasScimitar()) {
          mergeScimitar(other.getScimitar());
        }
        if (other.hasScorchShot()) {
          mergeScorchShot(other.getScorchShot());
        }
        if (other.hasShortstop()) {
          mergeShortstop(other.getShortstop());
        }
        if (other.hasSodaPopper()) {
          mergeSodaPopper(other.getSodaPopper());
        }
        if (other.hasTeleShotgun()) {
          mergeTeleShotgun(other.getTeleShotgun());
        }
        if (other.hasTomislav()) {
          mergeTomislav(other.getTomislav());
        }
        if (other.hasTrenchgun()) {
          mergeTrenchgun(other.getTrenchgun());
        }
        if (other.hasWingerPistol()) {
          mergeWingerPistol(other.getWingerPistol());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasHeader()) {
          return false;
        }
        if (!getHeader().isInitialized()) {
          return false;
        }
        if (hasOperationTemplate()) {
          if (!getOperationTemplate().isInitialized()) {
            return false;
          }
        }
        for (int i = 0; i < getItemCount(); i++) {
          if (!getItem(i).isInitialized()) {
            return false;
          }
        }
        if (hasPaintkitTool()) {
          if (!getPaintkitTool().isInitialized()) {
            return false;
          }
        }
        if (hasFlamethrower()) {
          if (!getFlamethrower().isInitialized()) {
            return false;
          }
        }
        if (hasGrenadelauncher()) {
          if (!getGrenadelauncher().isInitialized()) {
            return false;
          }
        }
        if (hasKnife()) {
          if (!getKnife().isInitialized()) {
            return false;
          }
        }
        if (hasMedigun()) {
          if (!getMedigun().isInitialized()) {
            return false;
          }
        }
        if (hasMinigun()) {
          if (!getMinigun().isInitialized()) {
            return false;
          }
        }
        if (hasPistol()) {
          if (!getPistol().isInitialized()) {
            return false;
          }
        }
        if (hasRevolver()) {
          if (!getRevolver().isInitialized()) {
            return false;
          }
        }
        if (hasRocketlauncher()) {
          if (!getRocketlauncher().isInitialized()) {
            return false;
          }
        }
        if (hasScattergun()) {
          if (!getScattergun().isInitialized()) {
            return false;
          }
        }
        if (hasShotgun()) {
          if (!getShotgun().isInitialized()) {
            return false;
          }
        }
        if (hasSmg()) {
          if (!getSmg().isInitialized()) {
            return false;
          }
        }
        if (hasSniperrifle()) {
          if (!getSniperrifle().isInitialized()) {
            return false;
          }
        }
        if (hasStickybombLauncher()) {
          if (!getStickybombLauncher().isInitialized()) {
            return false;
          }
        }
        if (hasUbersaw()) {
          if (!getUbersaw().isInitialized()) {
            return false;
          }
        }
        if (hasWrench()) {
          if (!getWrench().isInitialized()) {
            return false;
          }
        }
        if (hasAmputator()) {
          if (!getAmputator().isInitialized()) {
            return false;
          }
        }
        if (hasAtomLauncher()) {
          if (!getAtomLauncher().isInitialized()) {
            return false;
          }
        }
        if (hasBackScratcher()) {
          if (!getBackScratcher().isInitialized()) {
            return false;
          }
        }
        if (hasBattleaxe()) {
          if (!getBattleaxe().isInitialized()) {
            return false;
          }
        }
        if (hasBazaarSniper()) {
          if (!getBazaarSniper().isInitialized()) {
            return false;
          }
        }
        if (hasBlackbox()) {
          if (!getBlackbox().isInitialized()) {
            return false;
          }
        }
        if (hasClaidheamohmor()) {
          if (!getClaidheamohmor().isInitialized()) {
            return false;
          }
        }
        if (hasCrusadersCrossbow()) {
          if (!getCrusadersCrossbow().isInitialized()) {
            return false;
          }
        }
        if (hasDegreaser()) {
          if (!getDegreaser().isInitialized()) {
            return false;
          }
        }
        if (hasDemoCannon()) {
          if (!getDemoCannon().isInitialized()) {
            return false;
          }
        }
        if (hasDemoSultanSword()) {
          if (!getDemoSultanSword().isInitialized()) {
            return false;
          }
        }
        if (hasDetonator()) {
          if (!getDetonator().isInitialized()) {
            return false;
          }
        }
        if (hasGatlingGun()) {
          if (!getGatlingGun().isInitialized()) {
            return false;
          }
        }
        if (hasHolymackerel()) {
          if (!getHolymackerel().isInitialized()) {
            return false;
          }
        }
        if (hasJag()) {
          if (!getJag().isInitialized()) {
            return false;
          }
        }
        if (hasLochnload()) {
          if (!getLochnload().isInitialized()) {
            return false;
          }
        }
        if (hasPowerjack()) {
          if (!getPowerjack().isInitialized()) {
            return false;
          }
        }
        if (hasQuadball()) {
          if (!getQuadball().isInitialized()) {
            return false;
          }
        }
        if (hasReserveShooter()) {
          if (!getReserveShooter().isInitialized()) {
            return false;
          }
        }
        if (hasRidingCrop()) {
          if (!getRidingCrop().isInitialized()) {
            return false;
          }
        }
        if (hasRussianRiot()) {
          if (!getRussianRiot().isInitialized()) {
            return false;
          }
        }
        if (hasScimitar()) {
          if (!getScimitar().isInitialized()) {
            return false;
          }
        }
        if (hasScorchShot()) {
          if (!getScorchShot().isInitialized()) {
            return false;
          }
        }
        if (hasShortstop()) {
          if (!getShortstop().isInitialized()) {
            return false;
          }
        }
        if (hasSodaPopper()) {
          if (!getSodaPopper().isInitialized()) {
            return false;
          }
        }
        if (hasTeleShotgun()) {
          if (!getTeleShotgun().isInitialized()) {
            return false;
          }
        }
        if (hasTomislav()) {
          if (!getTomislav().isInitialized()) {
            return false;
          }
        }
        if (hasTrenchgun()) {
          if (!getTrenchgun().isInitialized()) {
            return false;
          }
        }
        if (hasWingerPistol()) {
          if (!getWingerPistol().isInitialized()) {
            return false;
          }
        }
        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: {
                input.readMessage(
                    getHeaderFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 18: {
                locDesctoken_ = input.readBytes();
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              case 26: {
                input.readMessage(
                    getOperationTemplateFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000004;
                break;
              } // case 26
              case 32: {
                hasTeamTextures_ = input.readBool();
                bitField0_ |= 0x00000008;
                break;
              } // case 32
              case 42: {
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.parser(),
                        extensionRegistry);
                if (itemBuilder_ == null) {
                  ensureItemIsMutable();
                  item_.add(m);
                } else {
                  itemBuilder_.addMessage(m);
                }
                break;
              } // case 42
              case 50: {
                input.readMessage(
                    getPaintkitToolFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000020;
                break;
              } // case 50
              case 58: {
                input.readMessage(
                    getFlamethrowerFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000040;
                break;
              } // case 58
              case 66: {
                input.readMessage(
                    getGrenadelauncherFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000080;
                break;
              } // case 66
              case 74: {
                input.readMessage(
                    getKnifeFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000100;
                break;
              } // case 74
              case 82: {
                input.readMessage(
                    getMedigunFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000200;
                break;
              } // case 82
              case 90: {
                input.readMessage(
                    getMinigunFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000400;
                break;
              } // case 90
              case 98: {
                input.readMessage(
                    getPistolFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000800;
                break;
              } // case 98
              case 106: {
                input.readMessage(
                    getRevolverFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00001000;
                break;
              } // case 106
              case 114: {
                input.readMessage(
                    getRocketlauncherFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00002000;
                break;
              } // case 114
              case 122: {
                input.readMessage(
                    getScattergunFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00004000;
                break;
              } // case 122
              case 130: {
                input.readMessage(
                    getShotgunFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00008000;
                break;
              } // case 130
              case 138: {
                input.readMessage(
                    getSmgFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00010000;
                break;
              } // case 138
              case 146: {
                input.readMessage(
                    getSniperrifleFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00020000;
                break;
              } // case 146
              case 154: {
                input.readMessage(
                    getStickybombLauncherFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00040000;
                break;
              } // case 154
              case 162: {
                input.readMessage(
                    getUbersawFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00080000;
                break;
              } // case 162
              case 170: {
                input.readMessage(
                    getWrenchFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00100000;
                break;
              } // case 170
              case 178: {
                input.readMessage(
                    getAmputatorFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00200000;
                break;
              } // case 178
              case 186: {
                input.readMessage(
                    getAtomLauncherFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00400000;
                break;
              } // case 186
              case 194: {
                input.readMessage(
                    getBackScratcherFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00800000;
                break;
              } // case 194
              case 202: {
                input.readMessage(
                    getBattleaxeFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x01000000;
                break;
              } // case 202
              case 210: {
                input.readMessage(
                    getBazaarSniperFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x02000000;
                break;
              } // case 210
              case 218: {
                input.readMessage(
                    getBlackboxFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x04000000;
                break;
              } // case 218
              case 226: {
                input.readMessage(
                    getClaidheamohmorFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x08000000;
                break;
              } // case 226
              case 234: {
                input.readMessage(
                    getCrusadersCrossbowFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x10000000;
                break;
              } // case 234
              case 242: {
                input.readMessage(
                    getDegreaserFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x20000000;
                break;
              } // case 242
              case 250: {
                input.readMessage(
                    getDemoCannonFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x40000000;
                break;
              } // case 250
              case 258: {
                input.readMessage(
                    getDemoSultanSwordFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x80000000;
                break;
              } // case 258
              case 266: {
                input.readMessage(
                    getDetonatorFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField1_ |= 0x00000001;
                break;
              } // case 266
              case 274: {
                input.readMessage(
                    getGatlingGunFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField1_ |= 0x00000002;
                break;
              } // case 274
              case 282: {
                input.readMessage(
                    getHolymackerelFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField1_ |= 0x00000004;
                break;
              } // case 282
              case 290: {
                input.readMessage(
                    getJagFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField1_ |= 0x00000008;
                break;
              } // case 290
              case 298: {
                input.readMessage(
                    getLochnloadFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField1_ |= 0x00000010;
                break;
              } // case 298
              case 306: {
                input.readMessage(
                    getPowerjackFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField1_ |= 0x00000020;
                break;
              } // case 306
              case 314: {
                input.readMessage(
                    getQuadballFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField1_ |= 0x00000040;
                break;
              } // case 314
              case 322: {
                input.readMessage(
                    getReserveShooterFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField1_ |= 0x00000080;
                break;
              } // case 322
              case 330: {
                input.readMessage(
                    getRidingCropFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField1_ |= 0x00000100;
                break;
              } // case 330
              case 338: {
                input.readMessage(
                    getRussianRiotFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField1_ |= 0x00000200;
                break;
              } // case 338
              case 346: {
                input.readMessage(
                    getScimitarFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField1_ |= 0x00000400;
                break;
              } // case 346
              case 354: {
                input.readMessage(
                    getScorchShotFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField1_ |= 0x00000800;
                break;
              } // case 354
              case 362: {
                input.readMessage(
                    getShortstopFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField1_ |= 0x00001000;
                break;
              } // case 362
              case 370: {
                input.readMessage(
                    getSodaPopperFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField1_ |= 0x00002000;
                break;
              } // case 370
              case 378: {
                input.readMessage(
                    getTeleShotgunFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField1_ |= 0x00004000;
                break;
              } // case 378
              case 386: {
                input.readMessage(
                    getTomislavFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField1_ |= 0x00008000;
                break;
              } // case 386
              case 394: {
                input.readMessage(
                    getTrenchgunFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField1_ |= 0x00010000;
                break;
              } // case 394
              case 402: {
                input.readMessage(
                    getWingerPistolFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField1_ |= 0x00020000;
                break;
              } // case 402
              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 bitField1_;

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader header_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder> headerBuilder_;
      /**
       * required .CMsgProtoDefHeader header = 1;
       * @return Whether the header field is set.
       */
      public boolean hasHeader() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       * @return The header.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader() {
        if (headerBuilder_ == null) {
          return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
        } else {
          return headerBuilder_.getMessage();
        }
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder setHeader(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader value) {
        if (headerBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          header_ = value;
        } else {
          headerBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder setHeader(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder builderForValue) {
        if (headerBuilder_ == null) {
          header_ = builderForValue.build();
        } else {
          headerBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder mergeHeader(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader value) {
        if (headerBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
            header_ != null &&
            header_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance()) {
            getHeaderBuilder().mergeFrom(value);
          } else {
            header_ = value;
          }
        } else {
          headerBuilder_.mergeFrom(value);
        }
        if (header_ != null) {
          bitField0_ |= 0x00000001;
          onChanged();
        }
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder clearHeader() {
        bitField0_ = (bitField0_ & ~0x00000001);
        header_ = null;
        if (headerBuilder_ != null) {
          headerBuilder_.dispose();
          headerBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder getHeaderBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getHeaderFieldBuilder().getBuilder();
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder() {
        if (headerBuilder_ != null) {
          return headerBuilder_.getMessageOrBuilder();
        } else {
          return header_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
        }
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder> 
          getHeaderFieldBuilder() {
        if (headerBuilder_ == null) {
          headerBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder>(
                  getHeader(),
                  getParentForChildren(),
                  isClean());
          header_ = null;
        }
        return headerBuilder_;
      }

      private java.lang.Object locDesctoken_ = "";
      /**
       * optional string loc_desctoken = 2 [(.localized) = true];
       * @return Whether the locDesctoken field is set.
       */
      public boolean hasLocDesctoken() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional string loc_desctoken = 2 [(.localized) = true];
       * @return The locDesctoken.
       */
      public java.lang.String getLocDesctoken() {
        java.lang.Object ref = locDesctoken_;
        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()) {
            locDesctoken_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string loc_desctoken = 2 [(.localized) = true];
       * @return The bytes for locDesctoken.
       */
      public com.google.protobuf.ByteString
          getLocDesctokenBytes() {
        java.lang.Object ref = locDesctoken_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          locDesctoken_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string loc_desctoken = 2 [(.localized) = true];
       * @param value The locDesctoken to set.
       * @return This builder for chaining.
       */
      public Builder setLocDesctoken(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        locDesctoken_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional string loc_desctoken = 2 [(.localized) = true];
       * @return This builder for chaining.
       */
      public Builder clearLocDesctoken() {
        locDesctoken_ = getDefaultInstance().getLocDesctoken();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * optional string loc_desctoken = 2 [(.localized) = true];
       * @param value The bytes for locDesctoken to set.
       * @return This builder for chaining.
       */
      public Builder setLocDesctokenBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        locDesctoken_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID operationTemplate_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> operationTemplateBuilder_;
      /**
       * optional .CMsgProtoDefID operation_template = 3 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (.comment) = "operation template which all items in the list will use unless there\'s operation_template specified in an item_definition", (.inherit_reference_variables) = true];
       * @return Whether the operationTemplate field is set.
       */
      public boolean hasOperationTemplate() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional .CMsgProtoDefID operation_template = 3 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (.comment) = "operation template which all items in the list will use unless there\'s operation_template specified in an item_definition", (.inherit_reference_variables) = true];
       * @return The operationTemplate.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getOperationTemplate() {
        if (operationTemplateBuilder_ == null) {
          return operationTemplate_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : operationTemplate_;
        } else {
          return operationTemplateBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgProtoDefID operation_template = 3 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (.comment) = "operation template which all items in the list will use unless there\'s operation_template specified in an item_definition", (.inherit_reference_variables) = true];
       */
      public Builder setOperationTemplate(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
        if (operationTemplateBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          operationTemplate_ = value;
        } else {
          operationTemplateBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgProtoDefID operation_template = 3 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (.comment) = "operation template which all items in the list will use unless there\'s operation_template specified in an item_definition", (.inherit_reference_variables) = true];
       */
      public Builder setOperationTemplate(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder builderForValue) {
        if (operationTemplateBuilder_ == null) {
          operationTemplate_ = builderForValue.build();
        } else {
          operationTemplateBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgProtoDefID operation_template = 3 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (.comment) = "operation template which all items in the list will use unless there\'s operation_template specified in an item_definition", (.inherit_reference_variables) = true];
       */
      public Builder mergeOperationTemplate(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
        if (operationTemplateBuilder_ == null) {
          if (((bitField0_ & 0x00000004) != 0) &&
            operationTemplate_ != null &&
            operationTemplate_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance()) {
            getOperationTemplateBuilder().mergeFrom(value);
          } else {
            operationTemplate_ = value;
          }
        } else {
          operationTemplateBuilder_.mergeFrom(value);
        }
        if (operationTemplate_ != null) {
          bitField0_ |= 0x00000004;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgProtoDefID operation_template = 3 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (.comment) = "operation template which all items in the list will use unless there\'s operation_template specified in an item_definition", (.inherit_reference_variables) = true];
       */
      public Builder clearOperationTemplate() {
        bitField0_ = (bitField0_ & ~0x00000004);
        operationTemplate_ = null;
        if (operationTemplateBuilder_ != null) {
          operationTemplateBuilder_.dispose();
          operationTemplateBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgProtoDefID operation_template = 3 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (.comment) = "operation template which all items in the list will use unless there\'s operation_template specified in an item_definition", (.inherit_reference_variables) = true];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder getOperationTemplateBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getOperationTemplateFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgProtoDefID operation_template = 3 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (.comment) = "operation template which all items in the list will use unless there\'s operation_template specified in an item_definition", (.inherit_reference_variables) = true];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getOperationTemplateOrBuilder() {
        if (operationTemplateBuilder_ != null) {
          return operationTemplateBuilder_.getMessageOrBuilder();
        } else {
          return operationTemplate_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : operationTemplate_;
        }
      }
      /**
       * optional .CMsgProtoDefID operation_template = 3 [(.valid_type) = DEF_TYPE_PAINTKIT_OPERATION, (.comment) = "operation template which all items in the list will use unless there\'s operation_template specified in an item_definition", (.inherit_reference_variables) = true];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> 
          getOperationTemplateFieldBuilder() {
        if (operationTemplateBuilder_ == null) {
          operationTemplateBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder>(
                  getOperationTemplate(),
                  getParentForChildren(),
                  isClean());
          operationTemplate_ = null;
        }
        return operationTemplateBuilder_;
      }

      private boolean hasTeamTextures_ ;
      /**
       * optional bool has_team_textures = 4;
       * @return Whether the hasTeamTextures field is set.
       */
      @java.lang.Override
      public boolean hasHasTeamTextures() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional bool has_team_textures = 4;
       * @return The hasTeamTextures.
       */
      @java.lang.Override
      public boolean getHasTeamTextures() {
        return hasTeamTextures_;
      }
      /**
       * optional bool has_team_textures = 4;
       * @param value The hasTeamTextures to set.
       * @return This builder for chaining.
       */
      public Builder setHasTeamTextures(boolean value) {

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

      private java.util.List item_ =
        java.util.Collections.emptyList();
      private void ensureItemIsMutable() {
        if (!((bitField0_ & 0x00000010) != 0)) {
          item_ = new java.util.ArrayList(item_);
          bitField0_ |= 0x00000010;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> itemBuilder_;

      /**
       * repeated .CMsgPaintKit_Definition.Item item = 5;
       */
      public java.util.List getItemList() {
        if (itemBuilder_ == null) {
          return java.util.Collections.unmodifiableList(item_);
        } else {
          return itemBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CMsgPaintKit_Definition.Item item = 5;
       */
      public int getItemCount() {
        if (itemBuilder_ == null) {
          return item_.size();
        } else {
          return itemBuilder_.getCount();
        }
      }
      /**
       * repeated .CMsgPaintKit_Definition.Item item = 5;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getItem(int index) {
        if (itemBuilder_ == null) {
          return item_.get(index);
        } else {
          return itemBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CMsgPaintKit_Definition.Item item = 5;
       */
      public Builder setItem(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (itemBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureItemIsMutable();
          item_.set(index, value);
          onChanged();
        } else {
          itemBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_Definition.Item item = 5;
       */
      public Builder setItem(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (itemBuilder_ == null) {
          ensureItemIsMutable();
          item_.set(index, builderForValue.build());
          onChanged();
        } else {
          itemBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_Definition.Item item = 5;
       */
      public Builder addItem(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (itemBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureItemIsMutable();
          item_.add(value);
          onChanged();
        } else {
          itemBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_Definition.Item item = 5;
       */
      public Builder addItem(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (itemBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureItemIsMutable();
          item_.add(index, value);
          onChanged();
        } else {
          itemBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_Definition.Item item = 5;
       */
      public Builder addItem(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (itemBuilder_ == null) {
          ensureItemIsMutable();
          item_.add(builderForValue.build());
          onChanged();
        } else {
          itemBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_Definition.Item item = 5;
       */
      public Builder addItem(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (itemBuilder_ == null) {
          ensureItemIsMutable();
          item_.add(index, builderForValue.build());
          onChanged();
        } else {
          itemBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_Definition.Item item = 5;
       */
      public Builder addAllItem(
          java.lang.Iterable values) {
        if (itemBuilder_ == null) {
          ensureItemIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, item_);
          onChanged();
        } else {
          itemBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_Definition.Item item = 5;
       */
      public Builder clearItem() {
        if (itemBuilder_ == null) {
          item_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000010);
          onChanged();
        } else {
          itemBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_Definition.Item item = 5;
       */
      public Builder removeItem(int index) {
        if (itemBuilder_ == null) {
          ensureItemIsMutable();
          item_.remove(index);
          onChanged();
        } else {
          itemBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CMsgPaintKit_Definition.Item item = 5;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getItemBuilder(
          int index) {
        return getItemFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CMsgPaintKit_Definition.Item item = 5;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getItemOrBuilder(
          int index) {
        if (itemBuilder_ == null) {
          return item_.get(index);  } else {
          return itemBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CMsgPaintKit_Definition.Item item = 5;
       */
      public java.util.List 
           getItemOrBuilderList() {
        if (itemBuilder_ != null) {
          return itemBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(item_);
        }
      }
      /**
       * repeated .CMsgPaintKit_Definition.Item item = 5;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder addItemBuilder() {
        return getItemFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance());
      }
      /**
       * repeated .CMsgPaintKit_Definition.Item item = 5;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder addItemBuilder(
          int index) {
        return getItemFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance());
      }
      /**
       * repeated .CMsgPaintKit_Definition.Item item = 5;
       */
      public java.util.List 
           getItemBuilderList() {
        return getItemFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getItemFieldBuilder() {
        if (itemBuilder_ == null) {
          itemBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  item_,
                  ((bitField0_ & 0x00000010) != 0),
                  getParentForChildren(),
                  isClean());
          item_ = null;
        }
        return itemBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item paintkitTool_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> paintkitToolBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item paintkit_tool = 6;
       * @return Whether the paintkitTool field is set.
       */
      public boolean hasPaintkitTool() {
        return ((bitField0_ & 0x00000020) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item paintkit_tool = 6;
       * @return The paintkitTool.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getPaintkitTool() {
        if (paintkitToolBuilder_ == null) {
          return paintkitTool_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : paintkitTool_;
        } else {
          return paintkitToolBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item paintkit_tool = 6;
       */
      public Builder setPaintkitTool(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (paintkitToolBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          paintkitTool_ = value;
        } else {
          paintkitToolBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item paintkit_tool = 6;
       */
      public Builder setPaintkitTool(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (paintkitToolBuilder_ == null) {
          paintkitTool_ = builderForValue.build();
        } else {
          paintkitToolBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item paintkit_tool = 6;
       */
      public Builder mergePaintkitTool(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (paintkitToolBuilder_ == null) {
          if (((bitField0_ & 0x00000020) != 0) &&
            paintkitTool_ != null &&
            paintkitTool_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getPaintkitToolBuilder().mergeFrom(value);
          } else {
            paintkitTool_ = value;
          }
        } else {
          paintkitToolBuilder_.mergeFrom(value);
        }
        if (paintkitTool_ != null) {
          bitField0_ |= 0x00000020;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item paintkit_tool = 6;
       */
      public Builder clearPaintkitTool() {
        bitField0_ = (bitField0_ & ~0x00000020);
        paintkitTool_ = null;
        if (paintkitToolBuilder_ != null) {
          paintkitToolBuilder_.dispose();
          paintkitToolBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item paintkit_tool = 6;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getPaintkitToolBuilder() {
        bitField0_ |= 0x00000020;
        onChanged();
        return getPaintkitToolFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item paintkit_tool = 6;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getPaintkitToolOrBuilder() {
        if (paintkitToolBuilder_ != null) {
          return paintkitToolBuilder_.getMessageOrBuilder();
        } else {
          return paintkitTool_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : paintkitTool_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item paintkit_tool = 6;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getPaintkitToolFieldBuilder() {
        if (paintkitToolBuilder_ == null) {
          paintkitToolBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getPaintkitTool(),
                  getParentForChildren(),
                  isClean());
          paintkitTool_ = null;
        }
        return paintkitToolBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item flamethrower_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> flamethrowerBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item flamethrower = 7;
       * @return Whether the flamethrower field is set.
       */
      public boolean hasFlamethrower() {
        return ((bitField0_ & 0x00000040) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item flamethrower = 7;
       * @return The flamethrower.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getFlamethrower() {
        if (flamethrowerBuilder_ == null) {
          return flamethrower_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : flamethrower_;
        } else {
          return flamethrowerBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item flamethrower = 7;
       */
      public Builder setFlamethrower(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (flamethrowerBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          flamethrower_ = value;
        } else {
          flamethrowerBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item flamethrower = 7;
       */
      public Builder setFlamethrower(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (flamethrowerBuilder_ == null) {
          flamethrower_ = builderForValue.build();
        } else {
          flamethrowerBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item flamethrower = 7;
       */
      public Builder mergeFlamethrower(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (flamethrowerBuilder_ == null) {
          if (((bitField0_ & 0x00000040) != 0) &&
            flamethrower_ != null &&
            flamethrower_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getFlamethrowerBuilder().mergeFrom(value);
          } else {
            flamethrower_ = value;
          }
        } else {
          flamethrowerBuilder_.mergeFrom(value);
        }
        if (flamethrower_ != null) {
          bitField0_ |= 0x00000040;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item flamethrower = 7;
       */
      public Builder clearFlamethrower() {
        bitField0_ = (bitField0_ & ~0x00000040);
        flamethrower_ = null;
        if (flamethrowerBuilder_ != null) {
          flamethrowerBuilder_.dispose();
          flamethrowerBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item flamethrower = 7;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getFlamethrowerBuilder() {
        bitField0_ |= 0x00000040;
        onChanged();
        return getFlamethrowerFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item flamethrower = 7;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getFlamethrowerOrBuilder() {
        if (flamethrowerBuilder_ != null) {
          return flamethrowerBuilder_.getMessageOrBuilder();
        } else {
          return flamethrower_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : flamethrower_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item flamethrower = 7;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getFlamethrowerFieldBuilder() {
        if (flamethrowerBuilder_ == null) {
          flamethrowerBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getFlamethrower(),
                  getParentForChildren(),
                  isClean());
          flamethrower_ = null;
        }
        return flamethrowerBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item grenadelauncher_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> grenadelauncherBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item grenadelauncher = 8;
       * @return Whether the grenadelauncher field is set.
       */
      public boolean hasGrenadelauncher() {
        return ((bitField0_ & 0x00000080) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item grenadelauncher = 8;
       * @return The grenadelauncher.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getGrenadelauncher() {
        if (grenadelauncherBuilder_ == null) {
          return grenadelauncher_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : grenadelauncher_;
        } else {
          return grenadelauncherBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item grenadelauncher = 8;
       */
      public Builder setGrenadelauncher(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (grenadelauncherBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          grenadelauncher_ = value;
        } else {
          grenadelauncherBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000080;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item grenadelauncher = 8;
       */
      public Builder setGrenadelauncher(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (grenadelauncherBuilder_ == null) {
          grenadelauncher_ = builderForValue.build();
        } else {
          grenadelauncherBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000080;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item grenadelauncher = 8;
       */
      public Builder mergeGrenadelauncher(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (grenadelauncherBuilder_ == null) {
          if (((bitField0_ & 0x00000080) != 0) &&
            grenadelauncher_ != null &&
            grenadelauncher_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getGrenadelauncherBuilder().mergeFrom(value);
          } else {
            grenadelauncher_ = value;
          }
        } else {
          grenadelauncherBuilder_.mergeFrom(value);
        }
        if (grenadelauncher_ != null) {
          bitField0_ |= 0x00000080;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item grenadelauncher = 8;
       */
      public Builder clearGrenadelauncher() {
        bitField0_ = (bitField0_ & ~0x00000080);
        grenadelauncher_ = null;
        if (grenadelauncherBuilder_ != null) {
          grenadelauncherBuilder_.dispose();
          grenadelauncherBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item grenadelauncher = 8;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getGrenadelauncherBuilder() {
        bitField0_ |= 0x00000080;
        onChanged();
        return getGrenadelauncherFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item grenadelauncher = 8;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getGrenadelauncherOrBuilder() {
        if (grenadelauncherBuilder_ != null) {
          return grenadelauncherBuilder_.getMessageOrBuilder();
        } else {
          return grenadelauncher_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : grenadelauncher_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item grenadelauncher = 8;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getGrenadelauncherFieldBuilder() {
        if (grenadelauncherBuilder_ == null) {
          grenadelauncherBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getGrenadelauncher(),
                  getParentForChildren(),
                  isClean());
          grenadelauncher_ = null;
        }
        return grenadelauncherBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item knife_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> knifeBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item knife = 9;
       * @return Whether the knife field is set.
       */
      public boolean hasKnife() {
        return ((bitField0_ & 0x00000100) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item knife = 9;
       * @return The knife.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getKnife() {
        if (knifeBuilder_ == null) {
          return knife_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : knife_;
        } else {
          return knifeBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item knife = 9;
       */
      public Builder setKnife(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (knifeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          knife_ = value;
        } else {
          knifeBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000100;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item knife = 9;
       */
      public Builder setKnife(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (knifeBuilder_ == null) {
          knife_ = builderForValue.build();
        } else {
          knifeBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000100;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item knife = 9;
       */
      public Builder mergeKnife(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (knifeBuilder_ == null) {
          if (((bitField0_ & 0x00000100) != 0) &&
            knife_ != null &&
            knife_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getKnifeBuilder().mergeFrom(value);
          } else {
            knife_ = value;
          }
        } else {
          knifeBuilder_.mergeFrom(value);
        }
        if (knife_ != null) {
          bitField0_ |= 0x00000100;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item knife = 9;
       */
      public Builder clearKnife() {
        bitField0_ = (bitField0_ & ~0x00000100);
        knife_ = null;
        if (knifeBuilder_ != null) {
          knifeBuilder_.dispose();
          knifeBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item knife = 9;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getKnifeBuilder() {
        bitField0_ |= 0x00000100;
        onChanged();
        return getKnifeFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item knife = 9;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getKnifeOrBuilder() {
        if (knifeBuilder_ != null) {
          return knifeBuilder_.getMessageOrBuilder();
        } else {
          return knife_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : knife_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item knife = 9;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getKnifeFieldBuilder() {
        if (knifeBuilder_ == null) {
          knifeBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getKnife(),
                  getParentForChildren(),
                  isClean());
          knife_ = null;
        }
        return knifeBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item medigun_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> medigunBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item medigun = 10;
       * @return Whether the medigun field is set.
       */
      public boolean hasMedigun() {
        return ((bitField0_ & 0x00000200) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item medigun = 10;
       * @return The medigun.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getMedigun() {
        if (medigunBuilder_ == null) {
          return medigun_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : medigun_;
        } else {
          return medigunBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item medigun = 10;
       */
      public Builder setMedigun(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (medigunBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          medigun_ = value;
        } else {
          medigunBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000200;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item medigun = 10;
       */
      public Builder setMedigun(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (medigunBuilder_ == null) {
          medigun_ = builderForValue.build();
        } else {
          medigunBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000200;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item medigun = 10;
       */
      public Builder mergeMedigun(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (medigunBuilder_ == null) {
          if (((bitField0_ & 0x00000200) != 0) &&
            medigun_ != null &&
            medigun_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getMedigunBuilder().mergeFrom(value);
          } else {
            medigun_ = value;
          }
        } else {
          medigunBuilder_.mergeFrom(value);
        }
        if (medigun_ != null) {
          bitField0_ |= 0x00000200;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item medigun = 10;
       */
      public Builder clearMedigun() {
        bitField0_ = (bitField0_ & ~0x00000200);
        medigun_ = null;
        if (medigunBuilder_ != null) {
          medigunBuilder_.dispose();
          medigunBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item medigun = 10;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getMedigunBuilder() {
        bitField0_ |= 0x00000200;
        onChanged();
        return getMedigunFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item medigun = 10;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getMedigunOrBuilder() {
        if (medigunBuilder_ != null) {
          return medigunBuilder_.getMessageOrBuilder();
        } else {
          return medigun_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : medigun_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item medigun = 10;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getMedigunFieldBuilder() {
        if (medigunBuilder_ == null) {
          medigunBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getMedigun(),
                  getParentForChildren(),
                  isClean());
          medigun_ = null;
        }
        return medigunBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item minigun_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> minigunBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item minigun = 11;
       * @return Whether the minigun field is set.
       */
      public boolean hasMinigun() {
        return ((bitField0_ & 0x00000400) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item minigun = 11;
       * @return The minigun.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getMinigun() {
        if (minigunBuilder_ == null) {
          return minigun_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : minigun_;
        } else {
          return minigunBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item minigun = 11;
       */
      public Builder setMinigun(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (minigunBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          minigun_ = value;
        } else {
          minigunBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000400;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item minigun = 11;
       */
      public Builder setMinigun(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (minigunBuilder_ == null) {
          minigun_ = builderForValue.build();
        } else {
          minigunBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000400;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item minigun = 11;
       */
      public Builder mergeMinigun(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (minigunBuilder_ == null) {
          if (((bitField0_ & 0x00000400) != 0) &&
            minigun_ != null &&
            minigun_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getMinigunBuilder().mergeFrom(value);
          } else {
            minigun_ = value;
          }
        } else {
          minigunBuilder_.mergeFrom(value);
        }
        if (minigun_ != null) {
          bitField0_ |= 0x00000400;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item minigun = 11;
       */
      public Builder clearMinigun() {
        bitField0_ = (bitField0_ & ~0x00000400);
        minigun_ = null;
        if (minigunBuilder_ != null) {
          minigunBuilder_.dispose();
          minigunBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item minigun = 11;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getMinigunBuilder() {
        bitField0_ |= 0x00000400;
        onChanged();
        return getMinigunFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item minigun = 11;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getMinigunOrBuilder() {
        if (minigunBuilder_ != null) {
          return minigunBuilder_.getMessageOrBuilder();
        } else {
          return minigun_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : minigun_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item minigun = 11;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getMinigunFieldBuilder() {
        if (minigunBuilder_ == null) {
          minigunBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getMinigun(),
                  getParentForChildren(),
                  isClean());
          minigun_ = null;
        }
        return minigunBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item pistol_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> pistolBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item pistol = 12;
       * @return Whether the pistol field is set.
       */
      public boolean hasPistol() {
        return ((bitField0_ & 0x00000800) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item pistol = 12;
       * @return The pistol.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getPistol() {
        if (pistolBuilder_ == null) {
          return pistol_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : pistol_;
        } else {
          return pistolBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item pistol = 12;
       */
      public Builder setPistol(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (pistolBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          pistol_ = value;
        } else {
          pistolBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000800;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item pistol = 12;
       */
      public Builder setPistol(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (pistolBuilder_ == null) {
          pistol_ = builderForValue.build();
        } else {
          pistolBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000800;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item pistol = 12;
       */
      public Builder mergePistol(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (pistolBuilder_ == null) {
          if (((bitField0_ & 0x00000800) != 0) &&
            pistol_ != null &&
            pistol_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getPistolBuilder().mergeFrom(value);
          } else {
            pistol_ = value;
          }
        } else {
          pistolBuilder_.mergeFrom(value);
        }
        if (pistol_ != null) {
          bitField0_ |= 0x00000800;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item pistol = 12;
       */
      public Builder clearPistol() {
        bitField0_ = (bitField0_ & ~0x00000800);
        pistol_ = null;
        if (pistolBuilder_ != null) {
          pistolBuilder_.dispose();
          pistolBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item pistol = 12;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getPistolBuilder() {
        bitField0_ |= 0x00000800;
        onChanged();
        return getPistolFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item pistol = 12;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getPistolOrBuilder() {
        if (pistolBuilder_ != null) {
          return pistolBuilder_.getMessageOrBuilder();
        } else {
          return pistol_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : pistol_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item pistol = 12;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getPistolFieldBuilder() {
        if (pistolBuilder_ == null) {
          pistolBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getPistol(),
                  getParentForChildren(),
                  isClean());
          pistol_ = null;
        }
        return pistolBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item revolver_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> revolverBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item revolver = 13;
       * @return Whether the revolver field is set.
       */
      public boolean hasRevolver() {
        return ((bitField0_ & 0x00001000) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item revolver = 13;
       * @return The revolver.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getRevolver() {
        if (revolverBuilder_ == null) {
          return revolver_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : revolver_;
        } else {
          return revolverBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item revolver = 13;
       */
      public Builder setRevolver(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (revolverBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          revolver_ = value;
        } else {
          revolverBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00001000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item revolver = 13;
       */
      public Builder setRevolver(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (revolverBuilder_ == null) {
          revolver_ = builderForValue.build();
        } else {
          revolverBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00001000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item revolver = 13;
       */
      public Builder mergeRevolver(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (revolverBuilder_ == null) {
          if (((bitField0_ & 0x00001000) != 0) &&
            revolver_ != null &&
            revolver_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getRevolverBuilder().mergeFrom(value);
          } else {
            revolver_ = value;
          }
        } else {
          revolverBuilder_.mergeFrom(value);
        }
        if (revolver_ != null) {
          bitField0_ |= 0x00001000;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item revolver = 13;
       */
      public Builder clearRevolver() {
        bitField0_ = (bitField0_ & ~0x00001000);
        revolver_ = null;
        if (revolverBuilder_ != null) {
          revolverBuilder_.dispose();
          revolverBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item revolver = 13;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getRevolverBuilder() {
        bitField0_ |= 0x00001000;
        onChanged();
        return getRevolverFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item revolver = 13;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getRevolverOrBuilder() {
        if (revolverBuilder_ != null) {
          return revolverBuilder_.getMessageOrBuilder();
        } else {
          return revolver_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : revolver_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item revolver = 13;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getRevolverFieldBuilder() {
        if (revolverBuilder_ == null) {
          revolverBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getRevolver(),
                  getParentForChildren(),
                  isClean());
          revolver_ = null;
        }
        return revolverBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item rocketlauncher_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> rocketlauncherBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item rocketlauncher = 14;
       * @return Whether the rocketlauncher field is set.
       */
      public boolean hasRocketlauncher() {
        return ((bitField0_ & 0x00002000) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item rocketlauncher = 14;
       * @return The rocketlauncher.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getRocketlauncher() {
        if (rocketlauncherBuilder_ == null) {
          return rocketlauncher_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : rocketlauncher_;
        } else {
          return rocketlauncherBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item rocketlauncher = 14;
       */
      public Builder setRocketlauncher(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (rocketlauncherBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          rocketlauncher_ = value;
        } else {
          rocketlauncherBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00002000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item rocketlauncher = 14;
       */
      public Builder setRocketlauncher(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (rocketlauncherBuilder_ == null) {
          rocketlauncher_ = builderForValue.build();
        } else {
          rocketlauncherBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00002000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item rocketlauncher = 14;
       */
      public Builder mergeRocketlauncher(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (rocketlauncherBuilder_ == null) {
          if (((bitField0_ & 0x00002000) != 0) &&
            rocketlauncher_ != null &&
            rocketlauncher_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getRocketlauncherBuilder().mergeFrom(value);
          } else {
            rocketlauncher_ = value;
          }
        } else {
          rocketlauncherBuilder_.mergeFrom(value);
        }
        if (rocketlauncher_ != null) {
          bitField0_ |= 0x00002000;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item rocketlauncher = 14;
       */
      public Builder clearRocketlauncher() {
        bitField0_ = (bitField0_ & ~0x00002000);
        rocketlauncher_ = null;
        if (rocketlauncherBuilder_ != null) {
          rocketlauncherBuilder_.dispose();
          rocketlauncherBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item rocketlauncher = 14;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getRocketlauncherBuilder() {
        bitField0_ |= 0x00002000;
        onChanged();
        return getRocketlauncherFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item rocketlauncher = 14;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getRocketlauncherOrBuilder() {
        if (rocketlauncherBuilder_ != null) {
          return rocketlauncherBuilder_.getMessageOrBuilder();
        } else {
          return rocketlauncher_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : rocketlauncher_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item rocketlauncher = 14;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getRocketlauncherFieldBuilder() {
        if (rocketlauncherBuilder_ == null) {
          rocketlauncherBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getRocketlauncher(),
                  getParentForChildren(),
                  isClean());
          rocketlauncher_ = null;
        }
        return rocketlauncherBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item scattergun_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> scattergunBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item scattergun = 15;
       * @return Whether the scattergun field is set.
       */
      public boolean hasScattergun() {
        return ((bitField0_ & 0x00004000) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item scattergun = 15;
       * @return The scattergun.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getScattergun() {
        if (scattergunBuilder_ == null) {
          return scattergun_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : scattergun_;
        } else {
          return scattergunBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item scattergun = 15;
       */
      public Builder setScattergun(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (scattergunBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          scattergun_ = value;
        } else {
          scattergunBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00004000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item scattergun = 15;
       */
      public Builder setScattergun(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (scattergunBuilder_ == null) {
          scattergun_ = builderForValue.build();
        } else {
          scattergunBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00004000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item scattergun = 15;
       */
      public Builder mergeScattergun(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (scattergunBuilder_ == null) {
          if (((bitField0_ & 0x00004000) != 0) &&
            scattergun_ != null &&
            scattergun_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getScattergunBuilder().mergeFrom(value);
          } else {
            scattergun_ = value;
          }
        } else {
          scattergunBuilder_.mergeFrom(value);
        }
        if (scattergun_ != null) {
          bitField0_ |= 0x00004000;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item scattergun = 15;
       */
      public Builder clearScattergun() {
        bitField0_ = (bitField0_ & ~0x00004000);
        scattergun_ = null;
        if (scattergunBuilder_ != null) {
          scattergunBuilder_.dispose();
          scattergunBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item scattergun = 15;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getScattergunBuilder() {
        bitField0_ |= 0x00004000;
        onChanged();
        return getScattergunFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item scattergun = 15;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getScattergunOrBuilder() {
        if (scattergunBuilder_ != null) {
          return scattergunBuilder_.getMessageOrBuilder();
        } else {
          return scattergun_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : scattergun_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item scattergun = 15;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getScattergunFieldBuilder() {
        if (scattergunBuilder_ == null) {
          scattergunBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getScattergun(),
                  getParentForChildren(),
                  isClean());
          scattergun_ = null;
        }
        return scattergunBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item shotgun_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> shotgunBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item shotgun = 16;
       * @return Whether the shotgun field is set.
       */
      public boolean hasShotgun() {
        return ((bitField0_ & 0x00008000) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item shotgun = 16;
       * @return The shotgun.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getShotgun() {
        if (shotgunBuilder_ == null) {
          return shotgun_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : shotgun_;
        } else {
          return shotgunBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item shotgun = 16;
       */
      public Builder setShotgun(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (shotgunBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          shotgun_ = value;
        } else {
          shotgunBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00008000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item shotgun = 16;
       */
      public Builder setShotgun(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (shotgunBuilder_ == null) {
          shotgun_ = builderForValue.build();
        } else {
          shotgunBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00008000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item shotgun = 16;
       */
      public Builder mergeShotgun(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (shotgunBuilder_ == null) {
          if (((bitField0_ & 0x00008000) != 0) &&
            shotgun_ != null &&
            shotgun_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getShotgunBuilder().mergeFrom(value);
          } else {
            shotgun_ = value;
          }
        } else {
          shotgunBuilder_.mergeFrom(value);
        }
        if (shotgun_ != null) {
          bitField0_ |= 0x00008000;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item shotgun = 16;
       */
      public Builder clearShotgun() {
        bitField0_ = (bitField0_ & ~0x00008000);
        shotgun_ = null;
        if (shotgunBuilder_ != null) {
          shotgunBuilder_.dispose();
          shotgunBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item shotgun = 16;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getShotgunBuilder() {
        bitField0_ |= 0x00008000;
        onChanged();
        return getShotgunFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item shotgun = 16;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getShotgunOrBuilder() {
        if (shotgunBuilder_ != null) {
          return shotgunBuilder_.getMessageOrBuilder();
        } else {
          return shotgun_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : shotgun_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item shotgun = 16;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getShotgunFieldBuilder() {
        if (shotgunBuilder_ == null) {
          shotgunBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getShotgun(),
                  getParentForChildren(),
                  isClean());
          shotgun_ = null;
        }
        return shotgunBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item smg_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> smgBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item smg = 17;
       * @return Whether the smg field is set.
       */
      public boolean hasSmg() {
        return ((bitField0_ & 0x00010000) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item smg = 17;
       * @return The smg.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getSmg() {
        if (smgBuilder_ == null) {
          return smg_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : smg_;
        } else {
          return smgBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item smg = 17;
       */
      public Builder setSmg(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (smgBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          smg_ = value;
        } else {
          smgBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00010000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item smg = 17;
       */
      public Builder setSmg(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (smgBuilder_ == null) {
          smg_ = builderForValue.build();
        } else {
          smgBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00010000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item smg = 17;
       */
      public Builder mergeSmg(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (smgBuilder_ == null) {
          if (((bitField0_ & 0x00010000) != 0) &&
            smg_ != null &&
            smg_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getSmgBuilder().mergeFrom(value);
          } else {
            smg_ = value;
          }
        } else {
          smgBuilder_.mergeFrom(value);
        }
        if (smg_ != null) {
          bitField0_ |= 0x00010000;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item smg = 17;
       */
      public Builder clearSmg() {
        bitField0_ = (bitField0_ & ~0x00010000);
        smg_ = null;
        if (smgBuilder_ != null) {
          smgBuilder_.dispose();
          smgBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item smg = 17;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getSmgBuilder() {
        bitField0_ |= 0x00010000;
        onChanged();
        return getSmgFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item smg = 17;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getSmgOrBuilder() {
        if (smgBuilder_ != null) {
          return smgBuilder_.getMessageOrBuilder();
        } else {
          return smg_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : smg_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item smg = 17;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getSmgFieldBuilder() {
        if (smgBuilder_ == null) {
          smgBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getSmg(),
                  getParentForChildren(),
                  isClean());
          smg_ = null;
        }
        return smgBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item sniperrifle_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> sniperrifleBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item sniperrifle = 18;
       * @return Whether the sniperrifle field is set.
       */
      public boolean hasSniperrifle() {
        return ((bitField0_ & 0x00020000) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item sniperrifle = 18;
       * @return The sniperrifle.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getSniperrifle() {
        if (sniperrifleBuilder_ == null) {
          return sniperrifle_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : sniperrifle_;
        } else {
          return sniperrifleBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item sniperrifle = 18;
       */
      public Builder setSniperrifle(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (sniperrifleBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          sniperrifle_ = value;
        } else {
          sniperrifleBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00020000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item sniperrifle = 18;
       */
      public Builder setSniperrifle(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (sniperrifleBuilder_ == null) {
          sniperrifle_ = builderForValue.build();
        } else {
          sniperrifleBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00020000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item sniperrifle = 18;
       */
      public Builder mergeSniperrifle(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (sniperrifleBuilder_ == null) {
          if (((bitField0_ & 0x00020000) != 0) &&
            sniperrifle_ != null &&
            sniperrifle_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getSniperrifleBuilder().mergeFrom(value);
          } else {
            sniperrifle_ = value;
          }
        } else {
          sniperrifleBuilder_.mergeFrom(value);
        }
        if (sniperrifle_ != null) {
          bitField0_ |= 0x00020000;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item sniperrifle = 18;
       */
      public Builder clearSniperrifle() {
        bitField0_ = (bitField0_ & ~0x00020000);
        sniperrifle_ = null;
        if (sniperrifleBuilder_ != null) {
          sniperrifleBuilder_.dispose();
          sniperrifleBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item sniperrifle = 18;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getSniperrifleBuilder() {
        bitField0_ |= 0x00020000;
        onChanged();
        return getSniperrifleFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item sniperrifle = 18;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getSniperrifleOrBuilder() {
        if (sniperrifleBuilder_ != null) {
          return sniperrifleBuilder_.getMessageOrBuilder();
        } else {
          return sniperrifle_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : sniperrifle_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item sniperrifle = 18;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getSniperrifleFieldBuilder() {
        if (sniperrifleBuilder_ == null) {
          sniperrifleBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getSniperrifle(),
                  getParentForChildren(),
                  isClean());
          sniperrifle_ = null;
        }
        return sniperrifleBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item stickybombLauncher_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> stickybombLauncherBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item stickybomb_launcher = 19;
       * @return Whether the stickybombLauncher field is set.
       */
      public boolean hasStickybombLauncher() {
        return ((bitField0_ & 0x00040000) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item stickybomb_launcher = 19;
       * @return The stickybombLauncher.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getStickybombLauncher() {
        if (stickybombLauncherBuilder_ == null) {
          return stickybombLauncher_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : stickybombLauncher_;
        } else {
          return stickybombLauncherBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item stickybomb_launcher = 19;
       */
      public Builder setStickybombLauncher(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (stickybombLauncherBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          stickybombLauncher_ = value;
        } else {
          stickybombLauncherBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00040000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item stickybomb_launcher = 19;
       */
      public Builder setStickybombLauncher(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (stickybombLauncherBuilder_ == null) {
          stickybombLauncher_ = builderForValue.build();
        } else {
          stickybombLauncherBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00040000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item stickybomb_launcher = 19;
       */
      public Builder mergeStickybombLauncher(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (stickybombLauncherBuilder_ == null) {
          if (((bitField0_ & 0x00040000) != 0) &&
            stickybombLauncher_ != null &&
            stickybombLauncher_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getStickybombLauncherBuilder().mergeFrom(value);
          } else {
            stickybombLauncher_ = value;
          }
        } else {
          stickybombLauncherBuilder_.mergeFrom(value);
        }
        if (stickybombLauncher_ != null) {
          bitField0_ |= 0x00040000;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item stickybomb_launcher = 19;
       */
      public Builder clearStickybombLauncher() {
        bitField0_ = (bitField0_ & ~0x00040000);
        stickybombLauncher_ = null;
        if (stickybombLauncherBuilder_ != null) {
          stickybombLauncherBuilder_.dispose();
          stickybombLauncherBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item stickybomb_launcher = 19;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getStickybombLauncherBuilder() {
        bitField0_ |= 0x00040000;
        onChanged();
        return getStickybombLauncherFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item stickybomb_launcher = 19;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getStickybombLauncherOrBuilder() {
        if (stickybombLauncherBuilder_ != null) {
          return stickybombLauncherBuilder_.getMessageOrBuilder();
        } else {
          return stickybombLauncher_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : stickybombLauncher_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item stickybomb_launcher = 19;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getStickybombLauncherFieldBuilder() {
        if (stickybombLauncherBuilder_ == null) {
          stickybombLauncherBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getStickybombLauncher(),
                  getParentForChildren(),
                  isClean());
          stickybombLauncher_ = null;
        }
        return stickybombLauncherBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item ubersaw_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> ubersawBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item ubersaw = 20;
       * @return Whether the ubersaw field is set.
       */
      public boolean hasUbersaw() {
        return ((bitField0_ & 0x00080000) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item ubersaw = 20;
       * @return The ubersaw.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getUbersaw() {
        if (ubersawBuilder_ == null) {
          return ubersaw_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : ubersaw_;
        } else {
          return ubersawBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item ubersaw = 20;
       */
      public Builder setUbersaw(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (ubersawBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ubersaw_ = value;
        } else {
          ubersawBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00080000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item ubersaw = 20;
       */
      public Builder setUbersaw(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (ubersawBuilder_ == null) {
          ubersaw_ = builderForValue.build();
        } else {
          ubersawBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00080000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item ubersaw = 20;
       */
      public Builder mergeUbersaw(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (ubersawBuilder_ == null) {
          if (((bitField0_ & 0x00080000) != 0) &&
            ubersaw_ != null &&
            ubersaw_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getUbersawBuilder().mergeFrom(value);
          } else {
            ubersaw_ = value;
          }
        } else {
          ubersawBuilder_.mergeFrom(value);
        }
        if (ubersaw_ != null) {
          bitField0_ |= 0x00080000;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item ubersaw = 20;
       */
      public Builder clearUbersaw() {
        bitField0_ = (bitField0_ & ~0x00080000);
        ubersaw_ = null;
        if (ubersawBuilder_ != null) {
          ubersawBuilder_.dispose();
          ubersawBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item ubersaw = 20;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getUbersawBuilder() {
        bitField0_ |= 0x00080000;
        onChanged();
        return getUbersawFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item ubersaw = 20;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getUbersawOrBuilder() {
        if (ubersawBuilder_ != null) {
          return ubersawBuilder_.getMessageOrBuilder();
        } else {
          return ubersaw_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : ubersaw_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item ubersaw = 20;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getUbersawFieldBuilder() {
        if (ubersawBuilder_ == null) {
          ubersawBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getUbersaw(),
                  getParentForChildren(),
                  isClean());
          ubersaw_ = null;
        }
        return ubersawBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item wrench_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> wrenchBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item wrench = 21;
       * @return Whether the wrench field is set.
       */
      public boolean hasWrench() {
        return ((bitField0_ & 0x00100000) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item wrench = 21;
       * @return The wrench.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getWrench() {
        if (wrenchBuilder_ == null) {
          return wrench_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : wrench_;
        } else {
          return wrenchBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item wrench = 21;
       */
      public Builder setWrench(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (wrenchBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          wrench_ = value;
        } else {
          wrenchBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00100000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item wrench = 21;
       */
      public Builder setWrench(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (wrenchBuilder_ == null) {
          wrench_ = builderForValue.build();
        } else {
          wrenchBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00100000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item wrench = 21;
       */
      public Builder mergeWrench(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (wrenchBuilder_ == null) {
          if (((bitField0_ & 0x00100000) != 0) &&
            wrench_ != null &&
            wrench_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getWrenchBuilder().mergeFrom(value);
          } else {
            wrench_ = value;
          }
        } else {
          wrenchBuilder_.mergeFrom(value);
        }
        if (wrench_ != null) {
          bitField0_ |= 0x00100000;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item wrench = 21;
       */
      public Builder clearWrench() {
        bitField0_ = (bitField0_ & ~0x00100000);
        wrench_ = null;
        if (wrenchBuilder_ != null) {
          wrenchBuilder_.dispose();
          wrenchBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item wrench = 21;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getWrenchBuilder() {
        bitField0_ |= 0x00100000;
        onChanged();
        return getWrenchFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item wrench = 21;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getWrenchOrBuilder() {
        if (wrenchBuilder_ != null) {
          return wrenchBuilder_.getMessageOrBuilder();
        } else {
          return wrench_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : wrench_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item wrench = 21;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getWrenchFieldBuilder() {
        if (wrenchBuilder_ == null) {
          wrenchBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getWrench(),
                  getParentForChildren(),
                  isClean());
          wrench_ = null;
        }
        return wrenchBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item amputator_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> amputatorBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item amputator = 22;
       * @return Whether the amputator field is set.
       */
      public boolean hasAmputator() {
        return ((bitField0_ & 0x00200000) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item amputator = 22;
       * @return The amputator.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getAmputator() {
        if (amputatorBuilder_ == null) {
          return amputator_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : amputator_;
        } else {
          return amputatorBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item amputator = 22;
       */
      public Builder setAmputator(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (amputatorBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          amputator_ = value;
        } else {
          amputatorBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00200000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item amputator = 22;
       */
      public Builder setAmputator(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (amputatorBuilder_ == null) {
          amputator_ = builderForValue.build();
        } else {
          amputatorBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00200000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item amputator = 22;
       */
      public Builder mergeAmputator(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (amputatorBuilder_ == null) {
          if (((bitField0_ & 0x00200000) != 0) &&
            amputator_ != null &&
            amputator_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getAmputatorBuilder().mergeFrom(value);
          } else {
            amputator_ = value;
          }
        } else {
          amputatorBuilder_.mergeFrom(value);
        }
        if (amputator_ != null) {
          bitField0_ |= 0x00200000;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item amputator = 22;
       */
      public Builder clearAmputator() {
        bitField0_ = (bitField0_ & ~0x00200000);
        amputator_ = null;
        if (amputatorBuilder_ != null) {
          amputatorBuilder_.dispose();
          amputatorBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item amputator = 22;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getAmputatorBuilder() {
        bitField0_ |= 0x00200000;
        onChanged();
        return getAmputatorFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item amputator = 22;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getAmputatorOrBuilder() {
        if (amputatorBuilder_ != null) {
          return amputatorBuilder_.getMessageOrBuilder();
        } else {
          return amputator_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : amputator_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item amputator = 22;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getAmputatorFieldBuilder() {
        if (amputatorBuilder_ == null) {
          amputatorBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getAmputator(),
                  getParentForChildren(),
                  isClean());
          amputator_ = null;
        }
        return amputatorBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item atomLauncher_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> atomLauncherBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item atom_launcher = 23;
       * @return Whether the atomLauncher field is set.
       */
      public boolean hasAtomLauncher() {
        return ((bitField0_ & 0x00400000) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item atom_launcher = 23;
       * @return The atomLauncher.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getAtomLauncher() {
        if (atomLauncherBuilder_ == null) {
          return atomLauncher_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : atomLauncher_;
        } else {
          return atomLauncherBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item atom_launcher = 23;
       */
      public Builder setAtomLauncher(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (atomLauncherBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          atomLauncher_ = value;
        } else {
          atomLauncherBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00400000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item atom_launcher = 23;
       */
      public Builder setAtomLauncher(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (atomLauncherBuilder_ == null) {
          atomLauncher_ = builderForValue.build();
        } else {
          atomLauncherBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00400000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item atom_launcher = 23;
       */
      public Builder mergeAtomLauncher(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (atomLauncherBuilder_ == null) {
          if (((bitField0_ & 0x00400000) != 0) &&
            atomLauncher_ != null &&
            atomLauncher_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getAtomLauncherBuilder().mergeFrom(value);
          } else {
            atomLauncher_ = value;
          }
        } else {
          atomLauncherBuilder_.mergeFrom(value);
        }
        if (atomLauncher_ != null) {
          bitField0_ |= 0x00400000;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item atom_launcher = 23;
       */
      public Builder clearAtomLauncher() {
        bitField0_ = (bitField0_ & ~0x00400000);
        atomLauncher_ = null;
        if (atomLauncherBuilder_ != null) {
          atomLauncherBuilder_.dispose();
          atomLauncherBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item atom_launcher = 23;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getAtomLauncherBuilder() {
        bitField0_ |= 0x00400000;
        onChanged();
        return getAtomLauncherFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item atom_launcher = 23;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getAtomLauncherOrBuilder() {
        if (atomLauncherBuilder_ != null) {
          return atomLauncherBuilder_.getMessageOrBuilder();
        } else {
          return atomLauncher_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : atomLauncher_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item atom_launcher = 23;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getAtomLauncherFieldBuilder() {
        if (atomLauncherBuilder_ == null) {
          atomLauncherBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getAtomLauncher(),
                  getParentForChildren(),
                  isClean());
          atomLauncher_ = null;
        }
        return atomLauncherBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item backScratcher_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> backScratcherBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item back_scratcher = 24;
       * @return Whether the backScratcher field is set.
       */
      public boolean hasBackScratcher() {
        return ((bitField0_ & 0x00800000) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item back_scratcher = 24;
       * @return The backScratcher.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getBackScratcher() {
        if (backScratcherBuilder_ == null) {
          return backScratcher_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : backScratcher_;
        } else {
          return backScratcherBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item back_scratcher = 24;
       */
      public Builder setBackScratcher(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (backScratcherBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          backScratcher_ = value;
        } else {
          backScratcherBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00800000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item back_scratcher = 24;
       */
      public Builder setBackScratcher(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (backScratcherBuilder_ == null) {
          backScratcher_ = builderForValue.build();
        } else {
          backScratcherBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00800000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item back_scratcher = 24;
       */
      public Builder mergeBackScratcher(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (backScratcherBuilder_ == null) {
          if (((bitField0_ & 0x00800000) != 0) &&
            backScratcher_ != null &&
            backScratcher_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getBackScratcherBuilder().mergeFrom(value);
          } else {
            backScratcher_ = value;
          }
        } else {
          backScratcherBuilder_.mergeFrom(value);
        }
        if (backScratcher_ != null) {
          bitField0_ |= 0x00800000;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item back_scratcher = 24;
       */
      public Builder clearBackScratcher() {
        bitField0_ = (bitField0_ & ~0x00800000);
        backScratcher_ = null;
        if (backScratcherBuilder_ != null) {
          backScratcherBuilder_.dispose();
          backScratcherBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item back_scratcher = 24;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getBackScratcherBuilder() {
        bitField0_ |= 0x00800000;
        onChanged();
        return getBackScratcherFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item back_scratcher = 24;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getBackScratcherOrBuilder() {
        if (backScratcherBuilder_ != null) {
          return backScratcherBuilder_.getMessageOrBuilder();
        } else {
          return backScratcher_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : backScratcher_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item back_scratcher = 24;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getBackScratcherFieldBuilder() {
        if (backScratcherBuilder_ == null) {
          backScratcherBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getBackScratcher(),
                  getParentForChildren(),
                  isClean());
          backScratcher_ = null;
        }
        return backScratcherBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item battleaxe_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> battleaxeBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item battleaxe = 25;
       * @return Whether the battleaxe field is set.
       */
      public boolean hasBattleaxe() {
        return ((bitField0_ & 0x01000000) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item battleaxe = 25;
       * @return The battleaxe.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getBattleaxe() {
        if (battleaxeBuilder_ == null) {
          return battleaxe_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : battleaxe_;
        } else {
          return battleaxeBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item battleaxe = 25;
       */
      public Builder setBattleaxe(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (battleaxeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          battleaxe_ = value;
        } else {
          battleaxeBuilder_.setMessage(value);
        }
        bitField0_ |= 0x01000000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item battleaxe = 25;
       */
      public Builder setBattleaxe(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (battleaxeBuilder_ == null) {
          battleaxe_ = builderForValue.build();
        } else {
          battleaxeBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x01000000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item battleaxe = 25;
       */
      public Builder mergeBattleaxe(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (battleaxeBuilder_ == null) {
          if (((bitField0_ & 0x01000000) != 0) &&
            battleaxe_ != null &&
            battleaxe_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getBattleaxeBuilder().mergeFrom(value);
          } else {
            battleaxe_ = value;
          }
        } else {
          battleaxeBuilder_.mergeFrom(value);
        }
        if (battleaxe_ != null) {
          bitField0_ |= 0x01000000;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item battleaxe = 25;
       */
      public Builder clearBattleaxe() {
        bitField0_ = (bitField0_ & ~0x01000000);
        battleaxe_ = null;
        if (battleaxeBuilder_ != null) {
          battleaxeBuilder_.dispose();
          battleaxeBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item battleaxe = 25;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getBattleaxeBuilder() {
        bitField0_ |= 0x01000000;
        onChanged();
        return getBattleaxeFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item battleaxe = 25;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getBattleaxeOrBuilder() {
        if (battleaxeBuilder_ != null) {
          return battleaxeBuilder_.getMessageOrBuilder();
        } else {
          return battleaxe_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : battleaxe_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item battleaxe = 25;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getBattleaxeFieldBuilder() {
        if (battleaxeBuilder_ == null) {
          battleaxeBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getBattleaxe(),
                  getParentForChildren(),
                  isClean());
          battleaxe_ = null;
        }
        return battleaxeBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item bazaarSniper_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> bazaarSniperBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item bazaar_sniper = 26;
       * @return Whether the bazaarSniper field is set.
       */
      public boolean hasBazaarSniper() {
        return ((bitField0_ & 0x02000000) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item bazaar_sniper = 26;
       * @return The bazaarSniper.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getBazaarSniper() {
        if (bazaarSniperBuilder_ == null) {
          return bazaarSniper_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : bazaarSniper_;
        } else {
          return bazaarSniperBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item bazaar_sniper = 26;
       */
      public Builder setBazaarSniper(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (bazaarSniperBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          bazaarSniper_ = value;
        } else {
          bazaarSniperBuilder_.setMessage(value);
        }
        bitField0_ |= 0x02000000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item bazaar_sniper = 26;
       */
      public Builder setBazaarSniper(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (bazaarSniperBuilder_ == null) {
          bazaarSniper_ = builderForValue.build();
        } else {
          bazaarSniperBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x02000000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item bazaar_sniper = 26;
       */
      public Builder mergeBazaarSniper(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (bazaarSniperBuilder_ == null) {
          if (((bitField0_ & 0x02000000) != 0) &&
            bazaarSniper_ != null &&
            bazaarSniper_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getBazaarSniperBuilder().mergeFrom(value);
          } else {
            bazaarSniper_ = value;
          }
        } else {
          bazaarSniperBuilder_.mergeFrom(value);
        }
        if (bazaarSniper_ != null) {
          bitField0_ |= 0x02000000;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item bazaar_sniper = 26;
       */
      public Builder clearBazaarSniper() {
        bitField0_ = (bitField0_ & ~0x02000000);
        bazaarSniper_ = null;
        if (bazaarSniperBuilder_ != null) {
          bazaarSniperBuilder_.dispose();
          bazaarSniperBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item bazaar_sniper = 26;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getBazaarSniperBuilder() {
        bitField0_ |= 0x02000000;
        onChanged();
        return getBazaarSniperFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item bazaar_sniper = 26;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getBazaarSniperOrBuilder() {
        if (bazaarSniperBuilder_ != null) {
          return bazaarSniperBuilder_.getMessageOrBuilder();
        } else {
          return bazaarSniper_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : bazaarSniper_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item bazaar_sniper = 26;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getBazaarSniperFieldBuilder() {
        if (bazaarSniperBuilder_ == null) {
          bazaarSniperBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getBazaarSniper(),
                  getParentForChildren(),
                  isClean());
          bazaarSniper_ = null;
        }
        return bazaarSniperBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item blackbox_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> blackboxBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item blackbox = 27;
       * @return Whether the blackbox field is set.
       */
      public boolean hasBlackbox() {
        return ((bitField0_ & 0x04000000) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item blackbox = 27;
       * @return The blackbox.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getBlackbox() {
        if (blackboxBuilder_ == null) {
          return blackbox_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : blackbox_;
        } else {
          return blackboxBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item blackbox = 27;
       */
      public Builder setBlackbox(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (blackboxBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          blackbox_ = value;
        } else {
          blackboxBuilder_.setMessage(value);
        }
        bitField0_ |= 0x04000000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item blackbox = 27;
       */
      public Builder setBlackbox(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (blackboxBuilder_ == null) {
          blackbox_ = builderForValue.build();
        } else {
          blackboxBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x04000000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item blackbox = 27;
       */
      public Builder mergeBlackbox(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (blackboxBuilder_ == null) {
          if (((bitField0_ & 0x04000000) != 0) &&
            blackbox_ != null &&
            blackbox_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getBlackboxBuilder().mergeFrom(value);
          } else {
            blackbox_ = value;
          }
        } else {
          blackboxBuilder_.mergeFrom(value);
        }
        if (blackbox_ != null) {
          bitField0_ |= 0x04000000;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item blackbox = 27;
       */
      public Builder clearBlackbox() {
        bitField0_ = (bitField0_ & ~0x04000000);
        blackbox_ = null;
        if (blackboxBuilder_ != null) {
          blackboxBuilder_.dispose();
          blackboxBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item blackbox = 27;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getBlackboxBuilder() {
        bitField0_ |= 0x04000000;
        onChanged();
        return getBlackboxFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item blackbox = 27;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getBlackboxOrBuilder() {
        if (blackboxBuilder_ != null) {
          return blackboxBuilder_.getMessageOrBuilder();
        } else {
          return blackbox_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : blackbox_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item blackbox = 27;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getBlackboxFieldBuilder() {
        if (blackboxBuilder_ == null) {
          blackboxBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getBlackbox(),
                  getParentForChildren(),
                  isClean());
          blackbox_ = null;
        }
        return blackboxBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item claidheamohmor_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> claidheamohmorBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item claidheamohmor = 28;
       * @return Whether the claidheamohmor field is set.
       */
      public boolean hasClaidheamohmor() {
        return ((bitField0_ & 0x08000000) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item claidheamohmor = 28;
       * @return The claidheamohmor.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getClaidheamohmor() {
        if (claidheamohmorBuilder_ == null) {
          return claidheamohmor_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : claidheamohmor_;
        } else {
          return claidheamohmorBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item claidheamohmor = 28;
       */
      public Builder setClaidheamohmor(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (claidheamohmorBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          claidheamohmor_ = value;
        } else {
          claidheamohmorBuilder_.setMessage(value);
        }
        bitField0_ |= 0x08000000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item claidheamohmor = 28;
       */
      public Builder setClaidheamohmor(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (claidheamohmorBuilder_ == null) {
          claidheamohmor_ = builderForValue.build();
        } else {
          claidheamohmorBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x08000000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item claidheamohmor = 28;
       */
      public Builder mergeClaidheamohmor(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (claidheamohmorBuilder_ == null) {
          if (((bitField0_ & 0x08000000) != 0) &&
            claidheamohmor_ != null &&
            claidheamohmor_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getClaidheamohmorBuilder().mergeFrom(value);
          } else {
            claidheamohmor_ = value;
          }
        } else {
          claidheamohmorBuilder_.mergeFrom(value);
        }
        if (claidheamohmor_ != null) {
          bitField0_ |= 0x08000000;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item claidheamohmor = 28;
       */
      public Builder clearClaidheamohmor() {
        bitField0_ = (bitField0_ & ~0x08000000);
        claidheamohmor_ = null;
        if (claidheamohmorBuilder_ != null) {
          claidheamohmorBuilder_.dispose();
          claidheamohmorBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item claidheamohmor = 28;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getClaidheamohmorBuilder() {
        bitField0_ |= 0x08000000;
        onChanged();
        return getClaidheamohmorFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item claidheamohmor = 28;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getClaidheamohmorOrBuilder() {
        if (claidheamohmorBuilder_ != null) {
          return claidheamohmorBuilder_.getMessageOrBuilder();
        } else {
          return claidheamohmor_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : claidheamohmor_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item claidheamohmor = 28;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getClaidheamohmorFieldBuilder() {
        if (claidheamohmorBuilder_ == null) {
          claidheamohmorBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getClaidheamohmor(),
                  getParentForChildren(),
                  isClean());
          claidheamohmor_ = null;
        }
        return claidheamohmorBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item crusadersCrossbow_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> crusadersCrossbowBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item crusaders_crossbow = 29;
       * @return Whether the crusadersCrossbow field is set.
       */
      public boolean hasCrusadersCrossbow() {
        return ((bitField0_ & 0x10000000) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item crusaders_crossbow = 29;
       * @return The crusadersCrossbow.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getCrusadersCrossbow() {
        if (crusadersCrossbowBuilder_ == null) {
          return crusadersCrossbow_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : crusadersCrossbow_;
        } else {
          return crusadersCrossbowBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item crusaders_crossbow = 29;
       */
      public Builder setCrusadersCrossbow(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (crusadersCrossbowBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          crusadersCrossbow_ = value;
        } else {
          crusadersCrossbowBuilder_.setMessage(value);
        }
        bitField0_ |= 0x10000000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item crusaders_crossbow = 29;
       */
      public Builder setCrusadersCrossbow(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (crusadersCrossbowBuilder_ == null) {
          crusadersCrossbow_ = builderForValue.build();
        } else {
          crusadersCrossbowBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x10000000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item crusaders_crossbow = 29;
       */
      public Builder mergeCrusadersCrossbow(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (crusadersCrossbowBuilder_ == null) {
          if (((bitField0_ & 0x10000000) != 0) &&
            crusadersCrossbow_ != null &&
            crusadersCrossbow_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getCrusadersCrossbowBuilder().mergeFrom(value);
          } else {
            crusadersCrossbow_ = value;
          }
        } else {
          crusadersCrossbowBuilder_.mergeFrom(value);
        }
        if (crusadersCrossbow_ != null) {
          bitField0_ |= 0x10000000;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item crusaders_crossbow = 29;
       */
      public Builder clearCrusadersCrossbow() {
        bitField0_ = (bitField0_ & ~0x10000000);
        crusadersCrossbow_ = null;
        if (crusadersCrossbowBuilder_ != null) {
          crusadersCrossbowBuilder_.dispose();
          crusadersCrossbowBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item crusaders_crossbow = 29;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getCrusadersCrossbowBuilder() {
        bitField0_ |= 0x10000000;
        onChanged();
        return getCrusadersCrossbowFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item crusaders_crossbow = 29;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getCrusadersCrossbowOrBuilder() {
        if (crusadersCrossbowBuilder_ != null) {
          return crusadersCrossbowBuilder_.getMessageOrBuilder();
        } else {
          return crusadersCrossbow_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : crusadersCrossbow_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item crusaders_crossbow = 29;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getCrusadersCrossbowFieldBuilder() {
        if (crusadersCrossbowBuilder_ == null) {
          crusadersCrossbowBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getCrusadersCrossbow(),
                  getParentForChildren(),
                  isClean());
          crusadersCrossbow_ = null;
        }
        return crusadersCrossbowBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item degreaser_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> degreaserBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item degreaser = 30;
       * @return Whether the degreaser field is set.
       */
      public boolean hasDegreaser() {
        return ((bitField0_ & 0x20000000) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item degreaser = 30;
       * @return The degreaser.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getDegreaser() {
        if (degreaserBuilder_ == null) {
          return degreaser_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : degreaser_;
        } else {
          return degreaserBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item degreaser = 30;
       */
      public Builder setDegreaser(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (degreaserBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          degreaser_ = value;
        } else {
          degreaserBuilder_.setMessage(value);
        }
        bitField0_ |= 0x20000000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item degreaser = 30;
       */
      public Builder setDegreaser(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (degreaserBuilder_ == null) {
          degreaser_ = builderForValue.build();
        } else {
          degreaserBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x20000000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item degreaser = 30;
       */
      public Builder mergeDegreaser(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (degreaserBuilder_ == null) {
          if (((bitField0_ & 0x20000000) != 0) &&
            degreaser_ != null &&
            degreaser_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getDegreaserBuilder().mergeFrom(value);
          } else {
            degreaser_ = value;
          }
        } else {
          degreaserBuilder_.mergeFrom(value);
        }
        if (degreaser_ != null) {
          bitField0_ |= 0x20000000;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item degreaser = 30;
       */
      public Builder clearDegreaser() {
        bitField0_ = (bitField0_ & ~0x20000000);
        degreaser_ = null;
        if (degreaserBuilder_ != null) {
          degreaserBuilder_.dispose();
          degreaserBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item degreaser = 30;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getDegreaserBuilder() {
        bitField0_ |= 0x20000000;
        onChanged();
        return getDegreaserFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item degreaser = 30;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getDegreaserOrBuilder() {
        if (degreaserBuilder_ != null) {
          return degreaserBuilder_.getMessageOrBuilder();
        } else {
          return degreaser_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : degreaser_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item degreaser = 30;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getDegreaserFieldBuilder() {
        if (degreaserBuilder_ == null) {
          degreaserBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getDegreaser(),
                  getParentForChildren(),
                  isClean());
          degreaser_ = null;
        }
        return degreaserBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item demoCannon_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> demoCannonBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item demo_cannon = 31;
       * @return Whether the demoCannon field is set.
       */
      public boolean hasDemoCannon() {
        return ((bitField0_ & 0x40000000) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item demo_cannon = 31;
       * @return The demoCannon.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getDemoCannon() {
        if (demoCannonBuilder_ == null) {
          return demoCannon_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : demoCannon_;
        } else {
          return demoCannonBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item demo_cannon = 31;
       */
      public Builder setDemoCannon(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (demoCannonBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          demoCannon_ = value;
        } else {
          demoCannonBuilder_.setMessage(value);
        }
        bitField0_ |= 0x40000000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item demo_cannon = 31;
       */
      public Builder setDemoCannon(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (demoCannonBuilder_ == null) {
          demoCannon_ = builderForValue.build();
        } else {
          demoCannonBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x40000000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item demo_cannon = 31;
       */
      public Builder mergeDemoCannon(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (demoCannonBuilder_ == null) {
          if (((bitField0_ & 0x40000000) != 0) &&
            demoCannon_ != null &&
            demoCannon_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getDemoCannonBuilder().mergeFrom(value);
          } else {
            demoCannon_ = value;
          }
        } else {
          demoCannonBuilder_.mergeFrom(value);
        }
        if (demoCannon_ != null) {
          bitField0_ |= 0x40000000;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item demo_cannon = 31;
       */
      public Builder clearDemoCannon() {
        bitField0_ = (bitField0_ & ~0x40000000);
        demoCannon_ = null;
        if (demoCannonBuilder_ != null) {
          demoCannonBuilder_.dispose();
          demoCannonBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item demo_cannon = 31;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getDemoCannonBuilder() {
        bitField0_ |= 0x40000000;
        onChanged();
        return getDemoCannonFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item demo_cannon = 31;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getDemoCannonOrBuilder() {
        if (demoCannonBuilder_ != null) {
          return demoCannonBuilder_.getMessageOrBuilder();
        } else {
          return demoCannon_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : demoCannon_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item demo_cannon = 31;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getDemoCannonFieldBuilder() {
        if (demoCannonBuilder_ == null) {
          demoCannonBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getDemoCannon(),
                  getParentForChildren(),
                  isClean());
          demoCannon_ = null;
        }
        return demoCannonBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item demoSultanSword_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> demoSultanSwordBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item demo_sultan_sword = 32;
       * @return Whether the demoSultanSword field is set.
       */
      public boolean hasDemoSultanSword() {
        return ((bitField0_ & 0x80000000) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item demo_sultan_sword = 32;
       * @return The demoSultanSword.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getDemoSultanSword() {
        if (demoSultanSwordBuilder_ == null) {
          return demoSultanSword_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : demoSultanSword_;
        } else {
          return demoSultanSwordBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item demo_sultan_sword = 32;
       */
      public Builder setDemoSultanSword(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (demoSultanSwordBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          demoSultanSword_ = value;
        } else {
          demoSultanSwordBuilder_.setMessage(value);
        }
        bitField0_ |= 0x80000000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item demo_sultan_sword = 32;
       */
      public Builder setDemoSultanSword(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (demoSultanSwordBuilder_ == null) {
          demoSultanSword_ = builderForValue.build();
        } else {
          demoSultanSwordBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x80000000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item demo_sultan_sword = 32;
       */
      public Builder mergeDemoSultanSword(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (demoSultanSwordBuilder_ == null) {
          if (((bitField0_ & 0x80000000) != 0) &&
            demoSultanSword_ != null &&
            demoSultanSword_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getDemoSultanSwordBuilder().mergeFrom(value);
          } else {
            demoSultanSword_ = value;
          }
        } else {
          demoSultanSwordBuilder_.mergeFrom(value);
        }
        if (demoSultanSword_ != null) {
          bitField0_ |= 0x80000000;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item demo_sultan_sword = 32;
       */
      public Builder clearDemoSultanSword() {
        bitField0_ = (bitField0_ & ~0x80000000);
        demoSultanSword_ = null;
        if (demoSultanSwordBuilder_ != null) {
          demoSultanSwordBuilder_.dispose();
          demoSultanSwordBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item demo_sultan_sword = 32;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getDemoSultanSwordBuilder() {
        bitField0_ |= 0x80000000;
        onChanged();
        return getDemoSultanSwordFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item demo_sultan_sword = 32;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getDemoSultanSwordOrBuilder() {
        if (demoSultanSwordBuilder_ != null) {
          return demoSultanSwordBuilder_.getMessageOrBuilder();
        } else {
          return demoSultanSword_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : demoSultanSword_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item demo_sultan_sword = 32;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getDemoSultanSwordFieldBuilder() {
        if (demoSultanSwordBuilder_ == null) {
          demoSultanSwordBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getDemoSultanSword(),
                  getParentForChildren(),
                  isClean());
          demoSultanSword_ = null;
        }
        return demoSultanSwordBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item detonator_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> detonatorBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item detonator = 33;
       * @return Whether the detonator field is set.
       */
      public boolean hasDetonator() {
        return ((bitField1_ & 0x00000001) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item detonator = 33;
       * @return The detonator.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getDetonator() {
        if (detonatorBuilder_ == null) {
          return detonator_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : detonator_;
        } else {
          return detonatorBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item detonator = 33;
       */
      public Builder setDetonator(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (detonatorBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          detonator_ = value;
        } else {
          detonatorBuilder_.setMessage(value);
        }
        bitField1_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item detonator = 33;
       */
      public Builder setDetonator(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (detonatorBuilder_ == null) {
          detonator_ = builderForValue.build();
        } else {
          detonatorBuilder_.setMessage(builderForValue.build());
        }
        bitField1_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item detonator = 33;
       */
      public Builder mergeDetonator(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (detonatorBuilder_ == null) {
          if (((bitField1_ & 0x00000001) != 0) &&
            detonator_ != null &&
            detonator_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getDetonatorBuilder().mergeFrom(value);
          } else {
            detonator_ = value;
          }
        } else {
          detonatorBuilder_.mergeFrom(value);
        }
        if (detonator_ != null) {
          bitField1_ |= 0x00000001;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item detonator = 33;
       */
      public Builder clearDetonator() {
        bitField1_ = (bitField1_ & ~0x00000001);
        detonator_ = null;
        if (detonatorBuilder_ != null) {
          detonatorBuilder_.dispose();
          detonatorBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item detonator = 33;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getDetonatorBuilder() {
        bitField1_ |= 0x00000001;
        onChanged();
        return getDetonatorFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item detonator = 33;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getDetonatorOrBuilder() {
        if (detonatorBuilder_ != null) {
          return detonatorBuilder_.getMessageOrBuilder();
        } else {
          return detonator_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : detonator_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item detonator = 33;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getDetonatorFieldBuilder() {
        if (detonatorBuilder_ == null) {
          detonatorBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getDetonator(),
                  getParentForChildren(),
                  isClean());
          detonator_ = null;
        }
        return detonatorBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item gatlingGun_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> gatlingGunBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item gatling_gun = 34;
       * @return Whether the gatlingGun field is set.
       */
      public boolean hasGatlingGun() {
        return ((bitField1_ & 0x00000002) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item gatling_gun = 34;
       * @return The gatlingGun.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getGatlingGun() {
        if (gatlingGunBuilder_ == null) {
          return gatlingGun_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : gatlingGun_;
        } else {
          return gatlingGunBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item gatling_gun = 34;
       */
      public Builder setGatlingGun(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (gatlingGunBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          gatlingGun_ = value;
        } else {
          gatlingGunBuilder_.setMessage(value);
        }
        bitField1_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item gatling_gun = 34;
       */
      public Builder setGatlingGun(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (gatlingGunBuilder_ == null) {
          gatlingGun_ = builderForValue.build();
        } else {
          gatlingGunBuilder_.setMessage(builderForValue.build());
        }
        bitField1_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item gatling_gun = 34;
       */
      public Builder mergeGatlingGun(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (gatlingGunBuilder_ == null) {
          if (((bitField1_ & 0x00000002) != 0) &&
            gatlingGun_ != null &&
            gatlingGun_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getGatlingGunBuilder().mergeFrom(value);
          } else {
            gatlingGun_ = value;
          }
        } else {
          gatlingGunBuilder_.mergeFrom(value);
        }
        if (gatlingGun_ != null) {
          bitField1_ |= 0x00000002;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item gatling_gun = 34;
       */
      public Builder clearGatlingGun() {
        bitField1_ = (bitField1_ & ~0x00000002);
        gatlingGun_ = null;
        if (gatlingGunBuilder_ != null) {
          gatlingGunBuilder_.dispose();
          gatlingGunBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item gatling_gun = 34;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getGatlingGunBuilder() {
        bitField1_ |= 0x00000002;
        onChanged();
        return getGatlingGunFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item gatling_gun = 34;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getGatlingGunOrBuilder() {
        if (gatlingGunBuilder_ != null) {
          return gatlingGunBuilder_.getMessageOrBuilder();
        } else {
          return gatlingGun_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : gatlingGun_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item gatling_gun = 34;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getGatlingGunFieldBuilder() {
        if (gatlingGunBuilder_ == null) {
          gatlingGunBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getGatlingGun(),
                  getParentForChildren(),
                  isClean());
          gatlingGun_ = null;
        }
        return gatlingGunBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item holymackerel_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> holymackerelBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item holymackerel = 35;
       * @return Whether the holymackerel field is set.
       */
      public boolean hasHolymackerel() {
        return ((bitField1_ & 0x00000004) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item holymackerel = 35;
       * @return The holymackerel.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getHolymackerel() {
        if (holymackerelBuilder_ == null) {
          return holymackerel_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : holymackerel_;
        } else {
          return holymackerelBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item holymackerel = 35;
       */
      public Builder setHolymackerel(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (holymackerelBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          holymackerel_ = value;
        } else {
          holymackerelBuilder_.setMessage(value);
        }
        bitField1_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item holymackerel = 35;
       */
      public Builder setHolymackerel(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (holymackerelBuilder_ == null) {
          holymackerel_ = builderForValue.build();
        } else {
          holymackerelBuilder_.setMessage(builderForValue.build());
        }
        bitField1_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item holymackerel = 35;
       */
      public Builder mergeHolymackerel(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (holymackerelBuilder_ == null) {
          if (((bitField1_ & 0x00000004) != 0) &&
            holymackerel_ != null &&
            holymackerel_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getHolymackerelBuilder().mergeFrom(value);
          } else {
            holymackerel_ = value;
          }
        } else {
          holymackerelBuilder_.mergeFrom(value);
        }
        if (holymackerel_ != null) {
          bitField1_ |= 0x00000004;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item holymackerel = 35;
       */
      public Builder clearHolymackerel() {
        bitField1_ = (bitField1_ & ~0x00000004);
        holymackerel_ = null;
        if (holymackerelBuilder_ != null) {
          holymackerelBuilder_.dispose();
          holymackerelBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item holymackerel = 35;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getHolymackerelBuilder() {
        bitField1_ |= 0x00000004;
        onChanged();
        return getHolymackerelFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item holymackerel = 35;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getHolymackerelOrBuilder() {
        if (holymackerelBuilder_ != null) {
          return holymackerelBuilder_.getMessageOrBuilder();
        } else {
          return holymackerel_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : holymackerel_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item holymackerel = 35;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getHolymackerelFieldBuilder() {
        if (holymackerelBuilder_ == null) {
          holymackerelBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getHolymackerel(),
                  getParentForChildren(),
                  isClean());
          holymackerel_ = null;
        }
        return holymackerelBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item jag_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> jagBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item jag = 36;
       * @return Whether the jag field is set.
       */
      public boolean hasJag() {
        return ((bitField1_ & 0x00000008) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item jag = 36;
       * @return The jag.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getJag() {
        if (jagBuilder_ == null) {
          return jag_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : jag_;
        } else {
          return jagBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item jag = 36;
       */
      public Builder setJag(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (jagBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          jag_ = value;
        } else {
          jagBuilder_.setMessage(value);
        }
        bitField1_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item jag = 36;
       */
      public Builder setJag(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (jagBuilder_ == null) {
          jag_ = builderForValue.build();
        } else {
          jagBuilder_.setMessage(builderForValue.build());
        }
        bitField1_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item jag = 36;
       */
      public Builder mergeJag(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (jagBuilder_ == null) {
          if (((bitField1_ & 0x00000008) != 0) &&
            jag_ != null &&
            jag_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getJagBuilder().mergeFrom(value);
          } else {
            jag_ = value;
          }
        } else {
          jagBuilder_.mergeFrom(value);
        }
        if (jag_ != null) {
          bitField1_ |= 0x00000008;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item jag = 36;
       */
      public Builder clearJag() {
        bitField1_ = (bitField1_ & ~0x00000008);
        jag_ = null;
        if (jagBuilder_ != null) {
          jagBuilder_.dispose();
          jagBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item jag = 36;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getJagBuilder() {
        bitField1_ |= 0x00000008;
        onChanged();
        return getJagFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item jag = 36;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getJagOrBuilder() {
        if (jagBuilder_ != null) {
          return jagBuilder_.getMessageOrBuilder();
        } else {
          return jag_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : jag_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item jag = 36;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getJagFieldBuilder() {
        if (jagBuilder_ == null) {
          jagBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getJag(),
                  getParentForChildren(),
                  isClean());
          jag_ = null;
        }
        return jagBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item lochnload_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> lochnloadBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item lochnload = 37;
       * @return Whether the lochnload field is set.
       */
      public boolean hasLochnload() {
        return ((bitField1_ & 0x00000010) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item lochnload = 37;
       * @return The lochnload.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getLochnload() {
        if (lochnloadBuilder_ == null) {
          return lochnload_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : lochnload_;
        } else {
          return lochnloadBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item lochnload = 37;
       */
      public Builder setLochnload(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (lochnloadBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          lochnload_ = value;
        } else {
          lochnloadBuilder_.setMessage(value);
        }
        bitField1_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item lochnload = 37;
       */
      public Builder setLochnload(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (lochnloadBuilder_ == null) {
          lochnload_ = builderForValue.build();
        } else {
          lochnloadBuilder_.setMessage(builderForValue.build());
        }
        bitField1_ |= 0x00000010;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item lochnload = 37;
       */
      public Builder mergeLochnload(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (lochnloadBuilder_ == null) {
          if (((bitField1_ & 0x00000010) != 0) &&
            lochnload_ != null &&
            lochnload_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getLochnloadBuilder().mergeFrom(value);
          } else {
            lochnload_ = value;
          }
        } else {
          lochnloadBuilder_.mergeFrom(value);
        }
        if (lochnload_ != null) {
          bitField1_ |= 0x00000010;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item lochnload = 37;
       */
      public Builder clearLochnload() {
        bitField1_ = (bitField1_ & ~0x00000010);
        lochnload_ = null;
        if (lochnloadBuilder_ != null) {
          lochnloadBuilder_.dispose();
          lochnloadBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item lochnload = 37;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getLochnloadBuilder() {
        bitField1_ |= 0x00000010;
        onChanged();
        return getLochnloadFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item lochnload = 37;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getLochnloadOrBuilder() {
        if (lochnloadBuilder_ != null) {
          return lochnloadBuilder_.getMessageOrBuilder();
        } else {
          return lochnload_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : lochnload_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item lochnload = 37;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getLochnloadFieldBuilder() {
        if (lochnloadBuilder_ == null) {
          lochnloadBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getLochnload(),
                  getParentForChildren(),
                  isClean());
          lochnload_ = null;
        }
        return lochnloadBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item powerjack_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> powerjackBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item powerjack = 38;
       * @return Whether the powerjack field is set.
       */
      public boolean hasPowerjack() {
        return ((bitField1_ & 0x00000020) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item powerjack = 38;
       * @return The powerjack.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getPowerjack() {
        if (powerjackBuilder_ == null) {
          return powerjack_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : powerjack_;
        } else {
          return powerjackBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item powerjack = 38;
       */
      public Builder setPowerjack(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (powerjackBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          powerjack_ = value;
        } else {
          powerjackBuilder_.setMessage(value);
        }
        bitField1_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item powerjack = 38;
       */
      public Builder setPowerjack(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (powerjackBuilder_ == null) {
          powerjack_ = builderForValue.build();
        } else {
          powerjackBuilder_.setMessage(builderForValue.build());
        }
        bitField1_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item powerjack = 38;
       */
      public Builder mergePowerjack(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (powerjackBuilder_ == null) {
          if (((bitField1_ & 0x00000020) != 0) &&
            powerjack_ != null &&
            powerjack_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getPowerjackBuilder().mergeFrom(value);
          } else {
            powerjack_ = value;
          }
        } else {
          powerjackBuilder_.mergeFrom(value);
        }
        if (powerjack_ != null) {
          bitField1_ |= 0x00000020;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item powerjack = 38;
       */
      public Builder clearPowerjack() {
        bitField1_ = (bitField1_ & ~0x00000020);
        powerjack_ = null;
        if (powerjackBuilder_ != null) {
          powerjackBuilder_.dispose();
          powerjackBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item powerjack = 38;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getPowerjackBuilder() {
        bitField1_ |= 0x00000020;
        onChanged();
        return getPowerjackFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item powerjack = 38;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getPowerjackOrBuilder() {
        if (powerjackBuilder_ != null) {
          return powerjackBuilder_.getMessageOrBuilder();
        } else {
          return powerjack_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : powerjack_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item powerjack = 38;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getPowerjackFieldBuilder() {
        if (powerjackBuilder_ == null) {
          powerjackBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getPowerjack(),
                  getParentForChildren(),
                  isClean());
          powerjack_ = null;
        }
        return powerjackBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item quadball_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> quadballBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item quadball = 39;
       * @return Whether the quadball field is set.
       */
      public boolean hasQuadball() {
        return ((bitField1_ & 0x00000040) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item quadball = 39;
       * @return The quadball.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getQuadball() {
        if (quadballBuilder_ == null) {
          return quadball_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : quadball_;
        } else {
          return quadballBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item quadball = 39;
       */
      public Builder setQuadball(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (quadballBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          quadball_ = value;
        } else {
          quadballBuilder_.setMessage(value);
        }
        bitField1_ |= 0x00000040;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item quadball = 39;
       */
      public Builder setQuadball(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (quadballBuilder_ == null) {
          quadball_ = builderForValue.build();
        } else {
          quadballBuilder_.setMessage(builderForValue.build());
        }
        bitField1_ |= 0x00000040;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item quadball = 39;
       */
      public Builder mergeQuadball(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (quadballBuilder_ == null) {
          if (((bitField1_ & 0x00000040) != 0) &&
            quadball_ != null &&
            quadball_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getQuadballBuilder().mergeFrom(value);
          } else {
            quadball_ = value;
          }
        } else {
          quadballBuilder_.mergeFrom(value);
        }
        if (quadball_ != null) {
          bitField1_ |= 0x00000040;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item quadball = 39;
       */
      public Builder clearQuadball() {
        bitField1_ = (bitField1_ & ~0x00000040);
        quadball_ = null;
        if (quadballBuilder_ != null) {
          quadballBuilder_.dispose();
          quadballBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item quadball = 39;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getQuadballBuilder() {
        bitField1_ |= 0x00000040;
        onChanged();
        return getQuadballFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item quadball = 39;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getQuadballOrBuilder() {
        if (quadballBuilder_ != null) {
          return quadballBuilder_.getMessageOrBuilder();
        } else {
          return quadball_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : quadball_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item quadball = 39;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getQuadballFieldBuilder() {
        if (quadballBuilder_ == null) {
          quadballBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getQuadball(),
                  getParentForChildren(),
                  isClean());
          quadball_ = null;
        }
        return quadballBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item reserveShooter_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> reserveShooterBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item reserve_shooter = 40;
       * @return Whether the reserveShooter field is set.
       */
      public boolean hasReserveShooter() {
        return ((bitField1_ & 0x00000080) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item reserve_shooter = 40;
       * @return The reserveShooter.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getReserveShooter() {
        if (reserveShooterBuilder_ == null) {
          return reserveShooter_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : reserveShooter_;
        } else {
          return reserveShooterBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item reserve_shooter = 40;
       */
      public Builder setReserveShooter(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (reserveShooterBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          reserveShooter_ = value;
        } else {
          reserveShooterBuilder_.setMessage(value);
        }
        bitField1_ |= 0x00000080;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item reserve_shooter = 40;
       */
      public Builder setReserveShooter(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (reserveShooterBuilder_ == null) {
          reserveShooter_ = builderForValue.build();
        } else {
          reserveShooterBuilder_.setMessage(builderForValue.build());
        }
        bitField1_ |= 0x00000080;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item reserve_shooter = 40;
       */
      public Builder mergeReserveShooter(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (reserveShooterBuilder_ == null) {
          if (((bitField1_ & 0x00000080) != 0) &&
            reserveShooter_ != null &&
            reserveShooter_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getReserveShooterBuilder().mergeFrom(value);
          } else {
            reserveShooter_ = value;
          }
        } else {
          reserveShooterBuilder_.mergeFrom(value);
        }
        if (reserveShooter_ != null) {
          bitField1_ |= 0x00000080;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item reserve_shooter = 40;
       */
      public Builder clearReserveShooter() {
        bitField1_ = (bitField1_ & ~0x00000080);
        reserveShooter_ = null;
        if (reserveShooterBuilder_ != null) {
          reserveShooterBuilder_.dispose();
          reserveShooterBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item reserve_shooter = 40;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getReserveShooterBuilder() {
        bitField1_ |= 0x00000080;
        onChanged();
        return getReserveShooterFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item reserve_shooter = 40;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getReserveShooterOrBuilder() {
        if (reserveShooterBuilder_ != null) {
          return reserveShooterBuilder_.getMessageOrBuilder();
        } else {
          return reserveShooter_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : reserveShooter_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item reserve_shooter = 40;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getReserveShooterFieldBuilder() {
        if (reserveShooterBuilder_ == null) {
          reserveShooterBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getReserveShooter(),
                  getParentForChildren(),
                  isClean());
          reserveShooter_ = null;
        }
        return reserveShooterBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item ridingCrop_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> ridingCropBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item riding_crop = 41;
       * @return Whether the ridingCrop field is set.
       */
      public boolean hasRidingCrop() {
        return ((bitField1_ & 0x00000100) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item riding_crop = 41;
       * @return The ridingCrop.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getRidingCrop() {
        if (ridingCropBuilder_ == null) {
          return ridingCrop_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : ridingCrop_;
        } else {
          return ridingCropBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item riding_crop = 41;
       */
      public Builder setRidingCrop(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (ridingCropBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ridingCrop_ = value;
        } else {
          ridingCropBuilder_.setMessage(value);
        }
        bitField1_ |= 0x00000100;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item riding_crop = 41;
       */
      public Builder setRidingCrop(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (ridingCropBuilder_ == null) {
          ridingCrop_ = builderForValue.build();
        } else {
          ridingCropBuilder_.setMessage(builderForValue.build());
        }
        bitField1_ |= 0x00000100;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item riding_crop = 41;
       */
      public Builder mergeRidingCrop(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (ridingCropBuilder_ == null) {
          if (((bitField1_ & 0x00000100) != 0) &&
            ridingCrop_ != null &&
            ridingCrop_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getRidingCropBuilder().mergeFrom(value);
          } else {
            ridingCrop_ = value;
          }
        } else {
          ridingCropBuilder_.mergeFrom(value);
        }
        if (ridingCrop_ != null) {
          bitField1_ |= 0x00000100;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item riding_crop = 41;
       */
      public Builder clearRidingCrop() {
        bitField1_ = (bitField1_ & ~0x00000100);
        ridingCrop_ = null;
        if (ridingCropBuilder_ != null) {
          ridingCropBuilder_.dispose();
          ridingCropBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item riding_crop = 41;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getRidingCropBuilder() {
        bitField1_ |= 0x00000100;
        onChanged();
        return getRidingCropFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item riding_crop = 41;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getRidingCropOrBuilder() {
        if (ridingCropBuilder_ != null) {
          return ridingCropBuilder_.getMessageOrBuilder();
        } else {
          return ridingCrop_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : ridingCrop_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item riding_crop = 41;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getRidingCropFieldBuilder() {
        if (ridingCropBuilder_ == null) {
          ridingCropBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getRidingCrop(),
                  getParentForChildren(),
                  isClean());
          ridingCrop_ = null;
        }
        return ridingCropBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item russianRiot_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> russianRiotBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item russian_riot = 42;
       * @return Whether the russianRiot field is set.
       */
      public boolean hasRussianRiot() {
        return ((bitField1_ & 0x00000200) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item russian_riot = 42;
       * @return The russianRiot.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getRussianRiot() {
        if (russianRiotBuilder_ == null) {
          return russianRiot_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : russianRiot_;
        } else {
          return russianRiotBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item russian_riot = 42;
       */
      public Builder setRussianRiot(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (russianRiotBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          russianRiot_ = value;
        } else {
          russianRiotBuilder_.setMessage(value);
        }
        bitField1_ |= 0x00000200;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item russian_riot = 42;
       */
      public Builder setRussianRiot(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (russianRiotBuilder_ == null) {
          russianRiot_ = builderForValue.build();
        } else {
          russianRiotBuilder_.setMessage(builderForValue.build());
        }
        bitField1_ |= 0x00000200;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item russian_riot = 42;
       */
      public Builder mergeRussianRiot(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (russianRiotBuilder_ == null) {
          if (((bitField1_ & 0x00000200) != 0) &&
            russianRiot_ != null &&
            russianRiot_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getRussianRiotBuilder().mergeFrom(value);
          } else {
            russianRiot_ = value;
          }
        } else {
          russianRiotBuilder_.mergeFrom(value);
        }
        if (russianRiot_ != null) {
          bitField1_ |= 0x00000200;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item russian_riot = 42;
       */
      public Builder clearRussianRiot() {
        bitField1_ = (bitField1_ & ~0x00000200);
        russianRiot_ = null;
        if (russianRiotBuilder_ != null) {
          russianRiotBuilder_.dispose();
          russianRiotBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item russian_riot = 42;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getRussianRiotBuilder() {
        bitField1_ |= 0x00000200;
        onChanged();
        return getRussianRiotFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item russian_riot = 42;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getRussianRiotOrBuilder() {
        if (russianRiotBuilder_ != null) {
          return russianRiotBuilder_.getMessageOrBuilder();
        } else {
          return russianRiot_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : russianRiot_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item russian_riot = 42;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getRussianRiotFieldBuilder() {
        if (russianRiotBuilder_ == null) {
          russianRiotBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getRussianRiot(),
                  getParentForChildren(),
                  isClean());
          russianRiot_ = null;
        }
        return russianRiotBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item scimitar_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> scimitarBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item scimitar = 43;
       * @return Whether the scimitar field is set.
       */
      public boolean hasScimitar() {
        return ((bitField1_ & 0x00000400) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item scimitar = 43;
       * @return The scimitar.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getScimitar() {
        if (scimitarBuilder_ == null) {
          return scimitar_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : scimitar_;
        } else {
          return scimitarBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item scimitar = 43;
       */
      public Builder setScimitar(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (scimitarBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          scimitar_ = value;
        } else {
          scimitarBuilder_.setMessage(value);
        }
        bitField1_ |= 0x00000400;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item scimitar = 43;
       */
      public Builder setScimitar(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (scimitarBuilder_ == null) {
          scimitar_ = builderForValue.build();
        } else {
          scimitarBuilder_.setMessage(builderForValue.build());
        }
        bitField1_ |= 0x00000400;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item scimitar = 43;
       */
      public Builder mergeScimitar(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (scimitarBuilder_ == null) {
          if (((bitField1_ & 0x00000400) != 0) &&
            scimitar_ != null &&
            scimitar_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getScimitarBuilder().mergeFrom(value);
          } else {
            scimitar_ = value;
          }
        } else {
          scimitarBuilder_.mergeFrom(value);
        }
        if (scimitar_ != null) {
          bitField1_ |= 0x00000400;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item scimitar = 43;
       */
      public Builder clearScimitar() {
        bitField1_ = (bitField1_ & ~0x00000400);
        scimitar_ = null;
        if (scimitarBuilder_ != null) {
          scimitarBuilder_.dispose();
          scimitarBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item scimitar = 43;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getScimitarBuilder() {
        bitField1_ |= 0x00000400;
        onChanged();
        return getScimitarFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item scimitar = 43;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getScimitarOrBuilder() {
        if (scimitarBuilder_ != null) {
          return scimitarBuilder_.getMessageOrBuilder();
        } else {
          return scimitar_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : scimitar_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item scimitar = 43;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getScimitarFieldBuilder() {
        if (scimitarBuilder_ == null) {
          scimitarBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getScimitar(),
                  getParentForChildren(),
                  isClean());
          scimitar_ = null;
        }
        return scimitarBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item scorchShot_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> scorchShotBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item scorch_shot = 44;
       * @return Whether the scorchShot field is set.
       */
      public boolean hasScorchShot() {
        return ((bitField1_ & 0x00000800) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item scorch_shot = 44;
       * @return The scorchShot.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getScorchShot() {
        if (scorchShotBuilder_ == null) {
          return scorchShot_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : scorchShot_;
        } else {
          return scorchShotBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item scorch_shot = 44;
       */
      public Builder setScorchShot(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (scorchShotBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          scorchShot_ = value;
        } else {
          scorchShotBuilder_.setMessage(value);
        }
        bitField1_ |= 0x00000800;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item scorch_shot = 44;
       */
      public Builder setScorchShot(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (scorchShotBuilder_ == null) {
          scorchShot_ = builderForValue.build();
        } else {
          scorchShotBuilder_.setMessage(builderForValue.build());
        }
        bitField1_ |= 0x00000800;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item scorch_shot = 44;
       */
      public Builder mergeScorchShot(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (scorchShotBuilder_ == null) {
          if (((bitField1_ & 0x00000800) != 0) &&
            scorchShot_ != null &&
            scorchShot_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getScorchShotBuilder().mergeFrom(value);
          } else {
            scorchShot_ = value;
          }
        } else {
          scorchShotBuilder_.mergeFrom(value);
        }
        if (scorchShot_ != null) {
          bitField1_ |= 0x00000800;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item scorch_shot = 44;
       */
      public Builder clearScorchShot() {
        bitField1_ = (bitField1_ & ~0x00000800);
        scorchShot_ = null;
        if (scorchShotBuilder_ != null) {
          scorchShotBuilder_.dispose();
          scorchShotBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item scorch_shot = 44;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getScorchShotBuilder() {
        bitField1_ |= 0x00000800;
        onChanged();
        return getScorchShotFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item scorch_shot = 44;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getScorchShotOrBuilder() {
        if (scorchShotBuilder_ != null) {
          return scorchShotBuilder_.getMessageOrBuilder();
        } else {
          return scorchShot_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : scorchShot_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item scorch_shot = 44;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getScorchShotFieldBuilder() {
        if (scorchShotBuilder_ == null) {
          scorchShotBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getScorchShot(),
                  getParentForChildren(),
                  isClean());
          scorchShot_ = null;
        }
        return scorchShotBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item shortstop_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> shortstopBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item shortstop = 45;
       * @return Whether the shortstop field is set.
       */
      public boolean hasShortstop() {
        return ((bitField1_ & 0x00001000) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item shortstop = 45;
       * @return The shortstop.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getShortstop() {
        if (shortstopBuilder_ == null) {
          return shortstop_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : shortstop_;
        } else {
          return shortstopBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item shortstop = 45;
       */
      public Builder setShortstop(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (shortstopBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          shortstop_ = value;
        } else {
          shortstopBuilder_.setMessage(value);
        }
        bitField1_ |= 0x00001000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item shortstop = 45;
       */
      public Builder setShortstop(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (shortstopBuilder_ == null) {
          shortstop_ = builderForValue.build();
        } else {
          shortstopBuilder_.setMessage(builderForValue.build());
        }
        bitField1_ |= 0x00001000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item shortstop = 45;
       */
      public Builder mergeShortstop(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (shortstopBuilder_ == null) {
          if (((bitField1_ & 0x00001000) != 0) &&
            shortstop_ != null &&
            shortstop_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getShortstopBuilder().mergeFrom(value);
          } else {
            shortstop_ = value;
          }
        } else {
          shortstopBuilder_.mergeFrom(value);
        }
        if (shortstop_ != null) {
          bitField1_ |= 0x00001000;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item shortstop = 45;
       */
      public Builder clearShortstop() {
        bitField1_ = (bitField1_ & ~0x00001000);
        shortstop_ = null;
        if (shortstopBuilder_ != null) {
          shortstopBuilder_.dispose();
          shortstopBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item shortstop = 45;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getShortstopBuilder() {
        bitField1_ |= 0x00001000;
        onChanged();
        return getShortstopFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item shortstop = 45;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getShortstopOrBuilder() {
        if (shortstopBuilder_ != null) {
          return shortstopBuilder_.getMessageOrBuilder();
        } else {
          return shortstop_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : shortstop_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item shortstop = 45;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getShortstopFieldBuilder() {
        if (shortstopBuilder_ == null) {
          shortstopBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getShortstop(),
                  getParentForChildren(),
                  isClean());
          shortstop_ = null;
        }
        return shortstopBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item sodaPopper_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> sodaPopperBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item soda_popper = 46;
       * @return Whether the sodaPopper field is set.
       */
      public boolean hasSodaPopper() {
        return ((bitField1_ & 0x00002000) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item soda_popper = 46;
       * @return The sodaPopper.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getSodaPopper() {
        if (sodaPopperBuilder_ == null) {
          return sodaPopper_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : sodaPopper_;
        } else {
          return sodaPopperBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item soda_popper = 46;
       */
      public Builder setSodaPopper(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (sodaPopperBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          sodaPopper_ = value;
        } else {
          sodaPopperBuilder_.setMessage(value);
        }
        bitField1_ |= 0x00002000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item soda_popper = 46;
       */
      public Builder setSodaPopper(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (sodaPopperBuilder_ == null) {
          sodaPopper_ = builderForValue.build();
        } else {
          sodaPopperBuilder_.setMessage(builderForValue.build());
        }
        bitField1_ |= 0x00002000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item soda_popper = 46;
       */
      public Builder mergeSodaPopper(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (sodaPopperBuilder_ == null) {
          if (((bitField1_ & 0x00002000) != 0) &&
            sodaPopper_ != null &&
            sodaPopper_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getSodaPopperBuilder().mergeFrom(value);
          } else {
            sodaPopper_ = value;
          }
        } else {
          sodaPopperBuilder_.mergeFrom(value);
        }
        if (sodaPopper_ != null) {
          bitField1_ |= 0x00002000;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item soda_popper = 46;
       */
      public Builder clearSodaPopper() {
        bitField1_ = (bitField1_ & ~0x00002000);
        sodaPopper_ = null;
        if (sodaPopperBuilder_ != null) {
          sodaPopperBuilder_.dispose();
          sodaPopperBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item soda_popper = 46;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getSodaPopperBuilder() {
        bitField1_ |= 0x00002000;
        onChanged();
        return getSodaPopperFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item soda_popper = 46;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getSodaPopperOrBuilder() {
        if (sodaPopperBuilder_ != null) {
          return sodaPopperBuilder_.getMessageOrBuilder();
        } else {
          return sodaPopper_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : sodaPopper_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item soda_popper = 46;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getSodaPopperFieldBuilder() {
        if (sodaPopperBuilder_ == null) {
          sodaPopperBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getSodaPopper(),
                  getParentForChildren(),
                  isClean());
          sodaPopper_ = null;
        }
        return sodaPopperBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item teleShotgun_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> teleShotgunBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item tele_shotgun = 47;
       * @return Whether the teleShotgun field is set.
       */
      public boolean hasTeleShotgun() {
        return ((bitField1_ & 0x00004000) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item tele_shotgun = 47;
       * @return The teleShotgun.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getTeleShotgun() {
        if (teleShotgunBuilder_ == null) {
          return teleShotgun_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : teleShotgun_;
        } else {
          return teleShotgunBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item tele_shotgun = 47;
       */
      public Builder setTeleShotgun(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (teleShotgunBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          teleShotgun_ = value;
        } else {
          teleShotgunBuilder_.setMessage(value);
        }
        bitField1_ |= 0x00004000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item tele_shotgun = 47;
       */
      public Builder setTeleShotgun(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (teleShotgunBuilder_ == null) {
          teleShotgun_ = builderForValue.build();
        } else {
          teleShotgunBuilder_.setMessage(builderForValue.build());
        }
        bitField1_ |= 0x00004000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item tele_shotgun = 47;
       */
      public Builder mergeTeleShotgun(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (teleShotgunBuilder_ == null) {
          if (((bitField1_ & 0x00004000) != 0) &&
            teleShotgun_ != null &&
            teleShotgun_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getTeleShotgunBuilder().mergeFrom(value);
          } else {
            teleShotgun_ = value;
          }
        } else {
          teleShotgunBuilder_.mergeFrom(value);
        }
        if (teleShotgun_ != null) {
          bitField1_ |= 0x00004000;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item tele_shotgun = 47;
       */
      public Builder clearTeleShotgun() {
        bitField1_ = (bitField1_ & ~0x00004000);
        teleShotgun_ = null;
        if (teleShotgunBuilder_ != null) {
          teleShotgunBuilder_.dispose();
          teleShotgunBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item tele_shotgun = 47;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getTeleShotgunBuilder() {
        bitField1_ |= 0x00004000;
        onChanged();
        return getTeleShotgunFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item tele_shotgun = 47;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getTeleShotgunOrBuilder() {
        if (teleShotgunBuilder_ != null) {
          return teleShotgunBuilder_.getMessageOrBuilder();
        } else {
          return teleShotgun_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : teleShotgun_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item tele_shotgun = 47;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getTeleShotgunFieldBuilder() {
        if (teleShotgunBuilder_ == null) {
          teleShotgunBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getTeleShotgun(),
                  getParentForChildren(),
                  isClean());
          teleShotgun_ = null;
        }
        return teleShotgunBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item tomislav_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> tomislavBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item tomislav = 48;
       * @return Whether the tomislav field is set.
       */
      public boolean hasTomislav() {
        return ((bitField1_ & 0x00008000) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item tomislav = 48;
       * @return The tomislav.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getTomislav() {
        if (tomislavBuilder_ == null) {
          return tomislav_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : tomislav_;
        } else {
          return tomislavBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item tomislav = 48;
       */
      public Builder setTomislav(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (tomislavBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          tomislav_ = value;
        } else {
          tomislavBuilder_.setMessage(value);
        }
        bitField1_ |= 0x00008000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item tomislav = 48;
       */
      public Builder setTomislav(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (tomislavBuilder_ == null) {
          tomislav_ = builderForValue.build();
        } else {
          tomislavBuilder_.setMessage(builderForValue.build());
        }
        bitField1_ |= 0x00008000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item tomislav = 48;
       */
      public Builder mergeTomislav(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (tomislavBuilder_ == null) {
          if (((bitField1_ & 0x00008000) != 0) &&
            tomislav_ != null &&
            tomislav_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getTomislavBuilder().mergeFrom(value);
          } else {
            tomislav_ = value;
          }
        } else {
          tomislavBuilder_.mergeFrom(value);
        }
        if (tomislav_ != null) {
          bitField1_ |= 0x00008000;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item tomislav = 48;
       */
      public Builder clearTomislav() {
        bitField1_ = (bitField1_ & ~0x00008000);
        tomislav_ = null;
        if (tomislavBuilder_ != null) {
          tomislavBuilder_.dispose();
          tomislavBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item tomislav = 48;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getTomislavBuilder() {
        bitField1_ |= 0x00008000;
        onChanged();
        return getTomislavFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item tomislav = 48;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getTomislavOrBuilder() {
        if (tomislavBuilder_ != null) {
          return tomislavBuilder_.getMessageOrBuilder();
        } else {
          return tomislav_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : tomislav_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item tomislav = 48;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getTomislavFieldBuilder() {
        if (tomislavBuilder_ == null) {
          tomislavBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getTomislav(),
                  getParentForChildren(),
                  isClean());
          tomislav_ = null;
        }
        return tomislavBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item trenchgun_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> trenchgunBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item trenchgun = 49;
       * @return Whether the trenchgun field is set.
       */
      public boolean hasTrenchgun() {
        return ((bitField1_ & 0x00010000) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item trenchgun = 49;
       * @return The trenchgun.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getTrenchgun() {
        if (trenchgunBuilder_ == null) {
          return trenchgun_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : trenchgun_;
        } else {
          return trenchgunBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item trenchgun = 49;
       */
      public Builder setTrenchgun(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (trenchgunBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          trenchgun_ = value;
        } else {
          trenchgunBuilder_.setMessage(value);
        }
        bitField1_ |= 0x00010000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item trenchgun = 49;
       */
      public Builder setTrenchgun(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (trenchgunBuilder_ == null) {
          trenchgun_ = builderForValue.build();
        } else {
          trenchgunBuilder_.setMessage(builderForValue.build());
        }
        bitField1_ |= 0x00010000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item trenchgun = 49;
       */
      public Builder mergeTrenchgun(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (trenchgunBuilder_ == null) {
          if (((bitField1_ & 0x00010000) != 0) &&
            trenchgun_ != null &&
            trenchgun_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getTrenchgunBuilder().mergeFrom(value);
          } else {
            trenchgun_ = value;
          }
        } else {
          trenchgunBuilder_.mergeFrom(value);
        }
        if (trenchgun_ != null) {
          bitField1_ |= 0x00010000;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item trenchgun = 49;
       */
      public Builder clearTrenchgun() {
        bitField1_ = (bitField1_ & ~0x00010000);
        trenchgun_ = null;
        if (trenchgunBuilder_ != null) {
          trenchgunBuilder_.dispose();
          trenchgunBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item trenchgun = 49;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getTrenchgunBuilder() {
        bitField1_ |= 0x00010000;
        onChanged();
        return getTrenchgunFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item trenchgun = 49;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getTrenchgunOrBuilder() {
        if (trenchgunBuilder_ != null) {
          return trenchgunBuilder_.getMessageOrBuilder();
        } else {
          return trenchgun_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : trenchgun_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item trenchgun = 49;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getTrenchgunFieldBuilder() {
        if (trenchgunBuilder_ == null) {
          trenchgunBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getTrenchgun(),
                  getParentForChildren(),
                  isClean());
          trenchgun_ = null;
        }
        return trenchgunBuilder_;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item wingerPistol_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> wingerPistolBuilder_;
      /**
       * optional .CMsgPaintKit_Definition.Item winger_pistol = 50;
       * @return Whether the wingerPistol field is set.
       */
      public boolean hasWingerPistol() {
        return ((bitField1_ & 0x00020000) != 0);
      }
      /**
       * optional .CMsgPaintKit_Definition.Item winger_pistol = 50;
       * @return The wingerPistol.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item getWingerPistol() {
        if (wingerPistolBuilder_ == null) {
          return wingerPistol_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : wingerPistol_;
        } else {
          return wingerPistolBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item winger_pistol = 50;
       */
      public Builder setWingerPistol(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (wingerPistolBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          wingerPistol_ = value;
        } else {
          wingerPistolBuilder_.setMessage(value);
        }
        bitField1_ |= 0x00020000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item winger_pistol = 50;
       */
      public Builder setWingerPistol(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder builderForValue) {
        if (wingerPistolBuilder_ == null) {
          wingerPistol_ = builderForValue.build();
        } else {
          wingerPistolBuilder_.setMessage(builderForValue.build());
        }
        bitField1_ |= 0x00020000;
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item winger_pistol = 50;
       */
      public Builder mergeWingerPistol(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item value) {
        if (wingerPistolBuilder_ == null) {
          if (((bitField1_ & 0x00020000) != 0) &&
            wingerPistol_ != null &&
            wingerPistol_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance()) {
            getWingerPistolBuilder().mergeFrom(value);
          } else {
            wingerPistol_ = value;
          }
        } else {
          wingerPistolBuilder_.mergeFrom(value);
        }
        if (wingerPistol_ != null) {
          bitField1_ |= 0x00020000;
          onChanged();
        }
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item winger_pistol = 50;
       */
      public Builder clearWingerPistol() {
        bitField1_ = (bitField1_ & ~0x00020000);
        wingerPistol_ = null;
        if (wingerPistolBuilder_ != null) {
          wingerPistolBuilder_.dispose();
          wingerPistolBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * optional .CMsgPaintKit_Definition.Item winger_pistol = 50;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder getWingerPistolBuilder() {
        bitField1_ |= 0x00020000;
        onChanged();
        return getWingerPistolFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgPaintKit_Definition.Item winger_pistol = 50;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder getWingerPistolOrBuilder() {
        if (wingerPistolBuilder_ != null) {
          return wingerPistolBuilder_.getMessageOrBuilder();
        } else {
          return wingerPistol_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.getDefaultInstance() : wingerPistol_;
        }
      }
      /**
       * optional .CMsgPaintKit_Definition.Item winger_pistol = 50;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder> 
          getWingerPistolFieldBuilder() {
        if (wingerPistolBuilder_ == null) {
          wingerPistolBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.Item.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgPaintKit_Definition.ItemOrBuilder>(
                  getWingerPistol(),
                  getParentForChildren(),
                  isClean());
          wingerPistol_ = null;
        }
        return wingerPistolBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgPaintKit_Definition)
    }

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

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

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

  }

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

    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return Whether the header field is set.
     */
    boolean hasHeader();
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return The header.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader();
    /**
     * required .CMsgProtoDefHeader header = 1;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder();

    /**
     * optional string notification_res = 2;
     * @return Whether the notificationRes field is set.
     */
    boolean hasNotificationRes();
    /**
     * optional string notification_res = 2;
     * @return The notificationRes.
     */
    java.lang.String getNotificationRes();
    /**
     * optional string notification_res = 2;
     * @return The bytes for notificationRes.
     */
    com.google.protobuf.ByteString
        getNotificationResBytes();

    /**
     * optional string quest_item_res = 3;
     * @return Whether the questItemRes field is set.
     */
    boolean hasQuestItemRes();
    /**
     * optional string quest_item_res = 3;
     * @return The questItemRes.
     */
    java.lang.String getQuestItemRes();
    /**
     * optional string quest_item_res = 3;
     * @return The bytes for questItemRes.
     */
    com.google.protobuf.ByteString
        getQuestItemResBytes();

    /**
     * optional string in_game_tracker_res = 4;
     * @return Whether the inGameTrackerRes field is set.
     */
    boolean hasInGameTrackerRes();
    /**
     * optional string in_game_tracker_res = 4;
     * @return The inGameTrackerRes.
     */
    java.lang.String getInGameTrackerRes();
    /**
     * optional string in_game_tracker_res = 4;
     * @return The bytes for inGameTrackerRes.
     */
    com.google.protobuf.ByteString
        getInGameTrackerResBytes();

    /**
     * repeated .CMsgQuestTheme.WeightedStringSet give_sounds = 5;
     */
    java.util.List 
        getGiveSoundsList();
    /**
     * repeated .CMsgQuestTheme.WeightedStringSet give_sounds = 5;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet getGiveSounds(int index);
    /**
     * repeated .CMsgQuestTheme.WeightedStringSet give_sounds = 5;
     */
    int getGiveSoundsCount();
    /**
     * repeated .CMsgQuestTheme.WeightedStringSet give_sounds = 5;
     */
    java.util.List 
        getGiveSoundsOrBuilderList();
    /**
     * repeated .CMsgQuestTheme.WeightedStringSet give_sounds = 5;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSetOrBuilder getGiveSoundsOrBuilder(
        int index);

    /**
     * repeated .CMsgQuestTheme.WeightedStringSet complete_sounds = 6;
     */
    java.util.List 
        getCompleteSoundsList();
    /**
     * repeated .CMsgQuestTheme.WeightedStringSet complete_sounds = 6;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet getCompleteSounds(int index);
    /**
     * repeated .CMsgQuestTheme.WeightedStringSet complete_sounds = 6;
     */
    int getCompleteSoundsCount();
    /**
     * repeated .CMsgQuestTheme.WeightedStringSet complete_sounds = 6;
     */
    java.util.List 
        getCompleteSoundsOrBuilderList();
    /**
     * repeated .CMsgQuestTheme.WeightedStringSet complete_sounds = 6;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSetOrBuilder getCompleteSoundsOrBuilder(
        int index);

    /**
     * repeated .CMsgQuestTheme.WeightedStringSet fully_complete_sounds = 7;
     */
    java.util.List 
        getFullyCompleteSoundsList();
    /**
     * repeated .CMsgQuestTheme.WeightedStringSet fully_complete_sounds = 7;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet getFullyCompleteSounds(int index);
    /**
     * repeated .CMsgQuestTheme.WeightedStringSet fully_complete_sounds = 7;
     */
    int getFullyCompleteSoundsCount();
    /**
     * repeated .CMsgQuestTheme.WeightedStringSet fully_complete_sounds = 7;
     */
    java.util.List 
        getFullyCompleteSoundsOrBuilderList();
    /**
     * repeated .CMsgQuestTheme.WeightedStringSet fully_complete_sounds = 7;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSetOrBuilder getFullyCompleteSoundsOrBuilder(
        int index);

    /**
     * optional string reward_sound = 8;
     * @return Whether the rewardSound field is set.
     */
    boolean hasRewardSound();
    /**
     * optional string reward_sound = 8;
     * @return The rewardSound.
     */
    java.lang.String getRewardSound();
    /**
     * optional string reward_sound = 8;
     * @return The bytes for rewardSound.
     */
    com.google.protobuf.ByteString
        getRewardSoundBytes();

    /**
     * optional string discard_sound = 9;
     * @return Whether the discardSound field is set.
     */
    boolean hasDiscardSound();
    /**
     * optional string discard_sound = 9;
     * @return The discardSound.
     */
    java.lang.String getDiscardSound();
    /**
     * optional string discard_sound = 9;
     * @return The bytes for discardSound.
     */
    com.google.protobuf.ByteString
        getDiscardSoundBytes();

    /**
     * optional string reveal_sound = 10;
     * @return Whether the revealSound field is set.
     */
    boolean hasRevealSound();
    /**
     * optional string reveal_sound = 10;
     * @return The revealSound.
     */
    java.lang.String getRevealSound();
    /**
     * optional string reveal_sound = 10;
     * @return The bytes for revealSound.
     */
    com.google.protobuf.ByteString
        getRevealSoundBytes();
  }
  /**
   * Protobuf type {@code CMsgQuestTheme}
   */
  public static final class CMsgQuestTheme extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgQuestTheme)
      CMsgQuestThemeOrBuilder {
  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= */ "",
        CMsgQuestTheme.class.getName());
    }
    // Use CMsgQuestTheme.newBuilder() to construct.
    private CMsgQuestTheme(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgQuestTheme() {
      notificationRes_ = "";
      questItemRes_ = "";
      inGameTrackerRes_ = "";
      giveSounds_ = java.util.Collections.emptyList();
      completeSounds_ = java.util.Collections.emptyList();
      fullyCompleteSounds_ = java.util.Collections.emptyList();
      rewardSound_ = "";
      discardSound_ = "";
      revealSound_ = "";
    }

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

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

    public interface WeightedStringOrBuilder extends
        // @@protoc_insertion_point(interface_extends:CMsgQuestTheme.WeightedString)
        com.google.protobuf.MessageOrBuilder {

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

      /**
       * optional uint32 weight = 2;
       * @return Whether the weight field is set.
       */
      boolean hasWeight();
      /**
       * optional uint32 weight = 2;
       * @return The weight.
       */
      int getWeight();
    }
    /**
     * Protobuf type {@code CMsgQuestTheme.WeightedString}
     */
    public static final class WeightedString extends
        com.google.protobuf.GeneratedMessage implements
        // @@protoc_insertion_point(message_implements:CMsgQuestTheme.WeightedString)
        WeightedStringOrBuilder {
    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= */ "",
          WeightedString.class.getName());
      }
      // Use WeightedString.newBuilder() to construct.
      private WeightedString(com.google.protobuf.GeneratedMessage.Builder builder) {
        super(builder);
      }
      private WeightedString() {
        string_ = "";
      }

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

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgQuestTheme_WeightedString_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString.class, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString.Builder.class);
      }

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

      public static final int WEIGHT_FIELD_NUMBER = 2;
      private int weight_ = 0;
      /**
       * optional uint32 weight = 2;
       * @return Whether the weight field is set.
       */
      @java.lang.Override
      public boolean hasWeight() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional uint32 weight = 2;
       * @return The weight.
       */
      @java.lang.Override
      public int getWeight() {
        return weight_;
      }

      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, string_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          output.writeUInt32(2, weight_);
        }
        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, string_);
        }
        if (((bitField0_ & 0x00000002) != 0)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(2, weight_);
        }
        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.TfProtoDefMessages.CMsgQuestTheme.WeightedString)) {
          return super.equals(obj);
        }
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString) obj;

        if (hasString() != other.hasString()) return false;
        if (hasString()) {
          if (!getString()
              .equals(other.getString())) return false;
        }
        if (hasWeight() != other.hasWeight()) return false;
        if (hasWeight()) {
          if (getWeight()
              != other.getWeight()) 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 (hasString()) {
          hash = (37 * hash) + STRING_FIELD_NUMBER;
          hash = (53 * hash) + getString().hashCode();
        }
        if (hasWeight()) {
          hash = (37 * hash) + WEIGHT_FIELD_NUMBER;
          hash = (53 * hash) + getWeight();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString 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.TfProtoDefMessages.CMsgQuestTheme.WeightedString parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString 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.TfProtoDefMessages.CMsgQuestTheme.WeightedString parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString 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.TfProtoDefMessages.CMsgQuestTheme.WeightedString parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseWithIOException(PARSER, input);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString 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.TfProtoDefMessages.CMsgQuestTheme.WeightedString parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString 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.TfProtoDefMessages.CMsgQuestTheme.WeightedString 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.TfProtoDefMessages.CMsgQuestTheme.WeightedString 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.TfProtoDefMessages.CMsgQuestTheme.WeightedString 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 CMsgQuestTheme.WeightedString}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder implements
          // @@protoc_insertion_point(builder_implements:CMsgQuestTheme.WeightedString)
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgQuestTheme_WeightedString_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgQuestTheme_WeightedString_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString.class, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString.Builder.class);
        }

        // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString.newBuilder()
        private Builder() {

        }

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

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

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

        @java.lang.Override
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString getDefaultInstanceForType() {
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString.getDefaultInstance();
        }

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

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

        private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString result) {
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.string_ = string_;
            to_bitField0_ |= 0x00000001;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.weight_ = weight_;
            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.TfProtoDefMessages.CMsgQuestTheme.WeightedString) {
            return mergeFrom((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString other) {
          if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString.getDefaultInstance()) return this;
          if (other.hasString()) {
            string_ = other.string_;
            bitField0_ |= 0x00000001;
            onChanged();
          }
          if (other.hasWeight()) {
            setWeight(other.getWeight());
          }
          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: {
                  string_ = input.readBytes();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 16: {
                  weight_ = 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 java.lang.Object string_ = "";
        /**
         * optional string string = 1;
         * @return Whether the string field is set.
         */
        public boolean hasString() {
          return ((bitField0_ & 0x00000001) != 0);
        }
        /**
         * optional string string = 1;
         * @return The string.
         */
        public java.lang.String getString() {
          java.lang.Object ref = string_;
          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()) {
              string_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * optional string string = 1;
         * @return The bytes for string.
         */
        public com.google.protobuf.ByteString
            getStringBytes() {
          java.lang.Object ref = string_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            string_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * optional string string = 1;
         * @param value The string to set.
         * @return This builder for chaining.
         */
        public Builder setString(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          string_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * optional string string = 1;
         * @return This builder for chaining.
         */
        public Builder clearString() {
          string_ = getDefaultInstance().getString();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * optional string string = 1;
         * @param value The bytes for string to set.
         * @return This builder for chaining.
         */
        public Builder setStringBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          string_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }

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

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

        // @@protoc_insertion_point(builder_scope:CMsgQuestTheme.WeightedString)
      }

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

      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

    }

    public interface WeightedStringSetOrBuilder extends
        // @@protoc_insertion_point(interface_extends:CMsgQuestTheme.WeightedStringSet)
        com.google.protobuf.MessageOrBuilder {

      /**
       * repeated .CMsgQuestTheme.WeightedString weighted_strings = 1;
       */
      java.util.List 
          getWeightedStringsList();
      /**
       * repeated .CMsgQuestTheme.WeightedString weighted_strings = 1;
       */
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString getWeightedStrings(int index);
      /**
       * repeated .CMsgQuestTheme.WeightedString weighted_strings = 1;
       */
      int getWeightedStringsCount();
      /**
       * repeated .CMsgQuestTheme.WeightedString weighted_strings = 1;
       */
      java.util.List 
          getWeightedStringsOrBuilderList();
      /**
       * repeated .CMsgQuestTheme.WeightedString weighted_strings = 1;
       */
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringOrBuilder getWeightedStringsOrBuilder(
          int index);
    }
    /**
     * Protobuf type {@code CMsgQuestTheme.WeightedStringSet}
     */
    public static final class WeightedStringSet extends
        com.google.protobuf.GeneratedMessage implements
        // @@protoc_insertion_point(message_implements:CMsgQuestTheme.WeightedStringSet)
        WeightedStringSetOrBuilder {
    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= */ "",
          WeightedStringSet.class.getName());
      }
      // Use WeightedStringSet.newBuilder() to construct.
      private WeightedStringSet(com.google.protobuf.GeneratedMessage.Builder builder) {
        super(builder);
      }
      private WeightedStringSet() {
        weightedStrings_ = java.util.Collections.emptyList();
      }

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

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgQuestTheme_WeightedStringSet_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.class, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.Builder.class);
      }

      public static final int WEIGHTED_STRINGS_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private java.util.List weightedStrings_;
      /**
       * repeated .CMsgQuestTheme.WeightedString weighted_strings = 1;
       */
      @java.lang.Override
      public java.util.List getWeightedStringsList() {
        return weightedStrings_;
      }
      /**
       * repeated .CMsgQuestTheme.WeightedString weighted_strings = 1;
       */
      @java.lang.Override
      public java.util.List 
          getWeightedStringsOrBuilderList() {
        return weightedStrings_;
      }
      /**
       * repeated .CMsgQuestTheme.WeightedString weighted_strings = 1;
       */
      @java.lang.Override
      public int getWeightedStringsCount() {
        return weightedStrings_.size();
      }
      /**
       * repeated .CMsgQuestTheme.WeightedString weighted_strings = 1;
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString getWeightedStrings(int index) {
        return weightedStrings_.get(index);
      }
      /**
       * repeated .CMsgQuestTheme.WeightedString weighted_strings = 1;
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringOrBuilder getWeightedStringsOrBuilder(
          int index) {
        return weightedStrings_.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 < weightedStrings_.size(); i++) {
          output.writeMessage(1, weightedStrings_.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 < weightedStrings_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, weightedStrings_.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.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet)) {
          return super.equals(obj);
        }
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet) obj;

        if (!getWeightedStringsList()
            .equals(other.getWeightedStringsList())) 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 (getWeightedStringsCount() > 0) {
          hash = (37 * hash) + WEIGHTED_STRINGS_FIELD_NUMBER;
          hash = (53 * hash) + getWeightedStringsList().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet 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.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet 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.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet 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.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseWithIOException(PARSER, input);
      }
      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet 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.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessage
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet 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.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet 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.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet 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.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet 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 CMsgQuestTheme.WeightedStringSet}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder implements
          // @@protoc_insertion_point(builder_implements:CMsgQuestTheme.WeightedStringSet)
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSetOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgQuestTheme_WeightedStringSet_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgQuestTheme_WeightedStringSet_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.class, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.Builder.class);
        }

        // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.newBuilder()
        private Builder() {

        }

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

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          if (weightedStringsBuilder_ == null) {
            weightedStrings_ = java.util.Collections.emptyList();
          } else {
            weightedStrings_ = null;
            weightedStringsBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }

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

        @java.lang.Override
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet getDefaultInstanceForType() {
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.getDefaultInstance();
        }

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

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

        private void buildPartialRepeatedFields(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet result) {
          if (weightedStringsBuilder_ == null) {
            if (((bitField0_ & 0x00000001) != 0)) {
              weightedStrings_ = java.util.Collections.unmodifiableList(weightedStrings_);
              bitField0_ = (bitField0_ & ~0x00000001);
            }
            result.weightedStrings_ = weightedStrings_;
          } else {
            result.weightedStrings_ = weightedStringsBuilder_.build();
          }
        }

        private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet result) {
          int from_bitField0_ = bitField0_;
        }

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

        public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet other) {
          if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.getDefaultInstance()) return this;
          if (weightedStringsBuilder_ == null) {
            if (!other.weightedStrings_.isEmpty()) {
              if (weightedStrings_.isEmpty()) {
                weightedStrings_ = other.weightedStrings_;
                bitField0_ = (bitField0_ & ~0x00000001);
              } else {
                ensureWeightedStringsIsMutable();
                weightedStrings_.addAll(other.weightedStrings_);
              }
              onChanged();
            }
          } else {
            if (!other.weightedStrings_.isEmpty()) {
              if (weightedStringsBuilder_.isEmpty()) {
                weightedStringsBuilder_.dispose();
                weightedStringsBuilder_ = null;
                weightedStrings_ = other.weightedStrings_;
                bitField0_ = (bitField0_ & ~0x00000001);
                weightedStringsBuilder_ = 
                  com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                     getWeightedStringsFieldBuilder() : null;
              } else {
                weightedStringsBuilder_.addAllMessages(other.weightedStrings_);
              }
            }
          }
          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.TfProtoDefMessages.CMsgQuestTheme.WeightedString m =
                      input.readMessage(
                          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString.parser(),
                          extensionRegistry);
                  if (weightedStringsBuilder_ == null) {
                    ensureWeightedStringsIsMutable();
                    weightedStrings_.add(m);
                  } else {
                    weightedStringsBuilder_.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 weightedStrings_ =
          java.util.Collections.emptyList();
        private void ensureWeightedStringsIsMutable() {
          if (!((bitField0_ & 0x00000001) != 0)) {
            weightedStrings_ = new java.util.ArrayList(weightedStrings_);
            bitField0_ |= 0x00000001;
           }
        }

        private com.google.protobuf.RepeatedFieldBuilder<
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringOrBuilder> weightedStringsBuilder_;

        /**
         * repeated .CMsgQuestTheme.WeightedString weighted_strings = 1;
         */
        public java.util.List getWeightedStringsList() {
          if (weightedStringsBuilder_ == null) {
            return java.util.Collections.unmodifiableList(weightedStrings_);
          } else {
            return weightedStringsBuilder_.getMessageList();
          }
        }
        /**
         * repeated .CMsgQuestTheme.WeightedString weighted_strings = 1;
         */
        public int getWeightedStringsCount() {
          if (weightedStringsBuilder_ == null) {
            return weightedStrings_.size();
          } else {
            return weightedStringsBuilder_.getCount();
          }
        }
        /**
         * repeated .CMsgQuestTheme.WeightedString weighted_strings = 1;
         */
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString getWeightedStrings(int index) {
          if (weightedStringsBuilder_ == null) {
            return weightedStrings_.get(index);
          } else {
            return weightedStringsBuilder_.getMessage(index);
          }
        }
        /**
         * repeated .CMsgQuestTheme.WeightedString weighted_strings = 1;
         */
        public Builder setWeightedStrings(
            int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString value) {
          if (weightedStringsBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureWeightedStringsIsMutable();
            weightedStrings_.set(index, value);
            onChanged();
          } else {
            weightedStringsBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * repeated .CMsgQuestTheme.WeightedString weighted_strings = 1;
         */
        public Builder setWeightedStrings(
            int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString.Builder builderForValue) {
          if (weightedStringsBuilder_ == null) {
            ensureWeightedStringsIsMutable();
            weightedStrings_.set(index, builderForValue.build());
            onChanged();
          } else {
            weightedStringsBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * repeated .CMsgQuestTheme.WeightedString weighted_strings = 1;
         */
        public Builder addWeightedStrings(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString value) {
          if (weightedStringsBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureWeightedStringsIsMutable();
            weightedStrings_.add(value);
            onChanged();
          } else {
            weightedStringsBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * repeated .CMsgQuestTheme.WeightedString weighted_strings = 1;
         */
        public Builder addWeightedStrings(
            int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString value) {
          if (weightedStringsBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureWeightedStringsIsMutable();
            weightedStrings_.add(index, value);
            onChanged();
          } else {
            weightedStringsBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * repeated .CMsgQuestTheme.WeightedString weighted_strings = 1;
         */
        public Builder addWeightedStrings(
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString.Builder builderForValue) {
          if (weightedStringsBuilder_ == null) {
            ensureWeightedStringsIsMutable();
            weightedStrings_.add(builderForValue.build());
            onChanged();
          } else {
            weightedStringsBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * repeated .CMsgQuestTheme.WeightedString weighted_strings = 1;
         */
        public Builder addWeightedStrings(
            int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString.Builder builderForValue) {
          if (weightedStringsBuilder_ == null) {
            ensureWeightedStringsIsMutable();
            weightedStrings_.add(index, builderForValue.build());
            onChanged();
          } else {
            weightedStringsBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * repeated .CMsgQuestTheme.WeightedString weighted_strings = 1;
         */
        public Builder addAllWeightedStrings(
            java.lang.Iterable values) {
          if (weightedStringsBuilder_ == null) {
            ensureWeightedStringsIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, weightedStrings_);
            onChanged();
          } else {
            weightedStringsBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * repeated .CMsgQuestTheme.WeightedString weighted_strings = 1;
         */
        public Builder clearWeightedStrings() {
          if (weightedStringsBuilder_ == null) {
            weightedStrings_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000001);
            onChanged();
          } else {
            weightedStringsBuilder_.clear();
          }
          return this;
        }
        /**
         * repeated .CMsgQuestTheme.WeightedString weighted_strings = 1;
         */
        public Builder removeWeightedStrings(int index) {
          if (weightedStringsBuilder_ == null) {
            ensureWeightedStringsIsMutable();
            weightedStrings_.remove(index);
            onChanged();
          } else {
            weightedStringsBuilder_.remove(index);
          }
          return this;
        }
        /**
         * repeated .CMsgQuestTheme.WeightedString weighted_strings = 1;
         */
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString.Builder getWeightedStringsBuilder(
            int index) {
          return getWeightedStringsFieldBuilder().getBuilder(index);
        }
        /**
         * repeated .CMsgQuestTheme.WeightedString weighted_strings = 1;
         */
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringOrBuilder getWeightedStringsOrBuilder(
            int index) {
          if (weightedStringsBuilder_ == null) {
            return weightedStrings_.get(index);  } else {
            return weightedStringsBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * repeated .CMsgQuestTheme.WeightedString weighted_strings = 1;
         */
        public java.util.List 
             getWeightedStringsOrBuilderList() {
          if (weightedStringsBuilder_ != null) {
            return weightedStringsBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(weightedStrings_);
          }
        }
        /**
         * repeated .CMsgQuestTheme.WeightedString weighted_strings = 1;
         */
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString.Builder addWeightedStringsBuilder() {
          return getWeightedStringsFieldBuilder().addBuilder(
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString.getDefaultInstance());
        }
        /**
         * repeated .CMsgQuestTheme.WeightedString weighted_strings = 1;
         */
        public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString.Builder addWeightedStringsBuilder(
            int index) {
          return getWeightedStringsFieldBuilder().addBuilder(
              index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString.getDefaultInstance());
        }
        /**
         * repeated .CMsgQuestTheme.WeightedString weighted_strings = 1;
         */
        public java.util.List 
             getWeightedStringsBuilderList() {
          return getWeightedStringsFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilder<
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringOrBuilder> 
            getWeightedStringsFieldBuilder() {
          if (weightedStringsBuilder_ == null) {
            weightedStringsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedString.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringOrBuilder>(
                    weightedStrings_,
                    ((bitField0_ & 0x00000001) != 0),
                    getParentForChildren(),
                    isClean());
            weightedStrings_ = null;
          }
          return weightedStringsBuilder_;
        }

        // @@protoc_insertion_point(builder_scope:CMsgQuestTheme.WeightedStringSet)
      }

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

      public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

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

    }

    private int bitField0_;
    public static final int HEADER_FIELD_NUMBER = 1;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader header_;
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return Whether the header field is set.
     */
    @java.lang.Override
    public boolean hasHeader() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return The header.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader() {
      return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
    }
    /**
     * required .CMsgProtoDefHeader header = 1;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder() {
      return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
    }

    public static final int NOTIFICATION_RES_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private volatile java.lang.Object notificationRes_ = "";
    /**
     * optional string notification_res = 2;
     * @return Whether the notificationRes field is set.
     */
    @java.lang.Override
    public boolean hasNotificationRes() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional string notification_res = 2;
     * @return The notificationRes.
     */
    @java.lang.Override
    public java.lang.String getNotificationRes() {
      java.lang.Object ref = notificationRes_;
      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()) {
          notificationRes_ = s;
        }
        return s;
      }
    }
    /**
     * optional string notification_res = 2;
     * @return The bytes for notificationRes.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getNotificationResBytes() {
      java.lang.Object ref = notificationRes_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        notificationRes_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int QUEST_ITEM_RES_FIELD_NUMBER = 3;
    @SuppressWarnings("serial")
    private volatile java.lang.Object questItemRes_ = "";
    /**
     * optional string quest_item_res = 3;
     * @return Whether the questItemRes field is set.
     */
    @java.lang.Override
    public boolean hasQuestItemRes() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional string quest_item_res = 3;
     * @return The questItemRes.
     */
    @java.lang.Override
    public java.lang.String getQuestItemRes() {
      java.lang.Object ref = questItemRes_;
      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()) {
          questItemRes_ = s;
        }
        return s;
      }
    }
    /**
     * optional string quest_item_res = 3;
     * @return The bytes for questItemRes.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getQuestItemResBytes() {
      java.lang.Object ref = questItemRes_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        questItemRes_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int IN_GAME_TRACKER_RES_FIELD_NUMBER = 4;
    @SuppressWarnings("serial")
    private volatile java.lang.Object inGameTrackerRes_ = "";
    /**
     * optional string in_game_tracker_res = 4;
     * @return Whether the inGameTrackerRes field is set.
     */
    @java.lang.Override
    public boolean hasInGameTrackerRes() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional string in_game_tracker_res = 4;
     * @return The inGameTrackerRes.
     */
    @java.lang.Override
    public java.lang.String getInGameTrackerRes() {
      java.lang.Object ref = inGameTrackerRes_;
      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()) {
          inGameTrackerRes_ = s;
        }
        return s;
      }
    }
    /**
     * optional string in_game_tracker_res = 4;
     * @return The bytes for inGameTrackerRes.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getInGameTrackerResBytes() {
      java.lang.Object ref = inGameTrackerRes_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        inGameTrackerRes_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int GIVE_SOUNDS_FIELD_NUMBER = 5;
    @SuppressWarnings("serial")
    private java.util.List giveSounds_;
    /**
     * repeated .CMsgQuestTheme.WeightedStringSet give_sounds = 5;
     */
    @java.lang.Override
    public java.util.List getGiveSoundsList() {
      return giveSounds_;
    }
    /**
     * repeated .CMsgQuestTheme.WeightedStringSet give_sounds = 5;
     */
    @java.lang.Override
    public java.util.List 
        getGiveSoundsOrBuilderList() {
      return giveSounds_;
    }
    /**
     * repeated .CMsgQuestTheme.WeightedStringSet give_sounds = 5;
     */
    @java.lang.Override
    public int getGiveSoundsCount() {
      return giveSounds_.size();
    }
    /**
     * repeated .CMsgQuestTheme.WeightedStringSet give_sounds = 5;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet getGiveSounds(int index) {
      return giveSounds_.get(index);
    }
    /**
     * repeated .CMsgQuestTheme.WeightedStringSet give_sounds = 5;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSetOrBuilder getGiveSoundsOrBuilder(
        int index) {
      return giveSounds_.get(index);
    }

    public static final int COMPLETE_SOUNDS_FIELD_NUMBER = 6;
    @SuppressWarnings("serial")
    private java.util.List completeSounds_;
    /**
     * repeated .CMsgQuestTheme.WeightedStringSet complete_sounds = 6;
     */
    @java.lang.Override
    public java.util.List getCompleteSoundsList() {
      return completeSounds_;
    }
    /**
     * repeated .CMsgQuestTheme.WeightedStringSet complete_sounds = 6;
     */
    @java.lang.Override
    public java.util.List 
        getCompleteSoundsOrBuilderList() {
      return completeSounds_;
    }
    /**
     * repeated .CMsgQuestTheme.WeightedStringSet complete_sounds = 6;
     */
    @java.lang.Override
    public int getCompleteSoundsCount() {
      return completeSounds_.size();
    }
    /**
     * repeated .CMsgQuestTheme.WeightedStringSet complete_sounds = 6;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet getCompleteSounds(int index) {
      return completeSounds_.get(index);
    }
    /**
     * repeated .CMsgQuestTheme.WeightedStringSet complete_sounds = 6;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSetOrBuilder getCompleteSoundsOrBuilder(
        int index) {
      return completeSounds_.get(index);
    }

    public static final int FULLY_COMPLETE_SOUNDS_FIELD_NUMBER = 7;
    @SuppressWarnings("serial")
    private java.util.List fullyCompleteSounds_;
    /**
     * repeated .CMsgQuestTheme.WeightedStringSet fully_complete_sounds = 7;
     */
    @java.lang.Override
    public java.util.List getFullyCompleteSoundsList() {
      return fullyCompleteSounds_;
    }
    /**
     * repeated .CMsgQuestTheme.WeightedStringSet fully_complete_sounds = 7;
     */
    @java.lang.Override
    public java.util.List 
        getFullyCompleteSoundsOrBuilderList() {
      return fullyCompleteSounds_;
    }
    /**
     * repeated .CMsgQuestTheme.WeightedStringSet fully_complete_sounds = 7;
     */
    @java.lang.Override
    public int getFullyCompleteSoundsCount() {
      return fullyCompleteSounds_.size();
    }
    /**
     * repeated .CMsgQuestTheme.WeightedStringSet fully_complete_sounds = 7;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet getFullyCompleteSounds(int index) {
      return fullyCompleteSounds_.get(index);
    }
    /**
     * repeated .CMsgQuestTheme.WeightedStringSet fully_complete_sounds = 7;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSetOrBuilder getFullyCompleteSoundsOrBuilder(
        int index) {
      return fullyCompleteSounds_.get(index);
    }

    public static final int REWARD_SOUND_FIELD_NUMBER = 8;
    @SuppressWarnings("serial")
    private volatile java.lang.Object rewardSound_ = "";
    /**
     * optional string reward_sound = 8;
     * @return Whether the rewardSound field is set.
     */
    @java.lang.Override
    public boolean hasRewardSound() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * optional string reward_sound = 8;
     * @return The rewardSound.
     */
    @java.lang.Override
    public java.lang.String getRewardSound() {
      java.lang.Object ref = rewardSound_;
      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()) {
          rewardSound_ = s;
        }
        return s;
      }
    }
    /**
     * optional string reward_sound = 8;
     * @return The bytes for rewardSound.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getRewardSoundBytes() {
      java.lang.Object ref = rewardSound_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        rewardSound_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int DISCARD_SOUND_FIELD_NUMBER = 9;
    @SuppressWarnings("serial")
    private volatile java.lang.Object discardSound_ = "";
    /**
     * optional string discard_sound = 9;
     * @return Whether the discardSound field is set.
     */
    @java.lang.Override
    public boolean hasDiscardSound() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * optional string discard_sound = 9;
     * @return The discardSound.
     */
    @java.lang.Override
    public java.lang.String getDiscardSound() {
      java.lang.Object ref = discardSound_;
      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()) {
          discardSound_ = s;
        }
        return s;
      }
    }
    /**
     * optional string discard_sound = 9;
     * @return The bytes for discardSound.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getDiscardSoundBytes() {
      java.lang.Object ref = discardSound_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        discardSound_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int REVEAL_SOUND_FIELD_NUMBER = 10;
    @SuppressWarnings("serial")
    private volatile java.lang.Object revealSound_ = "";
    /**
     * optional string reveal_sound = 10;
     * @return Whether the revealSound field is set.
     */
    @java.lang.Override
    public boolean hasRevealSound() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     * optional string reveal_sound = 10;
     * @return The revealSound.
     */
    @java.lang.Override
    public java.lang.String getRevealSound() {
      java.lang.Object ref = revealSound_;
      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()) {
          revealSound_ = s;
        }
        return s;
      }
    }
    /**
     * optional string reveal_sound = 10;
     * @return The bytes for revealSound.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getRevealSoundBytes() {
      java.lang.Object ref = revealSound_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        revealSound_ = 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;

      if (!hasHeader()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getHeader().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getHeader());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 2, notificationRes_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 3, questItemRes_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 4, inGameTrackerRes_);
      }
      for (int i = 0; i < giveSounds_.size(); i++) {
        output.writeMessage(5, giveSounds_.get(i));
      }
      for (int i = 0; i < completeSounds_.size(); i++) {
        output.writeMessage(6, completeSounds_.get(i));
      }
      for (int i = 0; i < fullyCompleteSounds_.size(); i++) {
        output.writeMessage(7, fullyCompleteSounds_.get(i));
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 8, rewardSound_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 9, discardSound_);
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        com.google.protobuf.GeneratedMessage.writeString(output, 10, revealSound_);
      }
      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
          .computeMessageSize(1, getHeader());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(2, notificationRes_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(3, questItemRes_);
      }
      if (((bitField0_ & 0x00000008) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(4, inGameTrackerRes_);
      }
      for (int i = 0; i < giveSounds_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, giveSounds_.get(i));
      }
      for (int i = 0; i < completeSounds_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, completeSounds_.get(i));
      }
      for (int i = 0; i < fullyCompleteSounds_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(7, fullyCompleteSounds_.get(i));
      }
      if (((bitField0_ & 0x00000010) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(8, rewardSound_);
      }
      if (((bitField0_ & 0x00000020) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(9, discardSound_);
      }
      if (((bitField0_ & 0x00000040) != 0)) {
        size += com.google.protobuf.GeneratedMessage.computeStringSize(10, revealSound_);
      }
      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.TfProtoDefMessages.CMsgQuestTheme)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme) obj;

      if (hasHeader() != other.hasHeader()) return false;
      if (hasHeader()) {
        if (!getHeader()
            .equals(other.getHeader())) return false;
      }
      if (hasNotificationRes() != other.hasNotificationRes()) return false;
      if (hasNotificationRes()) {
        if (!getNotificationRes()
            .equals(other.getNotificationRes())) return false;
      }
      if (hasQuestItemRes() != other.hasQuestItemRes()) return false;
      if (hasQuestItemRes()) {
        if (!getQuestItemRes()
            .equals(other.getQuestItemRes())) return false;
      }
      if (hasInGameTrackerRes() != other.hasInGameTrackerRes()) return false;
      if (hasInGameTrackerRes()) {
        if (!getInGameTrackerRes()
            .equals(other.getInGameTrackerRes())) return false;
      }
      if (!getGiveSoundsList()
          .equals(other.getGiveSoundsList())) return false;
      if (!getCompleteSoundsList()
          .equals(other.getCompleteSoundsList())) return false;
      if (!getFullyCompleteSoundsList()
          .equals(other.getFullyCompleteSoundsList())) return false;
      if (hasRewardSound() != other.hasRewardSound()) return false;
      if (hasRewardSound()) {
        if (!getRewardSound()
            .equals(other.getRewardSound())) return false;
      }
      if (hasDiscardSound() != other.hasDiscardSound()) return false;
      if (hasDiscardSound()) {
        if (!getDiscardSound()
            .equals(other.getDiscardSound())) return false;
      }
      if (hasRevealSound() != other.hasRevealSound()) return false;
      if (hasRevealSound()) {
        if (!getRevealSound()
            .equals(other.getRevealSound())) 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 (hasHeader()) {
        hash = (37 * hash) + HEADER_FIELD_NUMBER;
        hash = (53 * hash) + getHeader().hashCode();
      }
      if (hasNotificationRes()) {
        hash = (37 * hash) + NOTIFICATION_RES_FIELD_NUMBER;
        hash = (53 * hash) + getNotificationRes().hashCode();
      }
      if (hasQuestItemRes()) {
        hash = (37 * hash) + QUEST_ITEM_RES_FIELD_NUMBER;
        hash = (53 * hash) + getQuestItemRes().hashCode();
      }
      if (hasInGameTrackerRes()) {
        hash = (37 * hash) + IN_GAME_TRACKER_RES_FIELD_NUMBER;
        hash = (53 * hash) + getInGameTrackerRes().hashCode();
      }
      if (getGiveSoundsCount() > 0) {
        hash = (37 * hash) + GIVE_SOUNDS_FIELD_NUMBER;
        hash = (53 * hash) + getGiveSoundsList().hashCode();
      }
      if (getCompleteSoundsCount() > 0) {
        hash = (37 * hash) + COMPLETE_SOUNDS_FIELD_NUMBER;
        hash = (53 * hash) + getCompleteSoundsList().hashCode();
      }
      if (getFullyCompleteSoundsCount() > 0) {
        hash = (37 * hash) + FULLY_COMPLETE_SOUNDS_FIELD_NUMBER;
        hash = (53 * hash) + getFullyCompleteSoundsList().hashCode();
      }
      if (hasRewardSound()) {
        hash = (37 * hash) + REWARD_SOUND_FIELD_NUMBER;
        hash = (53 * hash) + getRewardSound().hashCode();
      }
      if (hasDiscardSound()) {
        hash = (37 * hash) + DISCARD_SOUND_FIELD_NUMBER;
        hash = (53 * hash) + getDiscardSound().hashCode();
      }
      if (hasRevealSound()) {
        hash = (37 * hash) + REVEAL_SOUND_FIELD_NUMBER;
        hash = (53 * hash) + getRevealSound().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme 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.TfProtoDefMessages.CMsgQuestTheme parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme 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.TfProtoDefMessages.CMsgQuestTheme parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme 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.TfProtoDefMessages.CMsgQuestTheme parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme 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.TfProtoDefMessages.CMsgQuestTheme parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme 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.TfProtoDefMessages.CMsgQuestTheme 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.TfProtoDefMessages.CMsgQuestTheme 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.TfProtoDefMessages.CMsgQuestTheme 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 CMsgQuestTheme}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgQuestTheme)
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestThemeOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgQuestTheme_descriptor;
      }

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

      // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage
                .alwaysUseFieldBuilders) {
          getHeaderFieldBuilder();
          getGiveSoundsFieldBuilder();
          getCompleteSoundsFieldBuilder();
          getFullyCompleteSoundsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        header_ = null;
        if (headerBuilder_ != null) {
          headerBuilder_.dispose();
          headerBuilder_ = null;
        }
        notificationRes_ = "";
        questItemRes_ = "";
        inGameTrackerRes_ = "";
        if (giveSoundsBuilder_ == null) {
          giveSounds_ = java.util.Collections.emptyList();
        } else {
          giveSounds_ = null;
          giveSoundsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000010);
        if (completeSoundsBuilder_ == null) {
          completeSounds_ = java.util.Collections.emptyList();
        } else {
          completeSounds_ = null;
          completeSoundsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000020);
        if (fullyCompleteSoundsBuilder_ == null) {
          fullyCompleteSounds_ = java.util.Collections.emptyList();
        } else {
          fullyCompleteSounds_ = null;
          fullyCompleteSoundsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000040);
        rewardSound_ = "";
        discardSound_ = "";
        revealSound_ = "";
        return this;
      }

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

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

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

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

      private void buildPartialRepeatedFields(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme result) {
        if (giveSoundsBuilder_ == null) {
          if (((bitField0_ & 0x00000010) != 0)) {
            giveSounds_ = java.util.Collections.unmodifiableList(giveSounds_);
            bitField0_ = (bitField0_ & ~0x00000010);
          }
          result.giveSounds_ = giveSounds_;
        } else {
          result.giveSounds_ = giveSoundsBuilder_.build();
        }
        if (completeSoundsBuilder_ == null) {
          if (((bitField0_ & 0x00000020) != 0)) {
            completeSounds_ = java.util.Collections.unmodifiableList(completeSounds_);
            bitField0_ = (bitField0_ & ~0x00000020);
          }
          result.completeSounds_ = completeSounds_;
        } else {
          result.completeSounds_ = completeSoundsBuilder_.build();
        }
        if (fullyCompleteSoundsBuilder_ == null) {
          if (((bitField0_ & 0x00000040) != 0)) {
            fullyCompleteSounds_ = java.util.Collections.unmodifiableList(fullyCompleteSounds_);
            bitField0_ = (bitField0_ & ~0x00000040);
          }
          result.fullyCompleteSounds_ = fullyCompleteSounds_;
        } else {
          result.fullyCompleteSounds_ = fullyCompleteSoundsBuilder_.build();
        }
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.header_ = headerBuilder_ == null
              ? header_
              : headerBuilder_.build();
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.notificationRes_ = notificationRes_;
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.questItemRes_ = questItemRes_;
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.inGameTrackerRes_ = inGameTrackerRes_;
          to_bitField0_ |= 0x00000008;
        }
        if (((from_bitField0_ & 0x00000080) != 0)) {
          result.rewardSound_ = rewardSound_;
          to_bitField0_ |= 0x00000010;
        }
        if (((from_bitField0_ & 0x00000100) != 0)) {
          result.discardSound_ = discardSound_;
          to_bitField0_ |= 0x00000020;
        }
        if (((from_bitField0_ & 0x00000200) != 0)) {
          result.revealSound_ = revealSound_;
          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.TfProtoDefMessages.CMsgQuestTheme) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.getDefaultInstance()) return this;
        if (other.hasHeader()) {
          mergeHeader(other.getHeader());
        }
        if (other.hasNotificationRes()) {
          notificationRes_ = other.notificationRes_;
          bitField0_ |= 0x00000002;
          onChanged();
        }
        if (other.hasQuestItemRes()) {
          questItemRes_ = other.questItemRes_;
          bitField0_ |= 0x00000004;
          onChanged();
        }
        if (other.hasInGameTrackerRes()) {
          inGameTrackerRes_ = other.inGameTrackerRes_;
          bitField0_ |= 0x00000008;
          onChanged();
        }
        if (giveSoundsBuilder_ == null) {
          if (!other.giveSounds_.isEmpty()) {
            if (giveSounds_.isEmpty()) {
              giveSounds_ = other.giveSounds_;
              bitField0_ = (bitField0_ & ~0x00000010);
            } else {
              ensureGiveSoundsIsMutable();
              giveSounds_.addAll(other.giveSounds_);
            }
            onChanged();
          }
        } else {
          if (!other.giveSounds_.isEmpty()) {
            if (giveSoundsBuilder_.isEmpty()) {
              giveSoundsBuilder_.dispose();
              giveSoundsBuilder_ = null;
              giveSounds_ = other.giveSounds_;
              bitField0_ = (bitField0_ & ~0x00000010);
              giveSoundsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getGiveSoundsFieldBuilder() : null;
            } else {
              giveSoundsBuilder_.addAllMessages(other.giveSounds_);
            }
          }
        }
        if (completeSoundsBuilder_ == null) {
          if (!other.completeSounds_.isEmpty()) {
            if (completeSounds_.isEmpty()) {
              completeSounds_ = other.completeSounds_;
              bitField0_ = (bitField0_ & ~0x00000020);
            } else {
              ensureCompleteSoundsIsMutable();
              completeSounds_.addAll(other.completeSounds_);
            }
            onChanged();
          }
        } else {
          if (!other.completeSounds_.isEmpty()) {
            if (completeSoundsBuilder_.isEmpty()) {
              completeSoundsBuilder_.dispose();
              completeSoundsBuilder_ = null;
              completeSounds_ = other.completeSounds_;
              bitField0_ = (bitField0_ & ~0x00000020);
              completeSoundsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getCompleteSoundsFieldBuilder() : null;
            } else {
              completeSoundsBuilder_.addAllMessages(other.completeSounds_);
            }
          }
        }
        if (fullyCompleteSoundsBuilder_ == null) {
          if (!other.fullyCompleteSounds_.isEmpty()) {
            if (fullyCompleteSounds_.isEmpty()) {
              fullyCompleteSounds_ = other.fullyCompleteSounds_;
              bitField0_ = (bitField0_ & ~0x00000040);
            } else {
              ensureFullyCompleteSoundsIsMutable();
              fullyCompleteSounds_.addAll(other.fullyCompleteSounds_);
            }
            onChanged();
          }
        } else {
          if (!other.fullyCompleteSounds_.isEmpty()) {
            if (fullyCompleteSoundsBuilder_.isEmpty()) {
              fullyCompleteSoundsBuilder_.dispose();
              fullyCompleteSoundsBuilder_ = null;
              fullyCompleteSounds_ = other.fullyCompleteSounds_;
              bitField0_ = (bitField0_ & ~0x00000040);
              fullyCompleteSoundsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getFullyCompleteSoundsFieldBuilder() : null;
            } else {
              fullyCompleteSoundsBuilder_.addAllMessages(other.fullyCompleteSounds_);
            }
          }
        }
        if (other.hasRewardSound()) {
          rewardSound_ = other.rewardSound_;
          bitField0_ |= 0x00000080;
          onChanged();
        }
        if (other.hasDiscardSound()) {
          discardSound_ = other.discardSound_;
          bitField0_ |= 0x00000100;
          onChanged();
        }
        if (other.hasRevealSound()) {
          revealSound_ = other.revealSound_;
          bitField0_ |= 0x00000200;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasHeader()) {
          return false;
        }
        if (!getHeader().isInitialized()) {
          return false;
        }
        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: {
                input.readMessage(
                    getHeaderFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 18: {
                notificationRes_ = input.readBytes();
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              case 26: {
                questItemRes_ = input.readBytes();
                bitField0_ |= 0x00000004;
                break;
              } // case 26
              case 34: {
                inGameTrackerRes_ = input.readBytes();
                bitField0_ |= 0x00000008;
                break;
              } // case 34
              case 42: {
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.parser(),
                        extensionRegistry);
                if (giveSoundsBuilder_ == null) {
                  ensureGiveSoundsIsMutable();
                  giveSounds_.add(m);
                } else {
                  giveSoundsBuilder_.addMessage(m);
                }
                break;
              } // case 42
              case 50: {
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.parser(),
                        extensionRegistry);
                if (completeSoundsBuilder_ == null) {
                  ensureCompleteSoundsIsMutable();
                  completeSounds_.add(m);
                } else {
                  completeSoundsBuilder_.addMessage(m);
                }
                break;
              } // case 50
              case 58: {
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.parser(),
                        extensionRegistry);
                if (fullyCompleteSoundsBuilder_ == null) {
                  ensureFullyCompleteSoundsIsMutable();
                  fullyCompleteSounds_.add(m);
                } else {
                  fullyCompleteSoundsBuilder_.addMessage(m);
                }
                break;
              } // case 58
              case 66: {
                rewardSound_ = input.readBytes();
                bitField0_ |= 0x00000080;
                break;
              } // case 66
              case 74: {
                discardSound_ = input.readBytes();
                bitField0_ |= 0x00000100;
                break;
              } // case 74
              case 82: {
                revealSound_ = input.readBytes();
                bitField0_ |= 0x00000200;
                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 in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader header_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder> headerBuilder_;
      /**
       * required .CMsgProtoDefHeader header = 1;
       * @return Whether the header field is set.
       */
      public boolean hasHeader() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       * @return The header.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader() {
        if (headerBuilder_ == null) {
          return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
        } else {
          return headerBuilder_.getMessage();
        }
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder setHeader(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader value) {
        if (headerBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          header_ = value;
        } else {
          headerBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder setHeader(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder builderForValue) {
        if (headerBuilder_ == null) {
          header_ = builderForValue.build();
        } else {
          headerBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder mergeHeader(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader value) {
        if (headerBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
            header_ != null &&
            header_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance()) {
            getHeaderBuilder().mergeFrom(value);
          } else {
            header_ = value;
          }
        } else {
          headerBuilder_.mergeFrom(value);
        }
        if (header_ != null) {
          bitField0_ |= 0x00000001;
          onChanged();
        }
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder clearHeader() {
        bitField0_ = (bitField0_ & ~0x00000001);
        header_ = null;
        if (headerBuilder_ != null) {
          headerBuilder_.dispose();
          headerBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder getHeaderBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getHeaderFieldBuilder().getBuilder();
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder() {
        if (headerBuilder_ != null) {
          return headerBuilder_.getMessageOrBuilder();
        } else {
          return header_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
        }
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder> 
          getHeaderFieldBuilder() {
        if (headerBuilder_ == null) {
          headerBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder>(
                  getHeader(),
                  getParentForChildren(),
                  isClean());
          header_ = null;
        }
        return headerBuilder_;
      }

      private java.lang.Object notificationRes_ = "";
      /**
       * optional string notification_res = 2;
       * @return Whether the notificationRes field is set.
       */
      public boolean hasNotificationRes() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * optional string notification_res = 2;
       * @return The notificationRes.
       */
      public java.lang.String getNotificationRes() {
        java.lang.Object ref = notificationRes_;
        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()) {
            notificationRes_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string notification_res = 2;
       * @return The bytes for notificationRes.
       */
      public com.google.protobuf.ByteString
          getNotificationResBytes() {
        java.lang.Object ref = notificationRes_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          notificationRes_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string notification_res = 2;
       * @param value The notificationRes to set.
       * @return This builder for chaining.
       */
      public Builder setNotificationRes(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        notificationRes_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * optional string notification_res = 2;
       * @return This builder for chaining.
       */
      public Builder clearNotificationRes() {
        notificationRes_ = getDefaultInstance().getNotificationRes();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * optional string notification_res = 2;
       * @param value The bytes for notificationRes to set.
       * @return This builder for chaining.
       */
      public Builder setNotificationResBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        notificationRes_ = value;
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }

      private java.lang.Object questItemRes_ = "";
      /**
       * optional string quest_item_res = 3;
       * @return Whether the questItemRes field is set.
       */
      public boolean hasQuestItemRes() {
        return ((bitField0_ & 0x00000004) != 0);
      }
      /**
       * optional string quest_item_res = 3;
       * @return The questItemRes.
       */
      public java.lang.String getQuestItemRes() {
        java.lang.Object ref = questItemRes_;
        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()) {
            questItemRes_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string quest_item_res = 3;
       * @return The bytes for questItemRes.
       */
      public com.google.protobuf.ByteString
          getQuestItemResBytes() {
        java.lang.Object ref = questItemRes_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          questItemRes_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string quest_item_res = 3;
       * @param value The questItemRes to set.
       * @return This builder for chaining.
       */
      public Builder setQuestItemRes(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        questItemRes_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * optional string quest_item_res = 3;
       * @return This builder for chaining.
       */
      public Builder clearQuestItemRes() {
        questItemRes_ = getDefaultInstance().getQuestItemRes();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }
      /**
       * optional string quest_item_res = 3;
       * @param value The bytes for questItemRes to set.
       * @return This builder for chaining.
       */
      public Builder setQuestItemResBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        questItemRes_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }

      private java.lang.Object inGameTrackerRes_ = "";
      /**
       * optional string in_game_tracker_res = 4;
       * @return Whether the inGameTrackerRes field is set.
       */
      public boolean hasInGameTrackerRes() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * optional string in_game_tracker_res = 4;
       * @return The inGameTrackerRes.
       */
      public java.lang.String getInGameTrackerRes() {
        java.lang.Object ref = inGameTrackerRes_;
        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()) {
            inGameTrackerRes_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string in_game_tracker_res = 4;
       * @return The bytes for inGameTrackerRes.
       */
      public com.google.protobuf.ByteString
          getInGameTrackerResBytes() {
        java.lang.Object ref = inGameTrackerRes_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          inGameTrackerRes_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string in_game_tracker_res = 4;
       * @param value The inGameTrackerRes to set.
       * @return This builder for chaining.
       */
      public Builder setInGameTrackerRes(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        inGameTrackerRes_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * optional string in_game_tracker_res = 4;
       * @return This builder for chaining.
       */
      public Builder clearInGameTrackerRes() {
        inGameTrackerRes_ = getDefaultInstance().getInGameTrackerRes();
        bitField0_ = (bitField0_ & ~0x00000008);
        onChanged();
        return this;
      }
      /**
       * optional string in_game_tracker_res = 4;
       * @param value The bytes for inGameTrackerRes to set.
       * @return This builder for chaining.
       */
      public Builder setInGameTrackerResBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        inGameTrackerRes_ = value;
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }

      private java.util.List giveSounds_ =
        java.util.Collections.emptyList();
      private void ensureGiveSoundsIsMutable() {
        if (!((bitField0_ & 0x00000010) != 0)) {
          giveSounds_ = new java.util.ArrayList(giveSounds_);
          bitField0_ |= 0x00000010;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSetOrBuilder> giveSoundsBuilder_;

      /**
       * repeated .CMsgQuestTheme.WeightedStringSet give_sounds = 5;
       */
      public java.util.List getGiveSoundsList() {
        if (giveSoundsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(giveSounds_);
        } else {
          return giveSoundsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet give_sounds = 5;
       */
      public int getGiveSoundsCount() {
        if (giveSoundsBuilder_ == null) {
          return giveSounds_.size();
        } else {
          return giveSoundsBuilder_.getCount();
        }
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet give_sounds = 5;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet getGiveSounds(int index) {
        if (giveSoundsBuilder_ == null) {
          return giveSounds_.get(index);
        } else {
          return giveSoundsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet give_sounds = 5;
       */
      public Builder setGiveSounds(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet value) {
        if (giveSoundsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureGiveSoundsIsMutable();
          giveSounds_.set(index, value);
          onChanged();
        } else {
          giveSoundsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet give_sounds = 5;
       */
      public Builder setGiveSounds(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.Builder builderForValue) {
        if (giveSoundsBuilder_ == null) {
          ensureGiveSoundsIsMutable();
          giveSounds_.set(index, builderForValue.build());
          onChanged();
        } else {
          giveSoundsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet give_sounds = 5;
       */
      public Builder addGiveSounds(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet value) {
        if (giveSoundsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureGiveSoundsIsMutable();
          giveSounds_.add(value);
          onChanged();
        } else {
          giveSoundsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet give_sounds = 5;
       */
      public Builder addGiveSounds(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet value) {
        if (giveSoundsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureGiveSoundsIsMutable();
          giveSounds_.add(index, value);
          onChanged();
        } else {
          giveSoundsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet give_sounds = 5;
       */
      public Builder addGiveSounds(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.Builder builderForValue) {
        if (giveSoundsBuilder_ == null) {
          ensureGiveSoundsIsMutable();
          giveSounds_.add(builderForValue.build());
          onChanged();
        } else {
          giveSoundsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet give_sounds = 5;
       */
      public Builder addGiveSounds(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.Builder builderForValue) {
        if (giveSoundsBuilder_ == null) {
          ensureGiveSoundsIsMutable();
          giveSounds_.add(index, builderForValue.build());
          onChanged();
        } else {
          giveSoundsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet give_sounds = 5;
       */
      public Builder addAllGiveSounds(
          java.lang.Iterable values) {
        if (giveSoundsBuilder_ == null) {
          ensureGiveSoundsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, giveSounds_);
          onChanged();
        } else {
          giveSoundsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet give_sounds = 5;
       */
      public Builder clearGiveSounds() {
        if (giveSoundsBuilder_ == null) {
          giveSounds_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000010);
          onChanged();
        } else {
          giveSoundsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet give_sounds = 5;
       */
      public Builder removeGiveSounds(int index) {
        if (giveSoundsBuilder_ == null) {
          ensureGiveSoundsIsMutable();
          giveSounds_.remove(index);
          onChanged();
        } else {
          giveSoundsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet give_sounds = 5;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.Builder getGiveSoundsBuilder(
          int index) {
        return getGiveSoundsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet give_sounds = 5;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSetOrBuilder getGiveSoundsOrBuilder(
          int index) {
        if (giveSoundsBuilder_ == null) {
          return giveSounds_.get(index);  } else {
          return giveSoundsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet give_sounds = 5;
       */
      public java.util.List 
           getGiveSoundsOrBuilderList() {
        if (giveSoundsBuilder_ != null) {
          return giveSoundsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(giveSounds_);
        }
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet give_sounds = 5;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.Builder addGiveSoundsBuilder() {
        return getGiveSoundsFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.getDefaultInstance());
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet give_sounds = 5;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.Builder addGiveSoundsBuilder(
          int index) {
        return getGiveSoundsFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.getDefaultInstance());
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet give_sounds = 5;
       */
      public java.util.List 
           getGiveSoundsBuilderList() {
        return getGiveSoundsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSetOrBuilder> 
          getGiveSoundsFieldBuilder() {
        if (giveSoundsBuilder_ == null) {
          giveSoundsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSetOrBuilder>(
                  giveSounds_,
                  ((bitField0_ & 0x00000010) != 0),
                  getParentForChildren(),
                  isClean());
          giveSounds_ = null;
        }
        return giveSoundsBuilder_;
      }

      private java.util.List completeSounds_ =
        java.util.Collections.emptyList();
      private void ensureCompleteSoundsIsMutable() {
        if (!((bitField0_ & 0x00000020) != 0)) {
          completeSounds_ = new java.util.ArrayList(completeSounds_);
          bitField0_ |= 0x00000020;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSetOrBuilder> completeSoundsBuilder_;

      /**
       * repeated .CMsgQuestTheme.WeightedStringSet complete_sounds = 6;
       */
      public java.util.List getCompleteSoundsList() {
        if (completeSoundsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(completeSounds_);
        } else {
          return completeSoundsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet complete_sounds = 6;
       */
      public int getCompleteSoundsCount() {
        if (completeSoundsBuilder_ == null) {
          return completeSounds_.size();
        } else {
          return completeSoundsBuilder_.getCount();
        }
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet complete_sounds = 6;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet getCompleteSounds(int index) {
        if (completeSoundsBuilder_ == null) {
          return completeSounds_.get(index);
        } else {
          return completeSoundsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet complete_sounds = 6;
       */
      public Builder setCompleteSounds(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet value) {
        if (completeSoundsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureCompleteSoundsIsMutable();
          completeSounds_.set(index, value);
          onChanged();
        } else {
          completeSoundsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet complete_sounds = 6;
       */
      public Builder setCompleteSounds(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.Builder builderForValue) {
        if (completeSoundsBuilder_ == null) {
          ensureCompleteSoundsIsMutable();
          completeSounds_.set(index, builderForValue.build());
          onChanged();
        } else {
          completeSoundsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet complete_sounds = 6;
       */
      public Builder addCompleteSounds(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet value) {
        if (completeSoundsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureCompleteSoundsIsMutable();
          completeSounds_.add(value);
          onChanged();
        } else {
          completeSoundsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet complete_sounds = 6;
       */
      public Builder addCompleteSounds(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet value) {
        if (completeSoundsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureCompleteSoundsIsMutable();
          completeSounds_.add(index, value);
          onChanged();
        } else {
          completeSoundsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet complete_sounds = 6;
       */
      public Builder addCompleteSounds(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.Builder builderForValue) {
        if (completeSoundsBuilder_ == null) {
          ensureCompleteSoundsIsMutable();
          completeSounds_.add(builderForValue.build());
          onChanged();
        } else {
          completeSoundsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet complete_sounds = 6;
       */
      public Builder addCompleteSounds(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.Builder builderForValue) {
        if (completeSoundsBuilder_ == null) {
          ensureCompleteSoundsIsMutable();
          completeSounds_.add(index, builderForValue.build());
          onChanged();
        } else {
          completeSoundsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet complete_sounds = 6;
       */
      public Builder addAllCompleteSounds(
          java.lang.Iterable values) {
        if (completeSoundsBuilder_ == null) {
          ensureCompleteSoundsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, completeSounds_);
          onChanged();
        } else {
          completeSoundsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet complete_sounds = 6;
       */
      public Builder clearCompleteSounds() {
        if (completeSoundsBuilder_ == null) {
          completeSounds_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000020);
          onChanged();
        } else {
          completeSoundsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet complete_sounds = 6;
       */
      public Builder removeCompleteSounds(int index) {
        if (completeSoundsBuilder_ == null) {
          ensureCompleteSoundsIsMutable();
          completeSounds_.remove(index);
          onChanged();
        } else {
          completeSoundsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet complete_sounds = 6;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.Builder getCompleteSoundsBuilder(
          int index) {
        return getCompleteSoundsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet complete_sounds = 6;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSetOrBuilder getCompleteSoundsOrBuilder(
          int index) {
        if (completeSoundsBuilder_ == null) {
          return completeSounds_.get(index);  } else {
          return completeSoundsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet complete_sounds = 6;
       */
      public java.util.List 
           getCompleteSoundsOrBuilderList() {
        if (completeSoundsBuilder_ != null) {
          return completeSoundsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(completeSounds_);
        }
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet complete_sounds = 6;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.Builder addCompleteSoundsBuilder() {
        return getCompleteSoundsFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.getDefaultInstance());
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet complete_sounds = 6;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.Builder addCompleteSoundsBuilder(
          int index) {
        return getCompleteSoundsFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.getDefaultInstance());
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet complete_sounds = 6;
       */
      public java.util.List 
           getCompleteSoundsBuilderList() {
        return getCompleteSoundsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSetOrBuilder> 
          getCompleteSoundsFieldBuilder() {
        if (completeSoundsBuilder_ == null) {
          completeSoundsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSetOrBuilder>(
                  completeSounds_,
                  ((bitField0_ & 0x00000020) != 0),
                  getParentForChildren(),
                  isClean());
          completeSounds_ = null;
        }
        return completeSoundsBuilder_;
      }

      private java.util.List fullyCompleteSounds_ =
        java.util.Collections.emptyList();
      private void ensureFullyCompleteSoundsIsMutable() {
        if (!((bitField0_ & 0x00000040) != 0)) {
          fullyCompleteSounds_ = new java.util.ArrayList(fullyCompleteSounds_);
          bitField0_ |= 0x00000040;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSetOrBuilder> fullyCompleteSoundsBuilder_;

      /**
       * repeated .CMsgQuestTheme.WeightedStringSet fully_complete_sounds = 7;
       */
      public java.util.List getFullyCompleteSoundsList() {
        if (fullyCompleteSoundsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(fullyCompleteSounds_);
        } else {
          return fullyCompleteSoundsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet fully_complete_sounds = 7;
       */
      public int getFullyCompleteSoundsCount() {
        if (fullyCompleteSoundsBuilder_ == null) {
          return fullyCompleteSounds_.size();
        } else {
          return fullyCompleteSoundsBuilder_.getCount();
        }
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet fully_complete_sounds = 7;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet getFullyCompleteSounds(int index) {
        if (fullyCompleteSoundsBuilder_ == null) {
          return fullyCompleteSounds_.get(index);
        } else {
          return fullyCompleteSoundsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet fully_complete_sounds = 7;
       */
      public Builder setFullyCompleteSounds(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet value) {
        if (fullyCompleteSoundsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureFullyCompleteSoundsIsMutable();
          fullyCompleteSounds_.set(index, value);
          onChanged();
        } else {
          fullyCompleteSoundsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet fully_complete_sounds = 7;
       */
      public Builder setFullyCompleteSounds(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.Builder builderForValue) {
        if (fullyCompleteSoundsBuilder_ == null) {
          ensureFullyCompleteSoundsIsMutable();
          fullyCompleteSounds_.set(index, builderForValue.build());
          onChanged();
        } else {
          fullyCompleteSoundsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet fully_complete_sounds = 7;
       */
      public Builder addFullyCompleteSounds(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet value) {
        if (fullyCompleteSoundsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureFullyCompleteSoundsIsMutable();
          fullyCompleteSounds_.add(value);
          onChanged();
        } else {
          fullyCompleteSoundsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet fully_complete_sounds = 7;
       */
      public Builder addFullyCompleteSounds(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet value) {
        if (fullyCompleteSoundsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureFullyCompleteSoundsIsMutable();
          fullyCompleteSounds_.add(index, value);
          onChanged();
        } else {
          fullyCompleteSoundsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet fully_complete_sounds = 7;
       */
      public Builder addFullyCompleteSounds(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.Builder builderForValue) {
        if (fullyCompleteSoundsBuilder_ == null) {
          ensureFullyCompleteSoundsIsMutable();
          fullyCompleteSounds_.add(builderForValue.build());
          onChanged();
        } else {
          fullyCompleteSoundsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet fully_complete_sounds = 7;
       */
      public Builder addFullyCompleteSounds(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.Builder builderForValue) {
        if (fullyCompleteSoundsBuilder_ == null) {
          ensureFullyCompleteSoundsIsMutable();
          fullyCompleteSounds_.add(index, builderForValue.build());
          onChanged();
        } else {
          fullyCompleteSoundsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet fully_complete_sounds = 7;
       */
      public Builder addAllFullyCompleteSounds(
          java.lang.Iterable values) {
        if (fullyCompleteSoundsBuilder_ == null) {
          ensureFullyCompleteSoundsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, fullyCompleteSounds_);
          onChanged();
        } else {
          fullyCompleteSoundsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet fully_complete_sounds = 7;
       */
      public Builder clearFullyCompleteSounds() {
        if (fullyCompleteSoundsBuilder_ == null) {
          fullyCompleteSounds_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000040);
          onChanged();
        } else {
          fullyCompleteSoundsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet fully_complete_sounds = 7;
       */
      public Builder removeFullyCompleteSounds(int index) {
        if (fullyCompleteSoundsBuilder_ == null) {
          ensureFullyCompleteSoundsIsMutable();
          fullyCompleteSounds_.remove(index);
          onChanged();
        } else {
          fullyCompleteSoundsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet fully_complete_sounds = 7;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.Builder getFullyCompleteSoundsBuilder(
          int index) {
        return getFullyCompleteSoundsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet fully_complete_sounds = 7;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSetOrBuilder getFullyCompleteSoundsOrBuilder(
          int index) {
        if (fullyCompleteSoundsBuilder_ == null) {
          return fullyCompleteSounds_.get(index);  } else {
          return fullyCompleteSoundsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet fully_complete_sounds = 7;
       */
      public java.util.List 
           getFullyCompleteSoundsOrBuilderList() {
        if (fullyCompleteSoundsBuilder_ != null) {
          return fullyCompleteSoundsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(fullyCompleteSounds_);
        }
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet fully_complete_sounds = 7;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.Builder addFullyCompleteSoundsBuilder() {
        return getFullyCompleteSoundsFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.getDefaultInstance());
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet fully_complete_sounds = 7;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.Builder addFullyCompleteSoundsBuilder(
          int index) {
        return getFullyCompleteSoundsFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.getDefaultInstance());
      }
      /**
       * repeated .CMsgQuestTheme.WeightedStringSet fully_complete_sounds = 7;
       */
      public java.util.List 
           getFullyCompleteSoundsBuilderList() {
        return getFullyCompleteSoundsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSetOrBuilder> 
          getFullyCompleteSoundsFieldBuilder() {
        if (fullyCompleteSoundsBuilder_ == null) {
          fullyCompleteSoundsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSet.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestTheme.WeightedStringSetOrBuilder>(
                  fullyCompleteSounds_,
                  ((bitField0_ & 0x00000040) != 0),
                  getParentForChildren(),
                  isClean());
          fullyCompleteSounds_ = null;
        }
        return fullyCompleteSoundsBuilder_;
      }

      private java.lang.Object rewardSound_ = "";
      /**
       * optional string reward_sound = 8;
       * @return Whether the rewardSound field is set.
       */
      public boolean hasRewardSound() {
        return ((bitField0_ & 0x00000080) != 0);
      }
      /**
       * optional string reward_sound = 8;
       * @return The rewardSound.
       */
      public java.lang.String getRewardSound() {
        java.lang.Object ref = rewardSound_;
        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()) {
            rewardSound_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string reward_sound = 8;
       * @return The bytes for rewardSound.
       */
      public com.google.protobuf.ByteString
          getRewardSoundBytes() {
        java.lang.Object ref = rewardSound_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          rewardSound_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string reward_sound = 8;
       * @param value The rewardSound to set.
       * @return This builder for chaining.
       */
      public Builder setRewardSound(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        rewardSound_ = value;
        bitField0_ |= 0x00000080;
        onChanged();
        return this;
      }
      /**
       * optional string reward_sound = 8;
       * @return This builder for chaining.
       */
      public Builder clearRewardSound() {
        rewardSound_ = getDefaultInstance().getRewardSound();
        bitField0_ = (bitField0_ & ~0x00000080);
        onChanged();
        return this;
      }
      /**
       * optional string reward_sound = 8;
       * @param value The bytes for rewardSound to set.
       * @return This builder for chaining.
       */
      public Builder setRewardSoundBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        rewardSound_ = value;
        bitField0_ |= 0x00000080;
        onChanged();
        return this;
      }

      private java.lang.Object discardSound_ = "";
      /**
       * optional string discard_sound = 9;
       * @return Whether the discardSound field is set.
       */
      public boolean hasDiscardSound() {
        return ((bitField0_ & 0x00000100) != 0);
      }
      /**
       * optional string discard_sound = 9;
       * @return The discardSound.
       */
      public java.lang.String getDiscardSound() {
        java.lang.Object ref = discardSound_;
        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()) {
            discardSound_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string discard_sound = 9;
       * @return The bytes for discardSound.
       */
      public com.google.protobuf.ByteString
          getDiscardSoundBytes() {
        java.lang.Object ref = discardSound_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          discardSound_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string discard_sound = 9;
       * @param value The discardSound to set.
       * @return This builder for chaining.
       */
      public Builder setDiscardSound(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        discardSound_ = value;
        bitField0_ |= 0x00000100;
        onChanged();
        return this;
      }
      /**
       * optional string discard_sound = 9;
       * @return This builder for chaining.
       */
      public Builder clearDiscardSound() {
        discardSound_ = getDefaultInstance().getDiscardSound();
        bitField0_ = (bitField0_ & ~0x00000100);
        onChanged();
        return this;
      }
      /**
       * optional string discard_sound = 9;
       * @param value The bytes for discardSound to set.
       * @return This builder for chaining.
       */
      public Builder setDiscardSoundBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        discardSound_ = value;
        bitField0_ |= 0x00000100;
        onChanged();
        return this;
      }

      private java.lang.Object revealSound_ = "";
      /**
       * optional string reveal_sound = 10;
       * @return Whether the revealSound field is set.
       */
      public boolean hasRevealSound() {
        return ((bitField0_ & 0x00000200) != 0);
      }
      /**
       * optional string reveal_sound = 10;
       * @return The revealSound.
       */
      public java.lang.String getRevealSound() {
        java.lang.Object ref = revealSound_;
        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()) {
            revealSound_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string reveal_sound = 10;
       * @return The bytes for revealSound.
       */
      public com.google.protobuf.ByteString
          getRevealSoundBytes() {
        java.lang.Object ref = revealSound_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          revealSound_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string reveal_sound = 10;
       * @param value The revealSound to set.
       * @return This builder for chaining.
       */
      public Builder setRevealSound(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        revealSound_ = value;
        bitField0_ |= 0x00000200;
        onChanged();
        return this;
      }
      /**
       * optional string reveal_sound = 10;
       * @return This builder for chaining.
       */
      public Builder clearRevealSound() {
        revealSound_ = getDefaultInstance().getRevealSound();
        bitField0_ = (bitField0_ & ~0x00000200);
        onChanged();
        return this;
      }
      /**
       * optional string reveal_sound = 10;
       * @param value The bytes for revealSound to set.
       * @return This builder for chaining.
       */
      public Builder setRevealSoundBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        revealSound_ = value;
        bitField0_ |= 0x00000200;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CMsgQuestTheme)
    }

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

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

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

  }

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

    /**
     * optional uint32 bonus_objectives_required = 1 [default = 0, (.display_name) = "Bonus Required", (.comment) = "Number of bonus objectives required, on top of the primary objective"];
     * @return Whether the bonusObjectivesRequired field is set.
     */
    boolean hasBonusObjectivesRequired();
    /**
     * optional uint32 bonus_objectives_required = 1 [default = 0, (.display_name) = "Bonus Required", (.comment) = "Number of bonus objectives required, on top of the primary objective"];
     * @return The bonusObjectivesRequired.
     */
    int getBonusObjectivesRequired();

    /**
     * required .CMsgProtoDefID target_node_defid = 2 [(.valid_type) = DEF_TYPE_QUEST_MAP_NODE, (.display_name) = "Target Node", (.comment) = "Which node is required to have the above number of medals"];
     * @return Whether the targetNodeDefid field is set.
     */
    boolean hasTargetNodeDefid();
    /**
     * required .CMsgProtoDefID target_node_defid = 2 [(.valid_type) = DEF_TYPE_QUEST_MAP_NODE, (.display_name) = "Target Node", (.comment) = "Which node is required to have the above number of medals"];
     * @return The targetNodeDefid.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getTargetNodeDefid();
    /**
     * required .CMsgProtoDefID target_node_defid = 2 [(.valid_type) = DEF_TYPE_QUEST_MAP_NODE, (.display_name) = "Target Node", (.comment) = "Which node is required to have the above number of medals"];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getTargetNodeDefidOrBuilder();
  }
  /**
   * Protobuf type {@code CMsgQuestMapNodeCondition_NodeState}
   */
  public static final class CMsgQuestMapNodeCondition_NodeState extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgQuestMapNodeCondition_NodeState)
      CMsgQuestMapNodeCondition_NodeStateOrBuilder {
  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= */ "",
        CMsgQuestMapNodeCondition_NodeState.class.getName());
    }
    // Use CMsgQuestMapNodeCondition_NodeState.newBuilder() to construct.
    private CMsgQuestMapNodeCondition_NodeState(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgQuestMapNodeCondition_NodeState() {
    }

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

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

    private int bitField0_;
    public static final int BONUS_OBJECTIVES_REQUIRED_FIELD_NUMBER = 1;
    private int bonusObjectivesRequired_ = 0;
    /**
     * optional uint32 bonus_objectives_required = 1 [default = 0, (.display_name) = "Bonus Required", (.comment) = "Number of bonus objectives required, on top of the primary objective"];
     * @return Whether the bonusObjectivesRequired field is set.
     */
    @java.lang.Override
    public boolean hasBonusObjectivesRequired() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional uint32 bonus_objectives_required = 1 [default = 0, (.display_name) = "Bonus Required", (.comment) = "Number of bonus objectives required, on top of the primary objective"];
     * @return The bonusObjectivesRequired.
     */
    @java.lang.Override
    public int getBonusObjectivesRequired() {
      return bonusObjectivesRequired_;
    }

    public static final int TARGET_NODE_DEFID_FIELD_NUMBER = 2;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID targetNodeDefid_;
    /**
     * required .CMsgProtoDefID target_node_defid = 2 [(.valid_type) = DEF_TYPE_QUEST_MAP_NODE, (.display_name) = "Target Node", (.comment) = "Which node is required to have the above number of medals"];
     * @return Whether the targetNodeDefid field is set.
     */
    @java.lang.Override
    public boolean hasTargetNodeDefid() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * required .CMsgProtoDefID target_node_defid = 2 [(.valid_type) = DEF_TYPE_QUEST_MAP_NODE, (.display_name) = "Target Node", (.comment) = "Which node is required to have the above number of medals"];
     * @return The targetNodeDefid.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getTargetNodeDefid() {
      return targetNodeDefid_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : targetNodeDefid_;
    }
    /**
     * required .CMsgProtoDefID target_node_defid = 2 [(.valid_type) = DEF_TYPE_QUEST_MAP_NODE, (.display_name) = "Target Node", (.comment) = "Which node is required to have the above number of medals"];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getTargetNodeDefidOrBuilder() {
      return targetNodeDefid_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : targetNodeDefid_;
    }

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

      if (!hasTargetNodeDefid()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getTargetNodeDefid().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeUInt32(1, bonusObjectivesRequired_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeMessage(2, getTargetNodeDefid());
      }
      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, bonusObjectivesRequired_);
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getTargetNodeDefid());
      }
      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.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState) obj;

      if (hasBonusObjectivesRequired() != other.hasBonusObjectivesRequired()) return false;
      if (hasBonusObjectivesRequired()) {
        if (getBonusObjectivesRequired()
            != other.getBonusObjectivesRequired()) return false;
      }
      if (hasTargetNodeDefid() != other.hasTargetNodeDefid()) return false;
      if (hasTargetNodeDefid()) {
        if (!getTargetNodeDefid()
            .equals(other.getTargetNodeDefid())) 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 (hasBonusObjectivesRequired()) {
        hash = (37 * hash) + BONUS_OBJECTIVES_REQUIRED_FIELD_NUMBER;
        hash = (53 * hash) + getBonusObjectivesRequired();
      }
      if (hasTargetNodeDefid()) {
        hash = (37 * hash) + TARGET_NODE_DEFID_FIELD_NUMBER;
        hash = (53 * hash) + getTargetNodeDefid().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState 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.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState 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.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState 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.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState 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.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState 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.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState 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.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState 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.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState 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 CMsgQuestMapNodeCondition_NodeState}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgQuestMapNodeCondition_NodeState)
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeStateOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgQuestMapNodeCondition_NodeState_descriptor;
      }

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

      // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage
                .alwaysUseFieldBuilders) {
          getTargetNodeDefidFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        bonusObjectivesRequired_ = 0;
        targetNodeDefid_ = null;
        if (targetNodeDefidBuilder_ != null) {
          targetNodeDefidBuilder_.dispose();
          targetNodeDefidBuilder_ = null;
        }
        return this;
      }

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

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

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

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

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.bonusObjectivesRequired_ = bonusObjectivesRequired_;
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.targetNodeDefid_ = targetNodeDefidBuilder_ == null
              ? targetNodeDefid_
              : targetNodeDefidBuilder_.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.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState.getDefaultInstance()) return this;
        if (other.hasBonusObjectivesRequired()) {
          setBonusObjectivesRequired(other.getBonusObjectivesRequired());
        }
        if (other.hasTargetNodeDefid()) {
          mergeTargetNodeDefid(other.getTargetNodeDefid());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasTargetNodeDefid()) {
          return false;
        }
        if (!getTargetNodeDefid().isInitialized()) {
          return false;
        }
        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: {
                bonusObjectivesRequired_ = input.readUInt32();
                bitField0_ |= 0x00000001;
                break;
              } // case 8
              case 18: {
                input.readMessage(
                    getTargetNodeDefidFieldBuilder().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 int bonusObjectivesRequired_ ;
      /**
       * optional uint32 bonus_objectives_required = 1 [default = 0, (.display_name) = "Bonus Required", (.comment) = "Number of bonus objectives required, on top of the primary objective"];
       * @return Whether the bonusObjectivesRequired field is set.
       */
      @java.lang.Override
      public boolean hasBonusObjectivesRequired() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * optional uint32 bonus_objectives_required = 1 [default = 0, (.display_name) = "Bonus Required", (.comment) = "Number of bonus objectives required, on top of the primary objective"];
       * @return The bonusObjectivesRequired.
       */
      @java.lang.Override
      public int getBonusObjectivesRequired() {
        return bonusObjectivesRequired_;
      }
      /**
       * optional uint32 bonus_objectives_required = 1 [default = 0, (.display_name) = "Bonus Required", (.comment) = "Number of bonus objectives required, on top of the primary objective"];
       * @param value The bonusObjectivesRequired to set.
       * @return This builder for chaining.
       */
      public Builder setBonusObjectivesRequired(int value) {

        bonusObjectivesRequired_ = value;
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * optional uint32 bonus_objectives_required = 1 [default = 0, (.display_name) = "Bonus Required", (.comment) = "Number of bonus objectives required, on top of the primary objective"];
       * @return This builder for chaining.
       */
      public Builder clearBonusObjectivesRequired() {
        bitField0_ = (bitField0_ & ~0x00000001);
        bonusObjectivesRequired_ = 0;
        onChanged();
        return this;
      }

      private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID targetNodeDefid_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> targetNodeDefidBuilder_;
      /**
       * required .CMsgProtoDefID target_node_defid = 2 [(.valid_type) = DEF_TYPE_QUEST_MAP_NODE, (.display_name) = "Target Node", (.comment) = "Which node is required to have the above number of medals"];
       * @return Whether the targetNodeDefid field is set.
       */
      public boolean hasTargetNodeDefid() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * required .CMsgProtoDefID target_node_defid = 2 [(.valid_type) = DEF_TYPE_QUEST_MAP_NODE, (.display_name) = "Target Node", (.comment) = "Which node is required to have the above number of medals"];
       * @return The targetNodeDefid.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID getTargetNodeDefid() {
        if (targetNodeDefidBuilder_ == null) {
          return targetNodeDefid_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : targetNodeDefid_;
        } else {
          return targetNodeDefidBuilder_.getMessage();
        }
      }
      /**
       * required .CMsgProtoDefID target_node_defid = 2 [(.valid_type) = DEF_TYPE_QUEST_MAP_NODE, (.display_name) = "Target Node", (.comment) = "Which node is required to have the above number of medals"];
       */
      public Builder setTargetNodeDefid(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
        if (targetNodeDefidBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          targetNodeDefid_ = value;
        } else {
          targetNodeDefidBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefID target_node_defid = 2 [(.valid_type) = DEF_TYPE_QUEST_MAP_NODE, (.display_name) = "Target Node", (.comment) = "Which node is required to have the above number of medals"];
       */
      public Builder setTargetNodeDefid(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder builderForValue) {
        if (targetNodeDefidBuilder_ == null) {
          targetNodeDefid_ = builderForValue.build();
        } else {
          targetNodeDefidBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefID target_node_defid = 2 [(.valid_type) = DEF_TYPE_QUEST_MAP_NODE, (.display_name) = "Target Node", (.comment) = "Which node is required to have the above number of medals"];
       */
      public Builder mergeTargetNodeDefid(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID value) {
        if (targetNodeDefidBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0) &&
            targetNodeDefid_ != null &&
            targetNodeDefid_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance()) {
            getTargetNodeDefidBuilder().mergeFrom(value);
          } else {
            targetNodeDefid_ = value;
          }
        } else {
          targetNodeDefidBuilder_.mergeFrom(value);
        }
        if (targetNodeDefid_ != null) {
          bitField0_ |= 0x00000002;
          onChanged();
        }
        return this;
      }
      /**
       * required .CMsgProtoDefID target_node_defid = 2 [(.valid_type) = DEF_TYPE_QUEST_MAP_NODE, (.display_name) = "Target Node", (.comment) = "Which node is required to have the above number of medals"];
       */
      public Builder clearTargetNodeDefid() {
        bitField0_ = (bitField0_ & ~0x00000002);
        targetNodeDefid_ = null;
        if (targetNodeDefidBuilder_ != null) {
          targetNodeDefidBuilder_.dispose();
          targetNodeDefidBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefID target_node_defid = 2 [(.valid_type) = DEF_TYPE_QUEST_MAP_NODE, (.display_name) = "Target Node", (.comment) = "Which node is required to have the above number of medals"];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder getTargetNodeDefidBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getTargetNodeDefidFieldBuilder().getBuilder();
      }
      /**
       * required .CMsgProtoDefID target_node_defid = 2 [(.valid_type) = DEF_TYPE_QUEST_MAP_NODE, (.display_name) = "Target Node", (.comment) = "Which node is required to have the above number of medals"];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder getTargetNodeDefidOrBuilder() {
        if (targetNodeDefidBuilder_ != null) {
          return targetNodeDefidBuilder_.getMessageOrBuilder();
        } else {
          return targetNodeDefid_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.getDefaultInstance() : targetNodeDefid_;
        }
      }
      /**
       * required .CMsgProtoDefID target_node_defid = 2 [(.valid_type) = DEF_TYPE_QUEST_MAP_NODE, (.display_name) = "Target Node", (.comment) = "Which node is required to have the above number of medals"];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder> 
          getTargetNodeDefidFieldBuilder() {
        if (targetNodeDefidBuilder_ == null) {
          targetNodeDefidBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefID.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefIDOrBuilder>(
                  getTargetNodeDefid(),
                  getParentForChildren(),
                  isClean());
          targetNodeDefid_ = null;
        }
        return targetNodeDefidBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgQuestMapNodeCondition_NodeState)
    }

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

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

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

  }

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

    /**
     * required .LogicalOperation operation = 1 [default = AND, (.display_name) = "Logic", (.comment) = "Logical operation"];
     * @return Whether the operation field is set.
     */
    boolean hasOperation();
    /**
     * required .LogicalOperation operation = 1 [default = AND, (.display_name) = "Logic", (.comment) = "Logical operation"];
     * @return The operation.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation getOperation();

    /**
     * repeated .CMsgQuestMapNodeCondition sub_conditions = 2 [(.display_name) = "Operands", (.comment) = "Definitions to use in the logical operation"];
     */
    java.util.List 
        getSubConditionsList();
    /**
     * repeated .CMsgQuestMapNodeCondition sub_conditions = 2 [(.display_name) = "Operands", (.comment) = "Definitions to use in the logical operation"];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition getSubConditions(int index);
    /**
     * repeated .CMsgQuestMapNodeCondition sub_conditions = 2 [(.display_name) = "Operands", (.comment) = "Definitions to use in the logical operation"];
     */
    int getSubConditionsCount();
    /**
     * repeated .CMsgQuestMapNodeCondition sub_conditions = 2 [(.display_name) = "Operands", (.comment) = "Definitions to use in the logical operation"];
     */
    java.util.List 
        getSubConditionsOrBuilderList();
    /**
     * repeated .CMsgQuestMapNodeCondition sub_conditions = 2 [(.display_name) = "Operands", (.comment) = "Definitions to use in the logical operation"];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeConditionOrBuilder getSubConditionsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code CMsgQuestMapNodeCondition_Logic}
   */
  public static final class CMsgQuestMapNodeCondition_Logic extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgQuestMapNodeCondition_Logic)
      CMsgQuestMapNodeCondition_LogicOrBuilder {
  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= */ "",
        CMsgQuestMapNodeCondition_Logic.class.getName());
    }
    // Use CMsgQuestMapNodeCondition_Logic.newBuilder() to construct.
    private CMsgQuestMapNodeCondition_Logic(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgQuestMapNodeCondition_Logic() {
      operation_ = 0;
      subConditions_ = java.util.Collections.emptyList();
    }

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

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

    private int bitField0_;
    public static final int OPERATION_FIELD_NUMBER = 1;
    private int operation_ = 0;
    /**
     * required .LogicalOperation operation = 1 [default = AND, (.display_name) = "Logic", (.comment) = "Logical operation"];
     * @return Whether the operation field is set.
     */
    @java.lang.Override public boolean hasOperation() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * required .LogicalOperation operation = 1 [default = AND, (.display_name) = "Logic", (.comment) = "Logical operation"];
     * @return The operation.
     */
    @java.lang.Override public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation getOperation() {
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation result = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation.forNumber(operation_);
      return result == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation.AND : result;
    }

    public static final int SUB_CONDITIONS_FIELD_NUMBER = 2;
    @SuppressWarnings("serial")
    private java.util.List subConditions_;
    /**
     * repeated .CMsgQuestMapNodeCondition sub_conditions = 2 [(.display_name) = "Operands", (.comment) = "Definitions to use in the logical operation"];
     */
    @java.lang.Override
    public java.util.List getSubConditionsList() {
      return subConditions_;
    }
    /**
     * repeated .CMsgQuestMapNodeCondition sub_conditions = 2 [(.display_name) = "Operands", (.comment) = "Definitions to use in the logical operation"];
     */
    @java.lang.Override
    public java.util.List 
        getSubConditionsOrBuilderList() {
      return subConditions_;
    }
    /**
     * repeated .CMsgQuestMapNodeCondition sub_conditions = 2 [(.display_name) = "Operands", (.comment) = "Definitions to use in the logical operation"];
     */
    @java.lang.Override
    public int getSubConditionsCount() {
      return subConditions_.size();
    }
    /**
     * repeated .CMsgQuestMapNodeCondition sub_conditions = 2 [(.display_name) = "Operands", (.comment) = "Definitions to use in the logical operation"];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition getSubConditions(int index) {
      return subConditions_.get(index);
    }
    /**
     * repeated .CMsgQuestMapNodeCondition sub_conditions = 2 [(.display_name) = "Operands", (.comment) = "Definitions to use in the logical operation"];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeConditionOrBuilder getSubConditionsOrBuilder(
        int index) {
      return subConditions_.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;

      if (!hasOperation()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getSubConditionsCount(); i++) {
        if (!getSubConditions(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeEnum(1, operation_);
      }
      for (int i = 0; i < subConditions_.size(); i++) {
        output.writeMessage(2, subConditions_.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
          .computeEnumSize(1, operation_);
      }
      for (int i = 0; i < subConditions_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, subConditions_.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.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic) obj;

      if (hasOperation() != other.hasOperation()) return false;
      if (hasOperation()) {
        if (operation_ != other.operation_) return false;
      }
      if (!getSubConditionsList()
          .equals(other.getSubConditionsList())) 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 (hasOperation()) {
        hash = (37 * hash) + OPERATION_FIELD_NUMBER;
        hash = (53 * hash) + operation_;
      }
      if (getSubConditionsCount() > 0) {
        hash = (37 * hash) + SUB_CONDITIONS_FIELD_NUMBER;
        hash = (53 * hash) + getSubConditionsList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic 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.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic 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.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic 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.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic 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.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic 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.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic 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.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic 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.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic 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 CMsgQuestMapNodeCondition_Logic}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgQuestMapNodeCondition_Logic)
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_LogicOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgQuestMapNodeCondition_Logic_descriptor;
      }

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

      // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic.newBuilder()
      private Builder() {

      }

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

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        operation_ = 0;
        if (subConditionsBuilder_ == null) {
          subConditions_ = java.util.Collections.emptyList();
        } else {
          subConditions_ = null;
          subConditionsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

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

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

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

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

      private void buildPartialRepeatedFields(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic result) {
        if (subConditionsBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0)) {
            subConditions_ = java.util.Collections.unmodifiableList(subConditions_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.subConditions_ = subConditions_;
        } else {
          result.subConditions_ = subConditionsBuilder_.build();
        }
      }

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.operation_ = operation_;
          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.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic.getDefaultInstance()) return this;
        if (other.hasOperation()) {
          setOperation(other.getOperation());
        }
        if (subConditionsBuilder_ == null) {
          if (!other.subConditions_.isEmpty()) {
            if (subConditions_.isEmpty()) {
              subConditions_ = other.subConditions_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureSubConditionsIsMutable();
              subConditions_.addAll(other.subConditions_);
            }
            onChanged();
          }
        } else {
          if (!other.subConditions_.isEmpty()) {
            if (subConditionsBuilder_.isEmpty()) {
              subConditionsBuilder_.dispose();
              subConditionsBuilder_ = null;
              subConditions_ = other.subConditions_;
              bitField0_ = (bitField0_ & ~0x00000002);
              subConditionsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getSubConditionsFieldBuilder() : null;
            } else {
              subConditionsBuilder_.addAllMessages(other.subConditions_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasOperation()) {
          return false;
        }
        for (int i = 0; i < getSubConditionsCount(); i++) {
          if (!getSubConditions(i).isInitialized()) {
            return false;
          }
        }
        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.TfProtoDefMessages.LogicalOperation tmpValue =
                    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation.forNumber(tmpRaw);
                if (tmpValue == null) {
                  mergeUnknownVarintField(1, tmpRaw);
                } else {
                  operation_ = tmpRaw;
                  bitField0_ |= 0x00000001;
                }
                break;
              } // case 8
              case 18: {
                in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition m =
                    input.readMessage(
                        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition.parser(),
                        extensionRegistry);
                if (subConditionsBuilder_ == null) {
                  ensureSubConditionsIsMutable();
                  subConditions_.add(m);
                } else {
                  subConditionsBuilder_.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 operation_ = 0;
      /**
       * required .LogicalOperation operation = 1 [default = AND, (.display_name) = "Logic", (.comment) = "Logical operation"];
       * @return Whether the operation field is set.
       */
      @java.lang.Override public boolean hasOperation() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * required .LogicalOperation operation = 1 [default = AND, (.display_name) = "Logic", (.comment) = "Logical operation"];
       * @return The operation.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation getOperation() {
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation result = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation.forNumber(operation_);
        return result == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation.AND : result;
      }
      /**
       * required .LogicalOperation operation = 1 [default = AND, (.display_name) = "Logic", (.comment) = "Logical operation"];
       * @param value The operation to set.
       * @return This builder for chaining.
       */
      public Builder setOperation(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.LogicalOperation value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000001;
        operation_ = value.getNumber();
        onChanged();
        return this;
      }
      /**
       * required .LogicalOperation operation = 1 [default = AND, (.display_name) = "Logic", (.comment) = "Logical operation"];
       * @return This builder for chaining.
       */
      public Builder clearOperation() {
        bitField0_ = (bitField0_ & ~0x00000001);
        operation_ = 0;
        onChanged();
        return this;
      }

      private java.util.List subConditions_ =
        java.util.Collections.emptyList();
      private void ensureSubConditionsIsMutable() {
        if (!((bitField0_ & 0x00000002) != 0)) {
          subConditions_ = new java.util.ArrayList(subConditions_);
          bitField0_ |= 0x00000002;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeConditionOrBuilder> subConditionsBuilder_;

      /**
       * repeated .CMsgQuestMapNodeCondition sub_conditions = 2 [(.display_name) = "Operands", (.comment) = "Definitions to use in the logical operation"];
       */
      public java.util.List getSubConditionsList() {
        if (subConditionsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(subConditions_);
        } else {
          return subConditionsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CMsgQuestMapNodeCondition sub_conditions = 2 [(.display_name) = "Operands", (.comment) = "Definitions to use in the logical operation"];
       */
      public int getSubConditionsCount() {
        if (subConditionsBuilder_ == null) {
          return subConditions_.size();
        } else {
          return subConditionsBuilder_.getCount();
        }
      }
      /**
       * repeated .CMsgQuestMapNodeCondition sub_conditions = 2 [(.display_name) = "Operands", (.comment) = "Definitions to use in the logical operation"];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition getSubConditions(int index) {
        if (subConditionsBuilder_ == null) {
          return subConditions_.get(index);
        } else {
          return subConditionsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CMsgQuestMapNodeCondition sub_conditions = 2 [(.display_name) = "Operands", (.comment) = "Definitions to use in the logical operation"];
       */
      public Builder setSubConditions(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition value) {
        if (subConditionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSubConditionsIsMutable();
          subConditions_.set(index, value);
          onChanged();
        } else {
          subConditionsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgQuestMapNodeCondition sub_conditions = 2 [(.display_name) = "Operands", (.comment) = "Definitions to use in the logical operation"];
       */
      public Builder setSubConditions(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition.Builder builderForValue) {
        if (subConditionsBuilder_ == null) {
          ensureSubConditionsIsMutable();
          subConditions_.set(index, builderForValue.build());
          onChanged();
        } else {
          subConditionsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgQuestMapNodeCondition sub_conditions = 2 [(.display_name) = "Operands", (.comment) = "Definitions to use in the logical operation"];
       */
      public Builder addSubConditions(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition value) {
        if (subConditionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSubConditionsIsMutable();
          subConditions_.add(value);
          onChanged();
        } else {
          subConditionsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CMsgQuestMapNodeCondition sub_conditions = 2 [(.display_name) = "Operands", (.comment) = "Definitions to use in the logical operation"];
       */
      public Builder addSubConditions(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition value) {
        if (subConditionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSubConditionsIsMutable();
          subConditions_.add(index, value);
          onChanged();
        } else {
          subConditionsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CMsgQuestMapNodeCondition sub_conditions = 2 [(.display_name) = "Operands", (.comment) = "Definitions to use in the logical operation"];
       */
      public Builder addSubConditions(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition.Builder builderForValue) {
        if (subConditionsBuilder_ == null) {
          ensureSubConditionsIsMutable();
          subConditions_.add(builderForValue.build());
          onChanged();
        } else {
          subConditionsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgQuestMapNodeCondition sub_conditions = 2 [(.display_name) = "Operands", (.comment) = "Definitions to use in the logical operation"];
       */
      public Builder addSubConditions(
          int index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition.Builder builderForValue) {
        if (subConditionsBuilder_ == null) {
          ensureSubConditionsIsMutable();
          subConditions_.add(index, builderForValue.build());
          onChanged();
        } else {
          subConditionsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CMsgQuestMapNodeCondition sub_conditions = 2 [(.display_name) = "Operands", (.comment) = "Definitions to use in the logical operation"];
       */
      public Builder addAllSubConditions(
          java.lang.Iterable values) {
        if (subConditionsBuilder_ == null) {
          ensureSubConditionsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, subConditions_);
          onChanged();
        } else {
          subConditionsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CMsgQuestMapNodeCondition sub_conditions = 2 [(.display_name) = "Operands", (.comment) = "Definitions to use in the logical operation"];
       */
      public Builder clearSubConditions() {
        if (subConditionsBuilder_ == null) {
          subConditions_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          subConditionsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CMsgQuestMapNodeCondition sub_conditions = 2 [(.display_name) = "Operands", (.comment) = "Definitions to use in the logical operation"];
       */
      public Builder removeSubConditions(int index) {
        if (subConditionsBuilder_ == null) {
          ensureSubConditionsIsMutable();
          subConditions_.remove(index);
          onChanged();
        } else {
          subConditionsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CMsgQuestMapNodeCondition sub_conditions = 2 [(.display_name) = "Operands", (.comment) = "Definitions to use in the logical operation"];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition.Builder getSubConditionsBuilder(
          int index) {
        return getSubConditionsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CMsgQuestMapNodeCondition sub_conditions = 2 [(.display_name) = "Operands", (.comment) = "Definitions to use in the logical operation"];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeConditionOrBuilder getSubConditionsOrBuilder(
          int index) {
        if (subConditionsBuilder_ == null) {
          return subConditions_.get(index);  } else {
          return subConditionsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CMsgQuestMapNodeCondition sub_conditions = 2 [(.display_name) = "Operands", (.comment) = "Definitions to use in the logical operation"];
       */
      public java.util.List 
           getSubConditionsOrBuilderList() {
        if (subConditionsBuilder_ != null) {
          return subConditionsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(subConditions_);
        }
      }
      /**
       * repeated .CMsgQuestMapNodeCondition sub_conditions = 2 [(.display_name) = "Operands", (.comment) = "Definitions to use in the logical operation"];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition.Builder addSubConditionsBuilder() {
        return getSubConditionsFieldBuilder().addBuilder(
            in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition.getDefaultInstance());
      }
      /**
       * repeated .CMsgQuestMapNodeCondition sub_conditions = 2 [(.display_name) = "Operands", (.comment) = "Definitions to use in the logical operation"];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition.Builder addSubConditionsBuilder(
          int index) {
        return getSubConditionsFieldBuilder().addBuilder(
            index, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition.getDefaultInstance());
      }
      /**
       * repeated .CMsgQuestMapNodeCondition sub_conditions = 2 [(.display_name) = "Operands", (.comment) = "Definitions to use in the logical operation"];
       */
      public java.util.List 
           getSubConditionsBuilderList() {
        return getSubConditionsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeConditionOrBuilder> 
          getSubConditionsFieldBuilder() {
        if (subConditionsBuilder_ == null) {
          subConditionsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeConditionOrBuilder>(
                  subConditions_,
                  ((bitField0_ & 0x00000002) != 0),
                  getParentForChildren(),
                  isClean());
          subConditions_ = null;
        }
        return subConditionsBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgQuestMapNodeCondition_Logic)
    }

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

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

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

  }

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

    /**
     * .CMsgQuestMapNodeCondition_NodeState node_state = 1 [(.display_name) = "Node State Condition", (.comment) = "Returns true if a specific node has a required number of medals"];
     * @return Whether the nodeState field is set.
     */
    boolean hasNodeState();
    /**
     * .CMsgQuestMapNodeCondition_NodeState node_state = 1 [(.display_name) = "Node State Condition", (.comment) = "Returns true if a specific node has a required number of medals"];
     * @return The nodeState.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState getNodeState();
    /**
     * .CMsgQuestMapNodeCondition_NodeState node_state = 1 [(.display_name) = "Node State Condition", (.comment) = "Returns true if a specific node has a required number of medals"];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeStateOrBuilder getNodeStateOrBuilder();

    /**
     * .CMsgQuestMapNodeCondition_Logic logical = 2 [(.display_name) = "Logical Condition", (.comment) = "Performs a specified logical operation to all sub conditions"];
     * @return Whether the logical field is set.
     */
    boolean hasLogical();
    /**
     * .CMsgQuestMapNodeCondition_Logic logical = 2 [(.display_name) = "Logical Condition", (.comment) = "Performs a specified logical operation to all sub conditions"];
     * @return The logical.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic getLogical();
    /**
     * .CMsgQuestMapNodeCondition_Logic logical = 2 [(.display_name) = "Logical Condition", (.comment) = "Performs a specified logical operation to all sub conditions"];
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_LogicOrBuilder getLogicalOrBuilder();

    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition.OperationCase getOperationCase();
  }
  /**
   * Protobuf type {@code CMsgQuestMapNodeCondition}
   */
  public static final class CMsgQuestMapNodeCondition extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgQuestMapNodeCondition)
      CMsgQuestMapNodeConditionOrBuilder {
  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= */ "",
        CMsgQuestMapNodeCondition.class.getName());
    }
    // Use CMsgQuestMapNodeCondition.newBuilder() to construct.
    private CMsgQuestMapNodeCondition(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgQuestMapNodeCondition() {
    }

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

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

    private int operationCase_ = 0;
    @SuppressWarnings("serial")
    private java.lang.Object operation_;
    public enum OperationCase
        implements com.google.protobuf.Internal.EnumLite,
            com.google.protobuf.AbstractMessage.InternalOneOfEnum {
      NODE_STATE(1),
      LOGICAL(2),
      OPERATION_NOT_SET(0);
      private final int value;
      private OperationCase(int value) {
        this.value = value;
      }
      /**
       * @param value The number of the enum to look for.
       * @return The enum associated with the given number.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static OperationCase valueOf(int value) {
        return forNumber(value);
      }

      public static OperationCase forNumber(int value) {
        switch (value) {
          case 1: return NODE_STATE;
          case 2: return LOGICAL;
          case 0: return OPERATION_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    public OperationCase
    getOperationCase() {
      return OperationCase.forNumber(
          operationCase_);
    }

    public static final int NODE_STATE_FIELD_NUMBER = 1;
    /**
     * .CMsgQuestMapNodeCondition_NodeState node_state = 1 [(.display_name) = "Node State Condition", (.comment) = "Returns true if a specific node has a required number of medals"];
     * @return Whether the nodeState field is set.
     */
    @java.lang.Override
    public boolean hasNodeState() {
      return operationCase_ == 1;
    }
    /**
     * .CMsgQuestMapNodeCondition_NodeState node_state = 1 [(.display_name) = "Node State Condition", (.comment) = "Returns true if a specific node has a required number of medals"];
     * @return The nodeState.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState getNodeState() {
      if (operationCase_ == 1) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState) operation_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState.getDefaultInstance();
    }
    /**
     * .CMsgQuestMapNodeCondition_NodeState node_state = 1 [(.display_name) = "Node State Condition", (.comment) = "Returns true if a specific node has a required number of medals"];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeStateOrBuilder getNodeStateOrBuilder() {
      if (operationCase_ == 1) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState) operation_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState.getDefaultInstance();
    }

    public static final int LOGICAL_FIELD_NUMBER = 2;
    /**
     * .CMsgQuestMapNodeCondition_Logic logical = 2 [(.display_name) = "Logical Condition", (.comment) = "Performs a specified logical operation to all sub conditions"];
     * @return Whether the logical field is set.
     */
    @java.lang.Override
    public boolean hasLogical() {
      return operationCase_ == 2;
    }
    /**
     * .CMsgQuestMapNodeCondition_Logic logical = 2 [(.display_name) = "Logical Condition", (.comment) = "Performs a specified logical operation to all sub conditions"];
     * @return The logical.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic getLogical() {
      if (operationCase_ == 2) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic) operation_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic.getDefaultInstance();
    }
    /**
     * .CMsgQuestMapNodeCondition_Logic logical = 2 [(.display_name) = "Logical Condition", (.comment) = "Performs a specified logical operation to all sub conditions"];
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_LogicOrBuilder getLogicalOrBuilder() {
      if (operationCase_ == 2) {
         return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic) operation_;
      }
      return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic.getDefaultInstance();
    }

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

      if (hasNodeState()) {
        if (!getNodeState().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasLogical()) {
        if (!getLogical().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (operationCase_ == 1) {
        output.writeMessage(1, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState) operation_);
      }
      if (operationCase_ == 2) {
        output.writeMessage(2, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic) operation_);
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (operationCase_ == 1) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState) operation_);
      }
      if (operationCase_ == 2) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic) operation_);
      }
      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.TfProtoDefMessages.CMsgQuestMapNodeCondition)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition) obj;

      if (!getOperationCase().equals(other.getOperationCase())) return false;
      switch (operationCase_) {
        case 1:
          if (!getNodeState()
              .equals(other.getNodeState())) return false;
          break;
        case 2:
          if (!getLogical()
              .equals(other.getLogical())) return false;
          break;
        case 0:
        default:
      }
      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();
      switch (operationCase_) {
        case 1:
          hash = (37 * hash) + NODE_STATE_FIELD_NUMBER;
          hash = (53 * hash) + getNodeState().hashCode();
          break;
        case 2:
          hash = (37 * hash) + LOGICAL_FIELD_NUMBER;
          hash = (53 * hash) + getLogical().hashCode();
          break;
        case 0:
        default:
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition 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.TfProtoDefMessages.CMsgQuestMapNodeCondition parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition 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.TfProtoDefMessages.CMsgQuestMapNodeCondition parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition 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.TfProtoDefMessages.CMsgQuestMapNodeCondition parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition 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.TfProtoDefMessages.CMsgQuestMapNodeCondition parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition 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.TfProtoDefMessages.CMsgQuestMapNodeCondition 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.TfProtoDefMessages.CMsgQuestMapNodeCondition 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.TfProtoDefMessages.CMsgQuestMapNodeCondition 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 CMsgQuestMapNodeCondition}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgQuestMapNodeCondition)
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeConditionOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgQuestMapNodeCondition_descriptor;
      }

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

      // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition.newBuilder()
      private Builder() {

      }

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

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        if (nodeStateBuilder_ != null) {
          nodeStateBuilder_.clear();
        }
        if (logicalBuilder_ != null) {
          logicalBuilder_.clear();
        }
        operationCase_ = 0;
        operation_ = null;
        return this;
      }

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

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

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

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

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition result) {
        int from_bitField0_ = bitField0_;
      }

      private void buildPartialOneofs(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition result) {
        result.operationCase_ = operationCase_;
        result.operation_ = this.operation_;
        if (operationCase_ == 1 &&
            nodeStateBuilder_ != null) {
          result.operation_ = nodeStateBuilder_.build();
        }
        if (operationCase_ == 2 &&
            logicalBuilder_ != null) {
          result.operation_ = logicalBuilder_.build();
        }
      }

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

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition.getDefaultInstance()) return this;
        switch (other.getOperationCase()) {
          case NODE_STATE: {
            mergeNodeState(other.getNodeState());
            break;
          }
          case LOGICAL: {
            mergeLogical(other.getLogical());
            break;
          }
          case OPERATION_NOT_SET: {
            break;
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (hasNodeState()) {
          if (!getNodeState().isInitialized()) {
            return false;
          }
        }
        if (hasLogical()) {
          if (!getLogical().isInitialized()) {
            return false;
          }
        }
        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: {
                input.readMessage(
                    getNodeStateFieldBuilder().getBuilder(),
                    extensionRegistry);
                operationCase_ = 1;
                break;
              } // case 10
              case 18: {
                input.readMessage(
                    getLogicalFieldBuilder().getBuilder(),
                    extensionRegistry);
                operationCase_ = 2;
                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 operationCase_ = 0;
      private java.lang.Object operation_;
      public OperationCase
          getOperationCase() {
        return OperationCase.forNumber(
            operationCase_);
      }

      public Builder clearOperation() {
        operationCase_ = 0;
        operation_ = null;
        onChanged();
        return this;
      }

      private int bitField0_;

      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeStateOrBuilder> nodeStateBuilder_;
      /**
       * .CMsgQuestMapNodeCondition_NodeState node_state = 1 [(.display_name) = "Node State Condition", (.comment) = "Returns true if a specific node has a required number of medals"];
       * @return Whether the nodeState field is set.
       */
      @java.lang.Override
      public boolean hasNodeState() {
        return operationCase_ == 1;
      }
      /**
       * .CMsgQuestMapNodeCondition_NodeState node_state = 1 [(.display_name) = "Node State Condition", (.comment) = "Returns true if a specific node has a required number of medals"];
       * @return The nodeState.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState getNodeState() {
        if (nodeStateBuilder_ == null) {
          if (operationCase_ == 1) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState) operation_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState.getDefaultInstance();
        } else {
          if (operationCase_ == 1) {
            return nodeStateBuilder_.getMessage();
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState.getDefaultInstance();
        }
      }
      /**
       * .CMsgQuestMapNodeCondition_NodeState node_state = 1 [(.display_name) = "Node State Condition", (.comment) = "Returns true if a specific node has a required number of medals"];
       */
      public Builder setNodeState(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState value) {
        if (nodeStateBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          operation_ = value;
          onChanged();
        } else {
          nodeStateBuilder_.setMessage(value);
        }
        operationCase_ = 1;
        return this;
      }
      /**
       * .CMsgQuestMapNodeCondition_NodeState node_state = 1 [(.display_name) = "Node State Condition", (.comment) = "Returns true if a specific node has a required number of medals"];
       */
      public Builder setNodeState(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState.Builder builderForValue) {
        if (nodeStateBuilder_ == null) {
          operation_ = builderForValue.build();
          onChanged();
        } else {
          nodeStateBuilder_.setMessage(builderForValue.build());
        }
        operationCase_ = 1;
        return this;
      }
      /**
       * .CMsgQuestMapNodeCondition_NodeState node_state = 1 [(.display_name) = "Node State Condition", (.comment) = "Returns true if a specific node has a required number of medals"];
       */
      public Builder mergeNodeState(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState value) {
        if (nodeStateBuilder_ == null) {
          if (operationCase_ == 1 &&
              operation_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState.getDefaultInstance()) {
            operation_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState.newBuilder((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState) operation_)
                .mergeFrom(value).buildPartial();
          } else {
            operation_ = value;
          }
          onChanged();
        } else {
          if (operationCase_ == 1) {
            nodeStateBuilder_.mergeFrom(value);
          } else {
            nodeStateBuilder_.setMessage(value);
          }
        }
        operationCase_ = 1;
        return this;
      }
      /**
       * .CMsgQuestMapNodeCondition_NodeState node_state = 1 [(.display_name) = "Node State Condition", (.comment) = "Returns true if a specific node has a required number of medals"];
       */
      public Builder clearNodeState() {
        if (nodeStateBuilder_ == null) {
          if (operationCase_ == 1) {
            operationCase_ = 0;
            operation_ = null;
            onChanged();
          }
        } else {
          if (operationCase_ == 1) {
            operationCase_ = 0;
            operation_ = null;
          }
          nodeStateBuilder_.clear();
        }
        return this;
      }
      /**
       * .CMsgQuestMapNodeCondition_NodeState node_state = 1 [(.display_name) = "Node State Condition", (.comment) = "Returns true if a specific node has a required number of medals"];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState.Builder getNodeStateBuilder() {
        return getNodeStateFieldBuilder().getBuilder();
      }
      /**
       * .CMsgQuestMapNodeCondition_NodeState node_state = 1 [(.display_name) = "Node State Condition", (.comment) = "Returns true if a specific node has a required number of medals"];
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeStateOrBuilder getNodeStateOrBuilder() {
        if ((operationCase_ == 1) && (nodeStateBuilder_ != null)) {
          return nodeStateBuilder_.getMessageOrBuilder();
        } else {
          if (operationCase_ == 1) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState) operation_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState.getDefaultInstance();
        }
      }
      /**
       * .CMsgQuestMapNodeCondition_NodeState node_state = 1 [(.display_name) = "Node State Condition", (.comment) = "Returns true if a specific node has a required number of medals"];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeStateOrBuilder> 
          getNodeStateFieldBuilder() {
        if (nodeStateBuilder_ == null) {
          if (!(operationCase_ == 1)) {
            operation_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState.getDefaultInstance();
          }
          nodeStateBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeStateOrBuilder>(
                  (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_NodeState) operation_,
                  getParentForChildren(),
                  isClean());
          operation_ = null;
        }
        operationCase_ = 1;
        onChanged();
        return nodeStateBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_LogicOrBuilder> logicalBuilder_;
      /**
       * .CMsgQuestMapNodeCondition_Logic logical = 2 [(.display_name) = "Logical Condition", (.comment) = "Performs a specified logical operation to all sub conditions"];
       * @return Whether the logical field is set.
       */
      @java.lang.Override
      public boolean hasLogical() {
        return operationCase_ == 2;
      }
      /**
       * .CMsgQuestMapNodeCondition_Logic logical = 2 [(.display_name) = "Logical Condition", (.comment) = "Performs a specified logical operation to all sub conditions"];
       * @return The logical.
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic getLogical() {
        if (logicalBuilder_ == null) {
          if (operationCase_ == 2) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic) operation_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic.getDefaultInstance();
        } else {
          if (operationCase_ == 2) {
            return logicalBuilder_.getMessage();
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic.getDefaultInstance();
        }
      }
      /**
       * .CMsgQuestMapNodeCondition_Logic logical = 2 [(.display_name) = "Logical Condition", (.comment) = "Performs a specified logical operation to all sub conditions"];
       */
      public Builder setLogical(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic value) {
        if (logicalBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          operation_ = value;
          onChanged();
        } else {
          logicalBuilder_.setMessage(value);
        }
        operationCase_ = 2;
        return this;
      }
      /**
       * .CMsgQuestMapNodeCondition_Logic logical = 2 [(.display_name) = "Logical Condition", (.comment) = "Performs a specified logical operation to all sub conditions"];
       */
      public Builder setLogical(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic.Builder builderForValue) {
        if (logicalBuilder_ == null) {
          operation_ = builderForValue.build();
          onChanged();
        } else {
          logicalBuilder_.setMessage(builderForValue.build());
        }
        operationCase_ = 2;
        return this;
      }
      /**
       * .CMsgQuestMapNodeCondition_Logic logical = 2 [(.display_name) = "Logical Condition", (.comment) = "Performs a specified logical operation to all sub conditions"];
       */
      public Builder mergeLogical(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic value) {
        if (logicalBuilder_ == null) {
          if (operationCase_ == 2 &&
              operation_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic.getDefaultInstance()) {
            operation_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic.newBuilder((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic) operation_)
                .mergeFrom(value).buildPartial();
          } else {
            operation_ = value;
          }
          onChanged();
        } else {
          if (operationCase_ == 2) {
            logicalBuilder_.mergeFrom(value);
          } else {
            logicalBuilder_.setMessage(value);
          }
        }
        operationCase_ = 2;
        return this;
      }
      /**
       * .CMsgQuestMapNodeCondition_Logic logical = 2 [(.display_name) = "Logical Condition", (.comment) = "Performs a specified logical operation to all sub conditions"];
       */
      public Builder clearLogical() {
        if (logicalBuilder_ == null) {
          if (operationCase_ == 2) {
            operationCase_ = 0;
            operation_ = null;
            onChanged();
          }
        } else {
          if (operationCase_ == 2) {
            operationCase_ = 0;
            operation_ = null;
          }
          logicalBuilder_.clear();
        }
        return this;
      }
      /**
       * .CMsgQuestMapNodeCondition_Logic logical = 2 [(.display_name) = "Logical Condition", (.comment) = "Performs a specified logical operation to all sub conditions"];
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic.Builder getLogicalBuilder() {
        return getLogicalFieldBuilder().getBuilder();
      }
      /**
       * .CMsgQuestMapNodeCondition_Logic logical = 2 [(.display_name) = "Logical Condition", (.comment) = "Performs a specified logical operation to all sub conditions"];
       */
      @java.lang.Override
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_LogicOrBuilder getLogicalOrBuilder() {
        if ((operationCase_ == 2) && (logicalBuilder_ != null)) {
          return logicalBuilder_.getMessageOrBuilder();
        } else {
          if (operationCase_ == 2) {
            return (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic) operation_;
          }
          return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic.getDefaultInstance();
        }
      }
      /**
       * .CMsgQuestMapNodeCondition_Logic logical = 2 [(.display_name) = "Logical Condition", (.comment) = "Performs a specified logical operation to all sub conditions"];
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_LogicOrBuilder> 
          getLogicalFieldBuilder() {
        if (logicalBuilder_ == null) {
          if (!(operationCase_ == 2)) {
            operation_ = in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic.getDefaultInstance();
          }
          logicalBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_LogicOrBuilder>(
                  (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgQuestMapNodeCondition_Logic) operation_,
                  getParentForChildren(),
                  isClean());
          operation_ = null;
        }
        operationCase_ = 2;
        onChanged();
        return logicalBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgQuestMapNodeCondition)
    }

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

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

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

  }

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

    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return Whether the header field is set.
     */
    boolean hasHeader();
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return The header.
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader();
    /**
     * required .CMsgProtoDefHeader header = 1;
     */
    in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder();
  }
  /**
   * Protobuf type {@code CMsgHeaderOnly}
   */
  public static final class CMsgHeaderOnly extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CMsgHeaderOnly)
      CMsgHeaderOnlyOrBuilder {
  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= */ "",
        CMsgHeaderOnly.class.getName());
    }
    // Use CMsgHeaderOnly.newBuilder() to construct.
    private CMsgHeaderOnly(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
    }
    private CMsgHeaderOnly() {
    }

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

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

    private int bitField0_;
    public static final int HEADER_FIELD_NUMBER = 1;
    private in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader header_;
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return Whether the header field is set.
     */
    @java.lang.Override
    public boolean hasHeader() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * required .CMsgProtoDefHeader header = 1;
     * @return The header.
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader() {
      return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
    }
    /**
     * required .CMsgProtoDefHeader header = 1;
     */
    @java.lang.Override
    public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder() {
      return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
    }

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

      if (!hasHeader()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getHeader().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getHeader());
      }
      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
          .computeMessageSize(1, getHeader());
      }
      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.TfProtoDefMessages.CMsgHeaderOnly)) {
        return super.equals(obj);
      }
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly other = (in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly) obj;

      if (hasHeader() != other.hasHeader()) return false;
      if (hasHeader()) {
        if (!getHeader()
            .equals(other.getHeader())) 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 (hasHeader()) {
        hash = (37 * hash) + HEADER_FIELD_NUMBER;
        hash = (53 * hash) + getHeader().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly 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.TfProtoDefMessages.CMsgHeaderOnly parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly 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.TfProtoDefMessages.CMsgHeaderOnly parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly 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.TfProtoDefMessages.CMsgHeaderOnly parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseWithIOException(PARSER, input);
    }
    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly 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.TfProtoDefMessages.CMsgHeaderOnly parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessage
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly 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.TfProtoDefMessages.CMsgHeaderOnly 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.TfProtoDefMessages.CMsgHeaderOnly 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.TfProtoDefMessages.CMsgHeaderOnly 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 CMsgHeaderOnly}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CMsgHeaderOnly)
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnlyOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.internal_static_CMsgHeaderOnly_descriptor;
      }

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

      // Construct using in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage
                .alwaysUseFieldBuilders) {
          getHeaderFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        header_ = null;
        if (headerBuilder_ != null) {
          headerBuilder_.dispose();
          headerBuilder_ = null;
        }
        return this;
      }

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

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

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

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

      private void buildPartial0(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.header_ = headerBuilder_ == null
              ? header_
              : headerBuilder_.build();
          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.TfProtoDefMessages.CMsgHeaderOnly) {
          return mergeFrom((in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly other) {
        if (other == in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgHeaderOnly.getDefaultInstance()) return this;
        if (other.hasHeader()) {
          mergeHeader(other.getHeader());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        if (!hasHeader()) {
          return false;
        }
        if (!getHeader().isInitialized()) {
          return false;
        }
        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: {
                input.readMessage(
                    getHeaderFieldBuilder().getBuilder(),
                    extensionRegistry);
                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 in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader header_;
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder> headerBuilder_;
      /**
       * required .CMsgProtoDefHeader header = 1;
       * @return Whether the header field is set.
       */
      public boolean hasHeader() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       * @return The header.
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader getHeader() {
        if (headerBuilder_ == null) {
          return header_ == null ? in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
        } else {
          return headerBuilder_.getMessage();
        }
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder setHeader(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader value) {
        if (headerBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          header_ = value;
        } else {
          headerBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder setHeader(
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder builderForValue) {
        if (headerBuilder_ == null) {
          header_ = builderForValue.build();
        } else {
          headerBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder mergeHeader(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader value) {
        if (headerBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
            header_ != null &&
            header_ != in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance()) {
            getHeaderBuilder().mergeFrom(value);
          } else {
            header_ = value;
          }
        } else {
          headerBuilder_.mergeFrom(value);
        }
        if (header_ != null) {
          bitField0_ |= 0x00000001;
          onChanged();
        }
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public Builder clearHeader() {
        bitField0_ = (bitField0_ & ~0x00000001);
        header_ = null;
        if (headerBuilder_ != null) {
          headerBuilder_.dispose();
          headerBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder getHeaderBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getHeaderFieldBuilder().getBuilder();
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      public in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder getHeaderOrBuilder() {
        if (headerBuilder_ != null) {
          return headerBuilder_.getMessageOrBuilder();
        } else {
          return header_ == null ?
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.getDefaultInstance() : header_;
        }
      }
      /**
       * required .CMsgProtoDefHeader header = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder> 
          getHeaderFieldBuilder() {
        if (headerBuilder_ == null) {
          headerBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeader.Builder, in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.CMsgProtoDefHeaderOrBuilder>(
                  getHeader(),
                  getParentForChildren(),
                  isClean());
          header_ = null;
        }
        return headerBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CMsgHeaderOnly)
    }

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

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

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

  }

  public static final int START_EXPANDED_FIELD_NUMBER = 80000;
  /**
   * extend .google.protobuf.MessageOptions { ... }
   */
  public static final
    com.google.protobuf.GeneratedMessage.GeneratedExtension<
      com.google.protobuf.DescriptorProtos.MessageOptions,
      java.lang.Boolean> startExpanded = com.google.protobuf.GeneratedMessage
          .newFileScopedGeneratedExtension(
        java.lang.Boolean.class,
        null);
  public static final int VALID_TYPE_FIELD_NUMBER = 70000;
  /**
   * extend .google.protobuf.FieldOptions { ... }
   */
  public static final
    com.google.protobuf.GeneratedMessage.GeneratedExtension<
      com.google.protobuf.DescriptorProtos.FieldOptions,
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes> validType = com.google.protobuf.GeneratedMessage
          .newFileScopedGeneratedExtension(
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.ProtoDefTypes.class,
        null);
  public static final int EDITABLE_FIELD_NUMBER = 70001;
  /**
   * extend .google.protobuf.FieldOptions { ... }
   */
  public static final
    com.google.protobuf.GeneratedMessage.GeneratedExtension<
      com.google.protobuf.DescriptorProtos.FieldOptions,
      java.lang.Boolean> editable = com.google.protobuf.GeneratedMessage
          .newFileScopedGeneratedExtension(
        java.lang.Boolean.class,
        null);
  public static final int LOCALIZED_FIELD_NUMBER = 70002;
  /**
   * extend .google.protobuf.FieldOptions { ... }
   */
  public static final
    com.google.protobuf.GeneratedMessage.GeneratedExtension<
      com.google.protobuf.DescriptorProtos.FieldOptions,
      java.lang.Boolean> localized = com.google.protobuf.GeneratedMessage
          .newFileScopedGeneratedExtension(
        java.lang.Boolean.class,
        null);
  public static final int DO_NOT_INHERIT_FIELD_NUMBER = 70003;
  /**
   * extend .google.protobuf.FieldOptions { ... }
   */
  public static final
    com.google.protobuf.GeneratedMessage.GeneratedExtension<
      com.google.protobuf.DescriptorProtos.FieldOptions,
      java.lang.Boolean> doNotInherit = com.google.protobuf.GeneratedMessage
          .newFileScopedGeneratedExtension(
        java.lang.Boolean.class,
        null);
  public static final int DISPLAY_NAME_FIELD_NUMBER = 70004;
  /**
   * extend .google.protobuf.FieldOptions { ... }
   */
  public static final
    com.google.protobuf.GeneratedMessage.GeneratedExtension<
      com.google.protobuf.DescriptorProtos.FieldOptions,
      java.lang.String> displayName = com.google.protobuf.GeneratedMessage
          .newFileScopedGeneratedExtension(
        java.lang.String.class,
        null);
  public static final int COMMENT_FIELD_NUMBER = 70005;
  /**
   * extend .google.protobuf.FieldOptions { ... }
   */
  public static final
    com.google.protobuf.GeneratedMessage.GeneratedExtension<
      com.google.protobuf.DescriptorProtos.FieldOptions,
      java.lang.String> comment = com.google.protobuf.GeneratedMessage
          .newFileScopedGeneratedExtension(
        java.lang.String.class,
        null);
  public static final int MAX_COUNT_FIELD_NUMBER = 70007;
  /**
   * extend .google.protobuf.FieldOptions { ... }
   */
  public static final
    com.google.protobuf.GeneratedMessage.GeneratedExtension<
      com.google.protobuf.DescriptorProtos.FieldOptions,
      java.lang.Integer> maxCount = com.google.protobuf.GeneratedMessage
          .newFileScopedGeneratedExtension(
        java.lang.Integer.class,
        null);
  public static final int ALLOW_ADD_FIELD_NUMBER = 70008;
  /**
   * extend .google.protobuf.FieldOptions { ... }
   */
  public static final
    com.google.protobuf.GeneratedMessage.GeneratedExtension<
      com.google.protobuf.DescriptorProtos.FieldOptions,
      java.lang.Boolean> allowAdd = com.google.protobuf.GeneratedMessage
          .newFileScopedGeneratedExtension(
        java.lang.Boolean.class,
        null);
  public static final int ALLOW_DELETE_FIELD_NUMBER = 70009;
  /**
   * extend .google.protobuf.FieldOptions { ... }
   */
  public static final
    com.google.protobuf.GeneratedMessage.GeneratedExtension<
      com.google.protobuf.DescriptorProtos.FieldOptions,
      java.lang.Boolean> allowDelete = com.google.protobuf.GeneratedMessage
          .newFileScopedGeneratedExtension(
        java.lang.Boolean.class,
        null);
  public static final int PANEL_CLASS_OVERRIDE_FIELD_NUMBER = 70010;
  /**
   * extend .google.protobuf.FieldOptions { ... }
   */
  public static final
    com.google.protobuf.GeneratedMessage.GeneratedExtension<
      com.google.protobuf.DescriptorProtos.FieldOptions,
      java.lang.String> panelClassOverride = com.google.protobuf.GeneratedMessage
          .newFileScopedGeneratedExtension(
        java.lang.String.class,
        null);
  public static final int MESSAGE_INHERHITANCE_KEY_FIELD_NAME_FIELD_NUMBER = 70011;
  /**
   * extend .google.protobuf.FieldOptions { ... }
   */
  public static final
    com.google.protobuf.GeneratedMessage.GeneratedExtension<
      com.google.protobuf.DescriptorProtos.FieldOptions,
      java.lang.String> messageInherhitanceKeyFieldName = com.google.protobuf.GeneratedMessage
          .newFileScopedGeneratedExtension(
        java.lang.String.class,
        null);
  public static final int INHERIT_REFERENCE_VARIABLES_FIELD_NUMBER = 70012;
  /**
   * extend .google.protobuf.FieldOptions { ... }
   */
  public static final
    com.google.protobuf.GeneratedMessage.GeneratedExtension<
      com.google.protobuf.DescriptorProtos.FieldOptions,
      java.lang.Boolean> inheritReferenceVariables = com.google.protobuf.GeneratedMessage
          .newFileScopedGeneratedExtension(
        java.lang.Boolean.class,
        null);
  public static final int SELF_INHERIT_ONLY_FIELD_NUMBER = 70013;
  /**
   * extend .google.protobuf.FieldOptions { ... }
   */
  public static final
    com.google.protobuf.GeneratedMessage.GeneratedExtension<
      com.google.protobuf.DescriptorProtos.FieldOptions,
      java.lang.Boolean> selfInheritOnly = com.google.protobuf.GeneratedMessage
          .newFileScopedGeneratedExtension(
        java.lang.Boolean.class,
        null);
  public static final int VAR_FIELD_TYPE_FIELD_NUMBER = 70014;
  /**
   * extend .google.protobuf.FieldOptions { ... }
   */
  public static final
    com.google.protobuf.GeneratedMessage.GeneratedExtension<
      com.google.protobuf.DescriptorProtos.FieldOptions,
      in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.EVarFieldType> varFieldType = com.google.protobuf.GeneratedMessage
          .newFileScopedGeneratedExtension(
        in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.EVarFieldType.class,
        null);
  public static final int MERGING_KEY_FIELD_FIELD_NUMBER = 70015;
  /**
   * extend .google.protobuf.FieldOptions { ... }
   */
  public static final
    com.google.protobuf.GeneratedMessage.GeneratedExtension<
      com.google.protobuf.DescriptorProtos.FieldOptions,
      java.lang.Boolean> mergingKeyField = com.google.protobuf.GeneratedMessage
          .newFileScopedGeneratedExtension(
        java.lang.Boolean.class,
        null);
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgFieldID_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgFieldID_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgFieldID_CMsgField_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgFieldID_CMsgField_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgUniversalFieldID_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgUniversalFieldID_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgVariableDefinition_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgVariableDefinition_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgProtoDefHeader_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgProtoDefHeader_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgValidTypes_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgValidTypes_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgProtoDefID_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgProtoDefID_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgQuestObjectiveDef_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgQuestObjectiveDef_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgQuestDef_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgQuestDef_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgQuestDef_MMCriteria_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgQuestDef_MMCriteria_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgQuestDef_ObjectiveInstance_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgQuestDef_ObjectiveInstance_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgQuestMapStoreItem_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgQuestMapStoreItem_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgQuestMapRegionDef_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgQuestMapRegionDef_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgQuestMapRegionDef_RegionLink_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgQuestMapRegionDef_RegionLink_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgVarField_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgVarField_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgQuestMapStarType_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgQuestMapStarType_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgQuestMapNodeDef_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgQuestMapNodeDef_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgPaintKit_Variables_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgPaintKit_Variables_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgPaintKit_Operation_TextureStage_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgPaintKit_Operation_TextureStage_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgPaintKit_Operation_CombineStage_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgPaintKit_Operation_CombineStage_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgPaintKit_Operation_SelectStage_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgPaintKit_Operation_SelectStage_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgPaintKit_Operation_Sticker_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgPaintKit_Operation_Sticker_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgPaintKit_Operation_StickerStage_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgPaintKit_Operation_StickerStage_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgPaintKit_OperationStage_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgPaintKit_OperationStage_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgPaintKit_OperationNode_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgPaintKit_OperationNode_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgPaintKit_Operation_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgPaintKit_Operation_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgPaintKit_ItemDefinition_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgPaintKit_ItemDefinition_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgPaintKit_ItemDefinition_Definition_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgPaintKit_ItemDefinition_Definition_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgPaintKit_Definition_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgPaintKit_Definition_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgPaintKit_Definition_Item_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgPaintKit_Definition_Item_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgPaintKit_Definition_Item_ItemData_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgPaintKit_Definition_Item_ItemData_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgQuestTheme_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgQuestTheme_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgQuestTheme_WeightedString_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgQuestTheme_WeightedString_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgQuestTheme_WeightedStringSet_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgQuestTheme_WeightedStringSet_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgQuestMapNodeCondition_NodeState_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgQuestMapNodeCondition_NodeState_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgQuestMapNodeCondition_Logic_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgQuestMapNodeCondition_Logic_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgQuestMapNodeCondition_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgQuestMapNodeCondition_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CMsgHeaderOnly_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CMsgHeaderOnly_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n?in/dragonbra/javasteam/protobufs/tf/tf" +
      "_proto_def_messages.proto\032 google/protob" +
      "uf/descriptor.proto\"o\n\013CMsgFieldID\022%\n\005fi" +
      "eld\030\001 \003(\0132\026.CMsgFieldID.CMsgField\0329\n\tCMs" +
      "gField\022\024\n\014field_number\030\001 \001(\r\022\026\n\016repeated" +
      "_index\030\002 \001(\r\"\241\001\n\024CMsgUniversalFieldID\022?\n" +
      "\013source_type\030\001 \001(\0162\027.EValueDefinitionSou" +
      "rce:\021REFERENCE_DEFINES\022(\n\017defining_obj_i" +
      "d\030\002 \001(\0132\017.CMsgProtoDefID\022\036\n\010field_id\030\003 \001" +
      "(\0132\014.CMsgFieldID\"R\n\026CMsgVariableDefiniti" +
      "on\022\022\n\004name\030\001 \001(\tB\004\370\227\"\001\022\025\n\007inherit\030\002 \001(\010:" +
      "\004true\022\r\n\005value\030\003 \001(\t\"\354\004\n\022CMsgProtoDefHea" +
      "der\0227\n\010defindex\030\001 \002(\rB%\210\227\"\000\242\227\"\010Defindex\252" +
      "\227\"\rAutogenerated\350\227\"\001\0228\n\004name\030\002 \001(\tB*\242\227\"\004" +
      "Name\252\227\"\032Name to show in the editor\350\227\"\001\022\225" +
      "\001\n\007prefabs\030\003 \003(\0132\017.CMsgProtoDefIDBs\242\227\"\006P" +
      "refab\252\227\"EInherit the values of these def" +
      "initions, in order from top to bottom.\322\227" +
      "\"\030CPrefabFieldEditingPanel\350\227\"\001\022s\n\004tags\030\004" +
      " \003(\tBe\242\227\"\004Tags\252\227\"YStrings used to descri" +
      "be this definition while searching.  ie." +
      " \'class\', \'shotgun\', \'easy\'\022u\n\013prefab_on" +
      "ly\030\005 \001(\010:\005falseBY\242\227\"\013Pure Prefab\252\227\"BIf t" +
      "rue, this is only a prefab and will not " +
      "be made into an object\350\227\"\001\022_\n\tvariables\030" +
      "\006 \003(\0132\027.CMsgVariableDefinitionB3\242\227\"\tVari" +
      "ables\252\227\"\032Variable value definitions\332\227\"\004n" +
      "ame\"/\n\016CMsgValidTypes\022\035\n\005types\030\001 \003(\0162\016.P" +
      "rotoDefTypes\"\211\006\n\016CMsgProtoDefID\022\020\n\010defin" +
      "dex\030\001 \001(\r\0225\n\004type\030\002 \001(\0162\016.ProtoDefTypes:" +
      "\027DEF_TYPE_QUEST_MAP_NODE\022@\n instance_def" +
      "_type_quest_map_node\030\003 \001(\0132\024.CMsgQuestMa" +
      "pNodeDefH\000\0228\n\035instance_def_type_quest_th" +
      "eme\030\005 \001(\0132\017.CMsgQuestThemeH\000\022D\n\"instance" +
      "_def_type_quest_map_region\030\006 \001(\0132\026.CMsgQ" +
      "uestMapRegionDefH\000\0220\n\027instance_def_type_" +
      "quest\030\007 \001(\0132\r.CMsgQuestDefH\000\022C\n!instance" +
      "_def_type_quest_objective\030\010 \001(\0132\026.CMsgQu" +
      "estObjectiveDefH\000\022G\n$instance_def_type_p" +
      "aintkit_variables\030\t \001(\0132\027.CMsgPaintKit_V" +
      "ariablesH\000\022G\n$instance_def_type_paintkit" +
      "_operation\030\n \001(\0132\027.CMsgPaintKit_Operatio" +
      "nH\000\022R\n*instance_def_type_paintkit_item_d" +
      "efinition\030\013 \001(\0132\034.CMsgPaintKit_ItemDefin" +
      "itionH\000\022I\n%instance_def_type_paintkit_de" +
      "finition\030\014 \001(\0132\030.CMsgPaintKit_Definition" +
      "H\000\0228\n\035instance_def_type_header_only\030\r \001(" +
      "\0132\017.CMsgHeaderOnlyH\000B\n\n\010instance\"\262,\n\025CMs" +
      "gQuestObjectiveDef\022#\n\006header\030\001 \002(\0132\023.CMs" +
      "gProtoDefHeader\022\033\n\rloc_desctoken\030\002 \001(\tB\004" +
      "\220\227\"\001\022\016\n\006points\030\003 \001(\r\022\033\n\023conditions_defin" +
      "dex\030\005 \001(\r\022e\n\003map\030\010 \003(\tBX\242\227\"\rMaps Modifie" +
      "r\252\227\"CIf set, the player must be on one o" +
      "f the listed maps to get credit.\022\234\001\n\tgam" +
      "e_mode\030\t \003(\0162$.CMsgQuestObjectiveDef.ETF" +
      "2GameModesBc\242\227\"\022Game Mode Modifier\252\227\"IIf" +
      " set, the player must be in one of the l" +
      "isted game modes to get credit.\022\220\001\n\004team" +
      "\030\n \001(\0162\037.CMsgQuestObjectiveDef.ETF2Team:" +
      "\013TF_TEAM_REDBT\242\227\"\rTeam Modifier\252\227\"?If se" +
      "t, the player must be on the specified t" +
      "eam to get credit.\022=\n\016condition_vars\030\013 \003" +
      "(\0132\r.CMsgVarFieldB\026\242\227\"\016Objective Vars\360\227\"" +
      "\t\022;\n\014classes_vars\030\014 \003(\0132\r.CMsgVarFieldB\026" +
      "\242\227\"\016Class Modifier\360\227\"\t\022M\n\nconditions\030\r \003" +
      "(\0162%.CMsgQuestObjectiveDef.ETF2Condition" +
      "sB\022\242\227\"\016Required Conds\022\212\001\n\017condition_logi" +
      "c\030\016 \001(\0162\021.LogicalOperation:\003ANDBY\242\227\"\017Con" +
      "dition Logic\252\227\"BWhat kind of logic to us" +
      "e when evaluating the player\'s condition" +
      "s.\022`\n\titem_name\030\017 \003(\tBM\242\227\"\026Required equi" +
      "pped item\252\227\"/Require that this item be e" +
      "quipped in any slot.\022{\n\nitem_logic\030\020 \001(\016" +
      "2\021.LogicalOperation:\003ANDBO\242\227\"\nItem logic" +
      "\252\227\"=What kind of logic to use when evalu" +
      "ating the player\'s items.\022V\n\njump_state\030" +
      "\021 \001(\rBB\242\227\"\nJump logic\252\227\"0What state of j" +
      "umping the player needs to be in.\"\275\004\n\rET" +
      "F2GameModes\022\030\n\024kGameCategory_Escort\020\000\022\025\n" +
      "\021kGameCategory_CTF\020\001\022\037\n\033kGameCategory_At" +
      "tackDefense\020\002\022\026\n\022kGameCategory_Koth\020\003\022\024\n" +
      "\020kGameCategory_CP\020\004\022\034\n\030kGameCategory_Esc" +
      "ortRace\020\005\022\032\n\026kGameCategory_EventMix\020\006\022\024\n" +
      "\020kGameCategory_SD\020\007\022\033\n\027kGameCategory_Qui" +
      "ckplay\020\010\022\032\n\026kGameCategory_Event247\020\t\022\027\n\023" +
      "kGameCategory_Arena\020\n\022\"\n\036kGameCategory_R" +
      "obotDestruction\020\013\022\031\n\025kGameCategory_Power" +
      "up\020\014\022\032\n\026kGameCategory_Featured\020\r\022\032\n\026kGam" +
      "eCategory_Passtime\020\016\022\"\n\036kGameCategory_Co" +
      "mmunity_Update\020\017\022\026\n\022kGameCategory_Misc\020\020" +
      "\022!\n\035kGameCategory_Competitive_6v6\020\021\022\027\n\023k" +
      "GameCategory_Other\020\022\022\033\n\027kGameCategory_Ha" +
      "lloween\020\023\"\222\036\n\016ETF2Conditions\022\022\n\016TF_COND_" +
      "AIMING\020\000\022\022\n\016TF_COND_ZOOMED\020\001\022\026\n\022TF_COND_" +
      "DISGUISING\020\002\022\025\n\021TF_COND_DISGUISED\020\003\022\025\n\021T" +
      "F_COND_STEALTHED\020\004\022\030\n\024TF_COND_INVULNERAB" +
      "LE\020\005\022\026\n\022TF_COND_TELEPORTED\020\006\022\024\n\020TF_COND_" +
      "TAUNTING\020\007\022#\n\037TF_COND_INVULNERABLE_WEARI" +
      "NGOFF\020\010\022\033\n\027TF_COND_STEALTHED_BLINK\020\t\022 \n\034" +
      "TF_COND_SELECTED_TO_TELEPORT\020\n\022\027\n\023TF_CON" +
      "D_CRITBOOSTED\020\013\022\032\n\026TF_COND_TMPDAMAGEBONU" +
      "S\020\014\022\027\n\023TF_COND_FEIGN_DEATH\020\r\022\021\n\rTF_COND_" +
      "PHASE\020\016\022\023\n\017TF_COND_STUNNED\020\017\022\027\n\023TF_COND_" +
      "OFFENSEBUFF\020\020\022\031\n\025TF_COND_SHIELD_CHARGE\020\021" +
      "\022\025\n\021TF_COND_DEMO_BUFF\020\022\022\027\n\023TF_COND_ENERG" +
      "Y_BUFF\020\023\022\026\n\022TF_COND_RADIUSHEAL\020\024\022\027\n\023TF_C" +
      "OND_HEALTH_BUFF\020\025\022\023\n\017TF_COND_BURNING\020\026\022\035" +
      "\n\031TF_COND_HEALTH_OVERHEALED\020\027\022\021\n\rTF_COND" +
      "_URINE\020\030\022\024\n\020TF_COND_BLEEDING\020\031\022\027\n\023TF_CON" +
      "D_DEFENSEBUFF\020\032\022\024\n\020TF_COND_MAD_MILK\020\033\022\024\n" +
      "\020TF_COND_MEGAHEAL\020\034\022\035\n\031TF_COND_REGENONDA" +
      "MAGEBUFF\020\035\022\032\n\026TF_COND_MARKEDFORDEATH\020\036\022\037" +
      "\n\033TF_COND_NOHEALINGDAMAGEBUFF\020\037\022\027\n\023TF_CO" +
      "ND_SPEED_BOOST\020 \022\037\n\033TF_COND_CRITBOOSTED_" +
      "PUMPKIN\020!\022!\n\035TF_COND_CRITBOOSTED_USER_BU" +
      "FF\020\"\022#\n\037TF_COND_CRITBOOSTED_DEMO_CHARGE\020" +
      "#\022\033\n\027TF_COND_SODAPOPPER_HYPE\020$\022#\n\037TF_CON" +
      "D_CRITBOOSTED_FIRST_BLOOD\020%\022\"\n\036TF_COND_C" +
      "RITBOOSTED_BONUS_TIME\020&\022#\n\037TF_COND_CRITB" +
      "OOSTED_CTF_CAPTURE\020\'\022\037\n\033TF_COND_CRITBOOS" +
      "TED_ON_KILL\020(\022$\n TF_COND_CANNOT_SWITCH_F" +
      "ROM_MELEE\020)\022%\n!TF_COND_DEFENSEBUFF_NO_CR" +
      "IT_BLOCK\020*\022\030\n\024TF_COND_REPROGRAMMED\020+\022!\n\035" +
      "TF_COND_CRITBOOSTED_RAGE_BUFF\020,\022\034\n\030TF_CO" +
      "ND_DEFENSEBUFF_HIGH\020-\022\"\n\036TF_COND_SNIPERC" +
      "HARGE_RAGE_BUFF\020.\022\037\n\033TF_COND_DISGUISE_WE" +
      "ARINGOFF\020/\022!\n\035TF_COND_MARKEDFORDEATH_SIL" +
      "ENT\0200\022\"\n\036TF_COND_DISGUISED_AS_DISPENSER\020" +
      "1\022\022\n\016TF_COND_SAPPED\0202\022,\n(TF_COND_INVULNE" +
      "RABLE_HIDE_UNLESS_DAMAGED\0203\022\"\n\036TF_COND_I" +
      "NVULNERABLE_USER_BUFF\0204\022\037\n\033TF_COND_HALLO" +
      "WEEN_BOMB_HEAD\0205\022\036\n\032TF_COND_HALLOWEEN_TH" +
      "RILLER\0206\022 \n\034TF_COND_RADIUSHEAL_ON_DAMAGE" +
      "\0207\022#\n\037TF_COND_CRITBOOSTED_CARD_EFFECT\0208\022" +
      "$\n TF_COND_INVULNERABLE_CARD_EFFECT\0209\022&\n" +
      "\"TF_COND_MEDIGUN_UBER_BULLET_RESIST\020:\022%\n" +
      "!TF_COND_MEDIGUN_UBER_BLAST_RESIST\020;\022$\n " +
      "TF_COND_MEDIGUN_UBER_FIRE_RESIST\020<\022\'\n#TF" +
      "_COND_MEDIGUN_SMALL_BULLET_RESIST\020=\022&\n\"T" +
      "F_COND_MEDIGUN_SMALL_BLAST_RESIST\020>\022%\n!T" +
      "F_COND_MEDIGUN_SMALL_FIRE_RESIST\020?\022\037\n\033TF" +
      "_COND_STEALTHED_USER_BUFF\020@\022\032\n\026TF_COND_M" +
      "EDIGUN_DEBUFF\020A\022&\n\"TF_COND_STEALTHED_USE" +
      "R_BUFF_FADING\020B\022\031\n\025TF_COND_BULLET_IMMUNE" +
      "\020C\022\030\n\024TF_COND_BLAST_IMMUNE\020D\022\027\n\023TF_COND_" +
      "FIRE_IMMUNE\020E\022\031\n\025TF_COND_PREVENT_DEATH\020F" +
      "\022\"\n\036TF_COND_MVM_BOT_STUN_RADIOWAVE\020G\022!\n\035" +
      "TF_COND_HALLOWEEN_SPEED_BOOST\020H\022 \n\034TF_CO" +
      "ND_HALLOWEEN_QUICK_HEAL\020I\022\033\n\027TF_COND_HAL" +
      "LOWEEN_GIANT\020J\022\032\n\026TF_COND_HALLOWEEN_TINY" +
      "\020K\022\035\n\031TF_COND_HALLOWEEN_IN_HELL\020L\022 \n\034TF_" +
      "COND_HALLOWEEN_GHOST_MODE\020M\022#\n\037TF_COND_M" +
      "INICRITBOOSTED_ON_KILL\020N\022\032\n\026TF_COND_OBSC" +
      "URED_SMOKE\020O\022\034\n\030TF_COND_PARACHUTE_ACTIVE" +
      "\020P\022\030\n\024TF_COND_BLASTJUMPING\020Q\022\032\n\026TF_COND_" +
      "HALLOWEEN_KART\020R\022\037\n\033TF_COND_HALLOWEEN_KA" +
      "RT_DASH\020S\022\030\n\024TF_COND_BALLOON_HEAD\020T\022\026\n\022T" +
      "F_COND_MELEE_ONLY\020U\022\032\n\026TF_COND_SWIMMING_" +
      "CURSE\020V\022\030\n\024TF_COND_FREEZE_INPUT\020W\022\037\n\033TF_" +
      "COND_HALLOWEEN_KART_CAGE\020X\022\026\n\022TF_COND_DO" +
      "NOTUSE_0\020Y\022\031\n\025TF_COND_RUNE_STRENGTH\020Z\022\026\n" +
      "\022TF_COND_RUNE_HASTE\020[\022\026\n\022TF_COND_RUNE_RE" +
      "GEN\020\\\022\027\n\023TF_COND_RUNE_RESIST\020]\022\030\n\024TF_CON" +
      "D_RUNE_VAMPIRE\020^\022\030\n\024TF_COND_RUNE_REFLECT" +
      "\020_\022\032\n\026TF_COND_RUNE_PRECISION\020`\022\030\n\024TF_CON" +
      "D_RUNE_AGILITY\020a\022\031\n\025TF_COND_GRAPPLINGHOO" +
      "K\020b\022\"\n\036TF_COND_GRAPPLINGHOOK_SAFEFALL\020c\022" +
      "!\n\035TF_COND_GRAPPLINGHOOK_LATCHED\020d\022\"\n\036TF" +
      "_COND_GRAPPLINGHOOK_BLEEDING\020e\022\034\n\030TF_CON" +
      "D_AFTERBURN_IMMUNE\020f\022\031\n\025TF_COND_RUNE_KNO" +
      "CKOUT\020g\022\032\n\026TF_COND_RUNE_IMBALANCE\020h\022!\n\035T" +
      "F_COND_CRITBOOSTED_RUNE_TEMP\020i\022!\n\035TF_CON" +
      "D_PASSTIME_INTERCEPTION\020j\022\037\n\033TF_COND_SWI" +
      "MMING_NO_EFFECTS\020k\022\025\n\021TF_COND_PURGATORY\020" +
      "l\022\025\n\021TF_COND_RUNE_KING\020m\022\027\n\023TF_COND_RUNE" +
      "_PLAGUE\020n\022\032\n\026TF_COND_RUNE_SUPERNOVA\020o\022\022\n" +
      "\016TF_COND_PLAGUE\020p\022\027\n\023TF_COND_KING_BUFFED" +
      "\020q\022\026\n\022TF_COND_TEAM_GLOWS\020r\022\034\n\030TF_COND_KN" +
      "OCKED_INTO_AIR\020s\022\036\n\032TF_COND_COMPETITIVE_" +
      "WINNER\020t\022\035\n\031TF_COND_COMPETITIVE_LOSER\020u\022" +
      "\032\n\026TF_COND_HEALING_DEBUFF\020v\022#\n\037TF_COND_P" +
      "ASSTIME_PENALTY_DEBUFF\020w\022\036\n\032TF_COND_PARA" +
      "CHUTE_DEPLOYED\020x\022!\n\035TF_COND_NO_COMBAT_SP" +
      "EED_BOOST\020y\022\033\n\027TF_COND_TRANQ_SPY_BOOST\020z" +
      "\022\030\n\024TF_COND_TRANQ_MARKED\020{\022\026\n\022TF_COND_RO" +
      "CKETPACK\020~\022 \n\034TF_COND_ROCKETPACK_PASSENG" +
      "ER\020\177\022\034\n\027TF_COND_STEALTHED_PHASE\020\200\001\022\032\n\025TF" +
      "_COND_CLIP_OVERLOAD\020\201\001\022\034\n\027TF_COND_SPY_CL" +
      "ASS_STEAL\020\202\001\022\020\n\013TF_COND_GAS\020\203\001\"-\n\010ETF2Te" +
      "am\022\017\n\013TF_TEAM_RED\020\002\022\020\n\014TF_TEAM_BLUE\020\003\"\314\007" +
      "\n\014CMsgQuestDef\022#\n\006header\030\001 \002(\0132\023.CMsgPro" +
      "toDefHeader\022\024\n\014max_points_0\030\002 \001(\r\022\024\n\014max" +
      "_points_1\030\003 \001(\r\022\024\n\014max_points_2\030\004 \001(\r\022\033\n" +
      "\rname_loctoken\030\005 \001(\tB\004\220\227\"\001\022\021\n\toperation\030" +
      "\007 \001(\t\022-\n\013mm_criteria\030\010 \001(\0132\030.CMsgQuestDe" +
      "f.MMCriteria\022T\n\nnode_image\030\014 \001(\tB@\242\227\"\nNo" +
      "de Image\252\227\".Filename of the image to sho" +
      "w on the node view\022B\n\nicon_image\030\r \001(\tB." +
      "\242\227\"\tNode Icon\252\227\"\035Which icon to show on t" +
      "he map\022$\n\005theme\030\016 \001(\0132\017.CMsgProtoDefIDB\004" +
      "\200\227\"\002\022F\n\014loaner_names\030\017 \003(\tB0\242\227\"\007Loaners\252" +
      "\227\"!Names of items to give as loaners\0223\n\n" +
      "objectives\030\020 \003(\0132\037.CMsgQuestDef.Objectiv" +
      "eInstance\022e\n\003map\030\021 \003(\tBX\242\227\"\rMaps Modifie" +
      "r\252\227\"CIf set, the player must be on one o" +
      "f the listed maps to get credit.\032I\n\nMMCr" +
      "iteria\022\022\n\ngroup_name\030\001 \001(\t\022\025\n\rcategory_n" +
      "ame\030\002 \001(\t\022\020\n\010map_name\030\003 \001(\t\032\206\002\n\021Objectiv" +
      "eInstance\022(\n\tobjective\030\001 \001(\0132\017.CMsgProto" +
      "DefIDB\004\200\227\"\005\0226\n\npoint_type\030\002 \001(\0162\r.EQuest" +
      "Points:\023QUEST_POINTS_NOVICE\022\216\001\n\013point_va" +
      "lue\030\003 \001(\rBy\242\227\"\017Points Override\252\227\"bOverri" +
      "de value for the point value of the obje" +
      "ctive.  If not set, uses the objective\'s" +
      " point value\"\200\003\n\025CMsgQuestMapStoreItem\022#" +
      "\n\006header\030\001 \002(\0132\023.CMsgProtoDefHeader\022\021\n\ti" +
      "tem_name\030\002 \001(\t\022a\n\024reward_lootlist_name\030\006" +
      " \001(\tBC\242\227\"\017Reward Lootlist\252\227\",The name of" +
      " the lootlist to roll as a reward\022\"\n\005pri" +
      "ce\030\003 \001(\0132\r.CMsgVarFieldB\004\360\227\"\006\022Y\n\016purchas" +
      "e_limit\030\004 \001(\rBA\242\227\"\016Purchase Limit\252\227\"+How" +
      " many times this reward can be purchased" +
      "\022M\n\nsort_group\030\005 \001(\rB9\242\227\"\nSort group\252\227\"\'" +
      "Sort by this group, then alhpabetically\"" +
      "\324\005\n\025CMsgQuestMapRegionDef\022#\n\006header\030\001 \002(" +
      "\0132\023.CMsgProtoDefHeader\022\022\n\004name\030\002 \001(\tB\004\220\227" +
      "\"\001\022\017\n\007resfile\030\003 \001(\t\0220\n\005links\030\004 \003(\0132!.CMs" +
      "gQuestMapRegionDef.RegionLink\022s\n\013return_" +
      "link\030\005 \001(\0132\017.CMsgProtoDefIDBM\200\227\"\003\242\227\"\013Ret" +
      "urn Link\252\227\"6Which link we go to when rig" +
      "ht-clicking in this region\022o\n\nradio_freq" +
      "\030\006 \001(\002B[\242\227\"\013Radio Freq.\252\227\"HWhere the rad" +
      "io tuner goes on the CYOA PDA when this " +
      "region is selection\022\215\001\n\nzoom_scale\030\007 \001(\002" +
      "By\242\227\"\nZoom Scale\252\227\"gHow zoomed in this p" +
      "anel should be.  Affects the scale of th" +
      "e map grid lines and node link dashed li" +
      "nes\022k\n\tstar_type\030\010 \001(\0132\017.CMsgProtoDefIDB" +
      "G\200\227\"\014\242\227\"\tStar Type\252\227\"2What stars (if any" +
      ") the nodes within use to unlock\032\\\n\nRegi" +
      "onLink\0222\n\023target_region_defid\030\001 \002(\0132\017.CM" +
      "sgProtoDefIDB\004\200\227\"\003\022\014\n\004xpos\030\002 \001(\r\022\014\n\004ypos" +
      "\030\003 \001(\r\"\274\001\n\014CMsgVarField\022\026\n\010variable\030\001 \001(" +
      "\tB\004\370\227\"\001\022\017\n\005float\030\002 \001(\002H\000\022\020\n\006double\030\003 \001(\001" +
      "H\000\022\020\n\006uint32\030\004 \001(\rH\000\022\020\n\006uint64\030\005 \001(\004H\000\022\020" +
      "\n\006sint32\030\006 \001(\021H\000\022\020\n\006sint64\030\007 \001(\022H\000\022\016\n\004bo" +
      "ol\030\010 \001(\010H\000\022\020\n\006string\030\t \001(\tH\000B\007\n\005value\"\\\n" +
      "\024CMsgQuestMapStarType\022#\n\006header\030\001 \002(\0132\023." +
      "CMsgProtoDefHeader\022\037\n\004name\030\002 \001(\tB\021\220\227\"\001\242\227" +
      "\"\tType Name\"\225\t\n\023CMsgQuestMapNodeDef\022#\n\006h" +
      "eader\030\001 \002(\0132\023.CMsgProtoDefHeader\022A\n\rname" +
      "_loctoken\030\004 \001(\tB*\220\227\"\001\242\227\"\tNode Name\252\227\"\025Th" +
      "e name of this node\022;\n\005x_pos\030\006 \001(\002B,\242\227\"\t" +
      "Map X Pos\252\227\"\033X position on the quest map" +
      "\022;\n\005y_pos\030\007 \001(\002B,\242\227\"\tMap Y Pos\252\227\"\033Y posi" +
      "tion on the quest map\022t\n\tcondition\030\t \001(\013" +
      "2\032.CMsgQuestMapNodeConditionBE\242\227\"\nCondit" +
      "ions\252\227\"3Logic to unlock this node. Can b" +
      "e nested with logic\022g\n\rowning_region\030\n \001" +
      "(\0132\017.CMsgProtoDefIDB?\200\227\"\003\242\227\"\006Region\252\227\"-W" +
      "hich region in the map this node shows u" +
      "p in\022d\n\rquest_options\030\013 \003(\0132\017.CMsgProtoD" +
      "efIDB<\200\227\"\004\242\227\"\016Offered Quests\252\227\"\036Which qu" +
      "ests this node offers.\270\227\"\003\022`\n\024associated" +
      "_operation\030\020 \001(\tBB\242\227\"\024Associated Operati" +
      "on\252\227\"&Operation this node is associated " +
      "with\022T\n\020reward_item_name\030\022 \001(\tB:\242\227\"\013Rewa" +
      "rd Item\252\227\"\'The name of an item to give a" +
      "s a reward\022a\n\024reward_lootlist_name\030\026 \001(\t" +
      "BC\242\227\"\017Reward Lootlist\252\227\",The name of the" +
      " lootlist to roll as a reward\022\207\001\n\013cash_r" +
      "eward\030\023 \001(\0162\020.ENodeCashReward:\020CASH_REWA" +
      "RD_NONEBN\242\227\"\013Cash Reward\252\227\";How much cas" +
      "h to give when completing the primary ob" +
      "jective\022Z\n\tstar_type\030\024 \001(\0132\017.CMsgProtoDe" +
      "fIDB6\200\227\"\014\242\227\"\tStar Type\252\227\"!Which type of " +
      "star this node uses\022V\n\017stars_to_unlock\030\025" +
      " \001(\r:\0011B:\242\227\"\017Stars to Unlock\252\227\"#Numbers " +
      "of stars it costs to unlock\"=\n\026CMsgPaint" +
      "Kit_Variables\022#\n\006header\030\001 \002(\0132\023.CMsgProt" +
      "oDefHeader\"\216\004\n#CMsgPaintKit_Operation_Te" +
      "xtureStage\022$\n\007texture\030\001 \001(\0132\r.CMsgVarFie" +
      "ldB\004\360\227\"\t\022(\n\013texture_red\030\002 \001(\0132\r.CMsgVarF" +
      "ieldB\004\360\227\"\t\022)\n\014texture_blue\030\003 \001(\0132\r.CMsgV" +
      "arFieldB\004\360\227\"\t\022)\n\014adjust_black\030\004 \001(\0132\r.CM" +
      "sgVarFieldB\004\360\227\"\t\022*\n\radjust_offset\030\005 \001(\0132" +
      "\r.CMsgVarFieldB\004\360\227\"\t\022)\n\014adjust_gamma\030\006 \001" +
      "(\0132\r.CMsgVarFieldB\004\360\227\"\t\022%\n\010rotation\030\007 \001(" +
      "\0132\r.CMsgVarFieldB\004\360\227\"\t\022(\n\013translate_u\030\010 " +
      "\001(\0132\r.CMsgVarFieldB\004\360\227\"\t\022(\n\013translate_v\030" +
      "\t \001(\0132\r.CMsgVarFieldB\004\360\227\"\t\022%\n\010scale_uv\030\n" +
      " \001(\0132\r.CMsgVarFieldB\004\360\227\"\t\022#\n\006flip_u\030\013 \001(" +
      "\0132\r.CMsgVarFieldB\004\360\227\"\t\022#\n\006flip_v\030\014 \001(\0132\r" +
      ".CMsgVarFieldB\004\360\227\"\t\"\310\003\n#CMsgPaintKit_Ope" +
      "ration_CombineStage\022)\n\014adjust_black\030\001 \001(" +
      "\0132\r.CMsgVarFieldB\004\360\227\"\t\022*\n\radjust_offset\030" +
      "\002 \001(\0132\r.CMsgVarFieldB\004\360\227\"\t\022)\n\014adjust_gam" +
      "ma\030\003 \001(\0132\r.CMsgVarFieldB\004\360\227\"\t\022%\n\010rotatio" +
      "n\030\004 \001(\0132\r.CMsgVarFieldB\004\360\227\"\t\022(\n\013translat" +
      "e_u\030\005 \001(\0132\r.CMsgVarFieldB\004\360\227\"\t\022(\n\013transl" +
      "ate_v\030\006 \001(\0132\r.CMsgVarFieldB\004\360\227\"\t\022%\n\010scal" +
      "e_uv\030\007 \001(\0132\r.CMsgVarFieldB\004\360\227\"\t\022#\n\006flip_" +
      "u\030\010 \001(\0132\r.CMsgVarFieldB\004\360\227\"\t\022#\n\006flip_v\030\t" +
      " \001(\0132\r.CMsgVarFieldB\004\360\227\"\t\0223\n\016operation_n" +
      "ode\030\013 \003(\0132\033.CMsgPaintKit_OperationNode\"r" +
      "\n\"CMsgPaintKit_Operation_SelectStage\022#\n\006" +
      "groups\030\001 \001(\0132\r.CMsgVarFieldB\004\360\227\"\t\022\'\n\006sel" +
      "ect\030\002 \003(\0132\r.CMsgVarFieldB\010\270\227\"\020\360\227\"\t\"\346\002\n\036C" +
      "MsgPaintKit_Operation_Sticker\022W\n\004base\030\001 " +
      "\001(\0132\r.CMsgVarFieldB:\252\227\"2Name of the base" +
      " file for the sticker (the albedo)\360\227\"\t\022S" +
      "\n\006weight\030\002 \001(\0132\r.CMsgVarFieldB4\252\227\",Rando" +
      "m likelihood this one is to be selected\360" +
      "\227\"\t\022\225\001\n\004spec\030\003 \001(\0132\r.CMsgVarFieldBx\252\227\"pN" +
      "ame of the specular file for the sticker" +
      ", or if blank we will assume it is baseF" +
      "ilename + _spec + baseExtension\360\227\"\t\"\200\003\n#" +
      "CMsgPaintKit_Operation_StickerStage\0220\n\007s" +
      "ticker\030\001 \003(\0132\037.CMsgPaintKit_Operation_St" +
      "icker\022$\n\007dest_tl\030\002 \001(\0132\r.CMsgVarFieldB\004\360" +
      "\227\"\t\022$\n\007dest_tr\030\003 \001(\0132\r.CMsgVarFieldB\004\360\227\"" +
      "\t\022$\n\007dest_bl\030\004 \001(\0132\r.CMsgVarFieldB\004\360\227\"\t\022" +
      ")\n\014adjust_black\030\005 \001(\0132\r.CMsgVarFieldB\004\360\227" +
      "\"\t\022*\n\radjust_offset\030\006 \001(\0132\r.CMsgVarField" +
      "B\004\360\227\"\t\022)\n\014adjust_gamma\030\007 \001(\0132\r.CMsgVarFi" +
      "eldB\004\360\227\"\t\0223\n\016operation_node\030\t \003(\0132\033.CMsg" +
      "PaintKit_OperationNode\"\231\003\n\033CMsgPaintKit_" +
      "OperationStage\022>\n\016texture_lookup\030\001 \001(\0132$" +
      ".CMsgPaintKit_Operation_TextureStageH\000\022;" +
      "\n\013combine_add\030\002 \001(\0132$.CMsgPaintKit_Opera" +
      "tion_CombineStageH\000\022<\n\014combine_lerp\030\003 \001(" +
      "\0132$.CMsgPaintKit_Operation_CombineStageH" +
      "\000\022@\n\020combine_multiply\030\004 \001(\0132$.CMsgPaintK" +
      "it_Operation_CombineStageH\000\0225\n\006select\030\005 " +
      "\001(\0132#.CMsgPaintKit_Operation_SelectStage" +
      "H\000\022=\n\rapply_sticker\030\006 \001(\0132$.CMsgPaintKit" +
      "_Operation_StickerStageH\000B\007\n\005stage\"\214\001\n\032C" +
      "MsgPaintKit_OperationNode\022-\n\005stage\030\001 \001(\013" +
      "2\034.CMsgPaintKit_OperationStageH\000\0227\n\022oper" +
      "ation_template\030\002 \001(\0132\017.CMsgProtoDefIDB\010\200" +
      "\227\"\007\340\227\"\001H\000B\006\n\004node\"r\n\026CMsgPaintKit_Operat" +
      "ion\022#\n\006header\030\001 \002(\0132\023.CMsgProtoDefHeader" +
      "\0223\n\016operation_node\030\002 \003(\0132\033.CMsgPaintKit_" +
      "OperationNode\"\312\002\n\033CMsgPaintKit_ItemDefin" +
      "ition\022#\n\006header\030\001 \002(\0132\023.CMsgProtoDefHead" +
      "er\022\035\n\025item_definition_index\030\002 \002(\r\0224\n\021var" +
      "iable_template\030\003 \001(\0132\017.CMsgProtoDefIDB\010\200" +
      "\227\"\006\340\227\"\001\022A\n\ndefinition\030\004 \003(\0132\'.CMsgPaintK" +
      "it_ItemDefinition.DefinitionB\004\270\227\"\005\032n\n\nDe" +
      "finition\0221\n\022operation_template\030\001 \001(\0132\017.C" +
      "MsgProtoDefIDB\004\200\227\"\007\022-\n\010variable\030\002 \003(\0132\r." +
      "CMsgVarFieldB\014\300\227\"\000\310\227\"\000\360\227\"\t\"\374\026\n\027CMsgPaint" +
      "Kit_Definition\022#\n\006header\030\001 \002(\0132\023.CMsgPro" +
      "toDefHeader\022\033\n\rloc_desctoken\030\002 \001(\tB\004\220\227\"\001" +
      "\022\263\001\n\022operation_template\030\003 \001(\0132\017.CMsgProt" +
      "oDefIDB\205\001\200\227\"\007\252\227\"yoperation template whic" +
      "h all items in the list will use unless " +
      "there\'s operation_template specified in " +
      "an item_definition\340\227\"\001\022\031\n\021has_team_textu" +
      "res\030\004 \001(\010\022+\n\004item\030\005 \003(\0132\035.CMsgPaintKit_D" +
      "efinition.Item\0224\n\rpaintkit_tool\030\006 \001(\0132\035." +
      "CMsgPaintKit_Definition.Item\0223\n\014flamethr" +
      "ower\030\007 \001(\0132\035.CMsgPaintKit_Definition.Ite" +
      "m\0226\n\017grenadelauncher\030\010 \001(\0132\035.CMsgPaintKi" +
      "t_Definition.Item\022,\n\005knife\030\t \001(\0132\035.CMsgP" +
      "aintKit_Definition.Item\022.\n\007medigun\030\n \001(\013" +
      "2\035.CMsgPaintKit_Definition.Item\022.\n\007minig" +
      "un\030\013 \001(\0132\035.CMsgPaintKit_Definition.Item\022" +
      "-\n\006pistol\030\014 \001(\0132\035.CMsgPaintKit_Definitio" +
      "n.Item\022/\n\010revolver\030\r \001(\0132\035.CMsgPaintKit_" +
      "Definition.Item\0225\n\016rocketlauncher\030\016 \001(\0132" +
      "\035.CMsgPaintKit_Definition.Item\0221\n\nscatte" +
      "rgun\030\017 \001(\0132\035.CMsgPaintKit_Definition.Ite" +
      "m\022.\n\007shotgun\030\020 \001(\0132\035.CMsgPaintKit_Defini" +
      "tion.Item\022*\n\003smg\030\021 \001(\0132\035.CMsgPaintKit_De" +
      "finition.Item\0222\n\013sniperrifle\030\022 \001(\0132\035.CMs" +
      "gPaintKit_Definition.Item\022:\n\023stickybomb_" +
      "launcher\030\023 \001(\0132\035.CMsgPaintKit_Definition" +
      ".Item\022.\n\007ubersaw\030\024 \001(\0132\035.CMsgPaintKit_De" +
      "finition.Item\022-\n\006wrench\030\025 \001(\0132\035.CMsgPain" +
      "tKit_Definition.Item\0220\n\tamputator\030\026 \001(\0132" +
      "\035.CMsgPaintKit_Definition.Item\0224\n\ratom_l" +
      "auncher\030\027 \001(\0132\035.CMsgPaintKit_Definition." +
      "Item\0225\n\016back_scratcher\030\030 \001(\0132\035.CMsgPaint" +
      "Kit_Definition.Item\0220\n\tbattleaxe\030\031 \001(\0132\035" +
      ".CMsgPaintKit_Definition.Item\0224\n\rbazaar_" +
      "sniper\030\032 \001(\0132\035.CMsgPaintKit_Definition.I" +
      "tem\022/\n\010blackbox\030\033 \001(\0132\035.CMsgPaintKit_Def" +
      "inition.Item\0225\n\016claidheamohmor\030\034 \001(\0132\035.C" +
      "MsgPaintKit_Definition.Item\0229\n\022crusaders" +
      "_crossbow\030\035 \001(\0132\035.CMsgPaintKit_Definitio" +
      "n.Item\0220\n\tdegreaser\030\036 \001(\0132\035.CMsgPaintKit" +
      "_Definition.Item\0222\n\013demo_cannon\030\037 \001(\0132\035." +
      "CMsgPaintKit_Definition.Item\0228\n\021demo_sul" +
      "tan_sword\030  \001(\0132\035.CMsgPaintKit_Definitio" +
      "n.Item\0220\n\tdetonator\030! \001(\0132\035.CMsgPaintKit" +
      "_Definition.Item\0222\n\013gatling_gun\030\" \001(\0132\035." +
      "CMsgPaintKit_Definition.Item\0223\n\014holymack" +
      "erel\030# \001(\0132\035.CMsgPaintKit_Definition.Ite" +
      "m\022*\n\003jag\030$ \001(\0132\035.CMsgPaintKit_Definition",
      ".Item\0220\n\tlochnload\030% \001(\0132\035.CMsgPaintKit_" +
      "Definition.Item\0220\n\tpowerjack\030& \001(\0132\035.CMs" +
      "gPaintKit_Definition.Item\022/\n\010quadball\030\' " +
      "\001(\0132\035.CMsgPaintKit_Definition.Item\0226\n\017re" +
      "serve_shooter\030( \001(\0132\035.CMsgPaintKit_Defin" +
      "ition.Item\0222\n\013riding_crop\030) \001(\0132\035.CMsgPa" +
      "intKit_Definition.Item\0223\n\014russian_riot\030*" +
      " \001(\0132\035.CMsgPaintKit_Definition.Item\022/\n\010s" +
      "cimitar\030+ \001(\0132\035.CMsgPaintKit_Definition." +
      "Item\0222\n\013scorch_shot\030, \001(\0132\035.CMsgPaintKit" +
      "_Definition.Item\0220\n\tshortstop\030- \001(\0132\035.CM" +
      "sgPaintKit_Definition.Item\0222\n\013soda_poppe" +
      "r\030. \001(\0132\035.CMsgPaintKit_Definition.Item\0223" +
      "\n\014tele_shotgun\030/ \001(\0132\035.CMsgPaintKit_Defi" +
      "nition.Item\022/\n\010tomislav\0300 \001(\0132\035.CMsgPain" +
      "tKit_Definition.Item\0220\n\ttrenchgun\0301 \001(\0132" +
      "\035.CMsgPaintKit_Definition.Item\0224\n\rwinger" +
      "_pistol\0302 \001(\0132\035.CMsgPaintKit_Definition." +
      "Item\032\232\002\n\004Item\022^\n\030item_definition_templat" +
      "e\030\001 \002(\0132\017.CMsgProtoDefIDB+\200\227\"\010\322\227\"#CPaint" +
      "KitDefIdFieldProtoEditorField\0224\n\004data\030\005 " +
      "\001(\0132&.CMsgPaintKit_Definition.Item.ItemD" +
      "ata\032v\n\010ItemData\022 \n\022can_apply_paintkit\030\002 " +
      "\001(\010:\004true\022\031\n\021material_override\030\003 \001(\t\022-\n\010" +
      "variable\030\004 \003(\0132\r.CMsgVarFieldB\014\300\227\"\000\310\227\"\000\360" +
      "\227\"\t:\004\200\210\'\000\"\376\003\n\016CMsgQuestTheme\022#\n\006header\030\001" +
      " \002(\0132\023.CMsgProtoDefHeader\022\030\n\020notificatio" +
      "n_res\030\002 \001(\t\022\026\n\016quest_item_res\030\003 \001(\t\022\033\n\023i" +
      "n_game_tracker_res\030\004 \001(\t\0226\n\013give_sounds\030" +
      "\005 \003(\0132!.CMsgQuestTheme.WeightedStringSet" +
      "\022:\n\017complete_sounds\030\006 \003(\0132!.CMsgQuestThe" +
      "me.WeightedStringSet\022@\n\025fully_complete_s" +
      "ounds\030\007 \003(\0132!.CMsgQuestTheme.WeightedStr" +
      "ingSet\022\024\n\014reward_sound\030\010 \001(\t\022\025\n\rdiscard_" +
      "sound\030\t \001(\t\022\024\n\014reveal_sound\030\n \001(\t\0320\n\016Wei" +
      "ghtedString\022\016\n\006string\030\001 \001(\t\022\016\n\006weight\030\002 " +
      "\001(\r\032M\n\021WeightedStringSet\0228\n\020weighted_str" +
      "ings\030\001 \003(\0132\036.CMsgQuestTheme.WeightedStri" +
      "ng\"\246\002\n#CMsgQuestMapNodeCondition_NodeSta" +
      "te\022\200\001\n\031bonus_objectives_required\030\001 \001(\r:\001" +
      "0BZ\242\227\"\016Bonus Required\252\227\"DNumber of bonus" +
      " objectives required, on top of the prim" +
      "ary objective\022|\n\021target_node_defid\030\002 \002(\013" +
      "2\017.CMsgProtoDefIDBP\200\227\"\000\242\227\"\013Target Node\252\227" +
      "\"9Which node is required to have the abo" +
      "ve number of medals\"\335\001\n\037CMsgQuestMapNode" +
      "Condition_Logic\022I\n\toperation\030\001 \002(\0162\021.Log" +
      "icalOperation:\003ANDB\036\242\227\"\005Logic\252\227\"\021Logical" +
      " operation\022o\n\016sub_conditions\030\002 \003(\0132\032.CMs" +
      "gQuestMapNodeConditionB;\242\227\"\010Operands\252\227\"+" +
      "Definitions to use in the logical operat" +
      "ion\"\317\002\n\031CMsgQuestMapNodeCondition\022\227\001\n\nno" +
      "de_state\030\001 \001(\0132$.CMsgQuestMapNodeConditi" +
      "on_NodeStateB[\242\227\"\024Node State Condition\252\227" +
      "\"?Returns true if a specific node has a " +
      "required number of medalsH\000\022\212\001\n\007logical\030" +
      "\002 \001(\0132 .CMsgQuestMapNodeCondition_LogicB" +
      "U\242\227\"\021Logical Condition\252\227\"\n\016do_not_inherit\022\035.google.protobuf.Fie" +
      "ldOptions\030\363\242\004 \001(\010:\005false:5\n\014display_name" +
      "\022\035.google.protobuf.FieldOptions\030\364\242\004 \001(\t:" +
      "0\n\007comment\022\035.google.protobuf.FieldOption" +
      "s\030\365\242\004 \001(\t:2\n\tmax_count\022\035.google.protobuf" +
      ".FieldOptions\030\367\242\004 \001(\r:8\n\tallow_add\022\035.goo" +
      "gle.protobuf.FieldOptions\030\370\242\004 \001(\010:\004true:" +
      ";\n\014allow_delete\022\035.google.protobuf.FieldO" +
      "ptions\030\371\242\004 \001(\010:\004true:=\n\024panel_class_over" +
      "ride\022\035.google.protobuf.FieldOptions\030\372\242\004 " +
      "\001(\t:L\n#message_inherhitance_key_field_na" +
      "me\022\035.google.protobuf.FieldOptions\030\373\242\004 \001(" +
      "\t:K\n\033inherit_reference_variables\022\035.googl" +
      "e.protobuf.FieldOptions\030\374\242\004 \001(\010:\005false:A" +
      "\n\021self_inherit_only\022\035.google.protobuf.Fi" +
      "eldOptions\030\375\242\004 \001(\010:\005false:Y\n\016var_field_t" +
      "ype\022\035.google.protobuf.FieldOptions\030\376\242\004 \001" +
      "(\0162\016.EVarFieldType:\020VAR_TYPE_INVALID:A\n\021" +
      "merging_key_field\022\035.google.protobuf.Fiel" +
      "dOptions\030\377\242\004 \001(\010:\005falseB*\n#in.dragonbra." +
      "javasteam.protobufs.tfH\001\210\001\000"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          com.google.protobuf.DescriptorProtos.getDescriptor(),
        });
    internal_static_CMsgFieldID_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_CMsgFieldID_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgFieldID_descriptor,
        new java.lang.String[] { "Field", });
    internal_static_CMsgFieldID_CMsgField_descriptor =
      internal_static_CMsgFieldID_descriptor.getNestedTypes().get(0);
    internal_static_CMsgFieldID_CMsgField_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgFieldID_CMsgField_descriptor,
        new java.lang.String[] { "FieldNumber", "RepeatedIndex", });
    internal_static_CMsgUniversalFieldID_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_CMsgUniversalFieldID_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgUniversalFieldID_descriptor,
        new java.lang.String[] { "SourceType", "DefiningObjId", "FieldId", });
    internal_static_CMsgVariableDefinition_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_CMsgVariableDefinition_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgVariableDefinition_descriptor,
        new java.lang.String[] { "Name", "Inherit", "Value", });
    internal_static_CMsgProtoDefHeader_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_CMsgProtoDefHeader_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgProtoDefHeader_descriptor,
        new java.lang.String[] { "Defindex", "Name", "Prefabs", "Tags", "PrefabOnly", "Variables", });
    internal_static_CMsgValidTypes_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_CMsgValidTypes_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgValidTypes_descriptor,
        new java.lang.String[] { "Types", });
    internal_static_CMsgProtoDefID_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_CMsgProtoDefID_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgProtoDefID_descriptor,
        new java.lang.String[] { "Defindex", "Type", "InstanceDefTypeQuestMapNode", "InstanceDefTypeQuestTheme", "InstanceDefTypeQuestMapRegion", "InstanceDefTypeQuest", "InstanceDefTypeQuestObjective", "InstanceDefTypePaintkitVariables", "InstanceDefTypePaintkitOperation", "InstanceDefTypePaintkitItemDefinition", "InstanceDefTypePaintkitDefinition", "InstanceDefTypeHeaderOnly", "Instance", });
    internal_static_CMsgQuestObjectiveDef_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_CMsgQuestObjectiveDef_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgQuestObjectiveDef_descriptor,
        new java.lang.String[] { "Header", "LocDesctoken", "Points", "ConditionsDefindex", "Map", "GameMode", "Team", "ConditionVars", "ClassesVars", "Conditions", "ConditionLogic", "ItemName", "ItemLogic", "JumpState", });
    internal_static_CMsgQuestDef_descriptor =
      getDescriptor().getMessageTypes().get(7);
    internal_static_CMsgQuestDef_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgQuestDef_descriptor,
        new java.lang.String[] { "Header", "MaxPoints0", "MaxPoints1", "MaxPoints2", "NameLoctoken", "Operation", "MmCriteria", "NodeImage", "IconImage", "Theme", "LoanerNames", "Objectives", "Map", });
    internal_static_CMsgQuestDef_MMCriteria_descriptor =
      internal_static_CMsgQuestDef_descriptor.getNestedTypes().get(0);
    internal_static_CMsgQuestDef_MMCriteria_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgQuestDef_MMCriteria_descriptor,
        new java.lang.String[] { "GroupName", "CategoryName", "MapName", });
    internal_static_CMsgQuestDef_ObjectiveInstance_descriptor =
      internal_static_CMsgQuestDef_descriptor.getNestedTypes().get(1);
    internal_static_CMsgQuestDef_ObjectiveInstance_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgQuestDef_ObjectiveInstance_descriptor,
        new java.lang.String[] { "Objective", "PointType", "PointValue", });
    internal_static_CMsgQuestMapStoreItem_descriptor =
      getDescriptor().getMessageTypes().get(8);
    internal_static_CMsgQuestMapStoreItem_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgQuestMapStoreItem_descriptor,
        new java.lang.String[] { "Header", "ItemName", "RewardLootlistName", "Price", "PurchaseLimit", "SortGroup", });
    internal_static_CMsgQuestMapRegionDef_descriptor =
      getDescriptor().getMessageTypes().get(9);
    internal_static_CMsgQuestMapRegionDef_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgQuestMapRegionDef_descriptor,
        new java.lang.String[] { "Header", "Name", "Resfile", "Links", "ReturnLink", "RadioFreq", "ZoomScale", "StarType", });
    internal_static_CMsgQuestMapRegionDef_RegionLink_descriptor =
      internal_static_CMsgQuestMapRegionDef_descriptor.getNestedTypes().get(0);
    internal_static_CMsgQuestMapRegionDef_RegionLink_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgQuestMapRegionDef_RegionLink_descriptor,
        new java.lang.String[] { "TargetRegionDefid", "Xpos", "Ypos", });
    internal_static_CMsgVarField_descriptor =
      getDescriptor().getMessageTypes().get(10);
    internal_static_CMsgVarField_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgVarField_descriptor,
        new java.lang.String[] { "Variable", "Float", "Double", "Uint32", "Uint64", "Sint32", "Sint64", "Bool", "String", "Value", });
    internal_static_CMsgQuestMapStarType_descriptor =
      getDescriptor().getMessageTypes().get(11);
    internal_static_CMsgQuestMapStarType_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgQuestMapStarType_descriptor,
        new java.lang.String[] { "Header", "Name", });
    internal_static_CMsgQuestMapNodeDef_descriptor =
      getDescriptor().getMessageTypes().get(12);
    internal_static_CMsgQuestMapNodeDef_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgQuestMapNodeDef_descriptor,
        new java.lang.String[] { "Header", "NameLoctoken", "XPos", "YPos", "Condition", "OwningRegion", "QuestOptions", "AssociatedOperation", "RewardItemName", "RewardLootlistName", "CashReward", "StarType", "StarsToUnlock", });
    internal_static_CMsgPaintKit_Variables_descriptor =
      getDescriptor().getMessageTypes().get(13);
    internal_static_CMsgPaintKit_Variables_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgPaintKit_Variables_descriptor,
        new java.lang.String[] { "Header", });
    internal_static_CMsgPaintKit_Operation_TextureStage_descriptor =
      getDescriptor().getMessageTypes().get(14);
    internal_static_CMsgPaintKit_Operation_TextureStage_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgPaintKit_Operation_TextureStage_descriptor,
        new java.lang.String[] { "Texture", "TextureRed", "TextureBlue", "AdjustBlack", "AdjustOffset", "AdjustGamma", "Rotation", "TranslateU", "TranslateV", "ScaleUv", "FlipU", "FlipV", });
    internal_static_CMsgPaintKit_Operation_CombineStage_descriptor =
      getDescriptor().getMessageTypes().get(15);
    internal_static_CMsgPaintKit_Operation_CombineStage_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgPaintKit_Operation_CombineStage_descriptor,
        new java.lang.String[] { "AdjustBlack", "AdjustOffset", "AdjustGamma", "Rotation", "TranslateU", "TranslateV", "ScaleUv", "FlipU", "FlipV", "OperationNode", });
    internal_static_CMsgPaintKit_Operation_SelectStage_descriptor =
      getDescriptor().getMessageTypes().get(16);
    internal_static_CMsgPaintKit_Operation_SelectStage_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgPaintKit_Operation_SelectStage_descriptor,
        new java.lang.String[] { "Groups", "Select", });
    internal_static_CMsgPaintKit_Operation_Sticker_descriptor =
      getDescriptor().getMessageTypes().get(17);
    internal_static_CMsgPaintKit_Operation_Sticker_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgPaintKit_Operation_Sticker_descriptor,
        new java.lang.String[] { "Base", "Weight", "Spec", });
    internal_static_CMsgPaintKit_Operation_StickerStage_descriptor =
      getDescriptor().getMessageTypes().get(18);
    internal_static_CMsgPaintKit_Operation_StickerStage_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgPaintKit_Operation_StickerStage_descriptor,
        new java.lang.String[] { "Sticker", "DestTl", "DestTr", "DestBl", "AdjustBlack", "AdjustOffset", "AdjustGamma", "OperationNode", });
    internal_static_CMsgPaintKit_OperationStage_descriptor =
      getDescriptor().getMessageTypes().get(19);
    internal_static_CMsgPaintKit_OperationStage_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgPaintKit_OperationStage_descriptor,
        new java.lang.String[] { "TextureLookup", "CombineAdd", "CombineLerp", "CombineMultiply", "Select", "ApplySticker", "Stage", });
    internal_static_CMsgPaintKit_OperationNode_descriptor =
      getDescriptor().getMessageTypes().get(20);
    internal_static_CMsgPaintKit_OperationNode_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgPaintKit_OperationNode_descriptor,
        new java.lang.String[] { "Stage", "OperationTemplate", "Node", });
    internal_static_CMsgPaintKit_Operation_descriptor =
      getDescriptor().getMessageTypes().get(21);
    internal_static_CMsgPaintKit_Operation_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgPaintKit_Operation_descriptor,
        new java.lang.String[] { "Header", "OperationNode", });
    internal_static_CMsgPaintKit_ItemDefinition_descriptor =
      getDescriptor().getMessageTypes().get(22);
    internal_static_CMsgPaintKit_ItemDefinition_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgPaintKit_ItemDefinition_descriptor,
        new java.lang.String[] { "Header", "ItemDefinitionIndex", "VariableTemplate", "Definition", });
    internal_static_CMsgPaintKit_ItemDefinition_Definition_descriptor =
      internal_static_CMsgPaintKit_ItemDefinition_descriptor.getNestedTypes().get(0);
    internal_static_CMsgPaintKit_ItemDefinition_Definition_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgPaintKit_ItemDefinition_Definition_descriptor,
        new java.lang.String[] { "OperationTemplate", "Variable", });
    internal_static_CMsgPaintKit_Definition_descriptor =
      getDescriptor().getMessageTypes().get(23);
    internal_static_CMsgPaintKit_Definition_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgPaintKit_Definition_descriptor,
        new java.lang.String[] { "Header", "LocDesctoken", "OperationTemplate", "HasTeamTextures", "Item", "PaintkitTool", "Flamethrower", "Grenadelauncher", "Knife", "Medigun", "Minigun", "Pistol", "Revolver", "Rocketlauncher", "Scattergun", "Shotgun", "Smg", "Sniperrifle", "StickybombLauncher", "Ubersaw", "Wrench", "Amputator", "AtomLauncher", "BackScratcher", "Battleaxe", "BazaarSniper", "Blackbox", "Claidheamohmor", "CrusadersCrossbow", "Degreaser", "DemoCannon", "DemoSultanSword", "Detonator", "GatlingGun", "Holymackerel", "Jag", "Lochnload", "Powerjack", "Quadball", "ReserveShooter", "RidingCrop", "RussianRiot", "Scimitar", "ScorchShot", "Shortstop", "SodaPopper", "TeleShotgun", "Tomislav", "Trenchgun", "WingerPistol", });
    internal_static_CMsgPaintKit_Definition_Item_descriptor =
      internal_static_CMsgPaintKit_Definition_descriptor.getNestedTypes().get(0);
    internal_static_CMsgPaintKit_Definition_Item_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgPaintKit_Definition_Item_descriptor,
        new java.lang.String[] { "ItemDefinitionTemplate", "Data", });
    internal_static_CMsgPaintKit_Definition_Item_ItemData_descriptor =
      internal_static_CMsgPaintKit_Definition_Item_descriptor.getNestedTypes().get(0);
    internal_static_CMsgPaintKit_Definition_Item_ItemData_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgPaintKit_Definition_Item_ItemData_descriptor,
        new java.lang.String[] { "CanApplyPaintkit", "MaterialOverride", "Variable", });
    internal_static_CMsgQuestTheme_descriptor =
      getDescriptor().getMessageTypes().get(24);
    internal_static_CMsgQuestTheme_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgQuestTheme_descriptor,
        new java.lang.String[] { "Header", "NotificationRes", "QuestItemRes", "InGameTrackerRes", "GiveSounds", "CompleteSounds", "FullyCompleteSounds", "RewardSound", "DiscardSound", "RevealSound", });
    internal_static_CMsgQuestTheme_WeightedString_descriptor =
      internal_static_CMsgQuestTheme_descriptor.getNestedTypes().get(0);
    internal_static_CMsgQuestTheme_WeightedString_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgQuestTheme_WeightedString_descriptor,
        new java.lang.String[] { "String", "Weight", });
    internal_static_CMsgQuestTheme_WeightedStringSet_descriptor =
      internal_static_CMsgQuestTheme_descriptor.getNestedTypes().get(1);
    internal_static_CMsgQuestTheme_WeightedStringSet_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgQuestTheme_WeightedStringSet_descriptor,
        new java.lang.String[] { "WeightedStrings", });
    internal_static_CMsgQuestMapNodeCondition_NodeState_descriptor =
      getDescriptor().getMessageTypes().get(25);
    internal_static_CMsgQuestMapNodeCondition_NodeState_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgQuestMapNodeCondition_NodeState_descriptor,
        new java.lang.String[] { "BonusObjectivesRequired", "TargetNodeDefid", });
    internal_static_CMsgQuestMapNodeCondition_Logic_descriptor =
      getDescriptor().getMessageTypes().get(26);
    internal_static_CMsgQuestMapNodeCondition_Logic_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgQuestMapNodeCondition_Logic_descriptor,
        new java.lang.String[] { "Operation", "SubConditions", });
    internal_static_CMsgQuestMapNodeCondition_descriptor =
      getDescriptor().getMessageTypes().get(27);
    internal_static_CMsgQuestMapNodeCondition_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgQuestMapNodeCondition_descriptor,
        new java.lang.String[] { "NodeState", "Logical", "Operation", });
    internal_static_CMsgHeaderOnly_descriptor =
      getDescriptor().getMessageTypes().get(28);
    internal_static_CMsgHeaderOnly_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CMsgHeaderOnly_descriptor,
        new java.lang.String[] { "Header", });
    startExpanded.internalInit(descriptor.getExtensions().get(0));
    validType.internalInit(descriptor.getExtensions().get(1));
    editable.internalInit(descriptor.getExtensions().get(2));
    localized.internalInit(descriptor.getExtensions().get(3));
    doNotInherit.internalInit(descriptor.getExtensions().get(4));
    displayName.internalInit(descriptor.getExtensions().get(5));
    comment.internalInit(descriptor.getExtensions().get(6));
    maxCount.internalInit(descriptor.getExtensions().get(7));
    allowAdd.internalInit(descriptor.getExtensions().get(8));
    allowDelete.internalInit(descriptor.getExtensions().get(9));
    panelClassOverride.internalInit(descriptor.getExtensions().get(10));
    messageInherhitanceKeyFieldName.internalInit(descriptor.getExtensions().get(11));
    inheritReferenceVariables.internalInit(descriptor.getExtensions().get(12));
    selfInheritOnly.internalInit(descriptor.getExtensions().get(13));
    varFieldType.internalInit(descriptor.getExtensions().get(14));
    mergingKeyField.internalInit(descriptor.getExtensions().get(15));
    descriptor.resolveAllFeaturesImmutable();
    com.google.protobuf.DescriptorProtos.getDescriptor();
    com.google.protobuf.ExtensionRegistry registry =
        com.google.protobuf.ExtensionRegistry.newInstance();
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.allowAdd);
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.allowDelete);
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.comment);
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.displayName);
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.editable);
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.inheritReferenceVariables);
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.localized);
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.maxCount);
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.mergingKeyField);
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.messageInherhitanceKeyFieldName);
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.panelClassOverride);
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.selfInheritOnly);
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.startExpanded);
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.validType);
    registry.add(in.dragonbra.javasteam.protobufs.tf.TfProtoDefMessages.varFieldType);
    com.google.protobuf.Descriptors.FileDescriptor
        .internalUpdateFileDescriptor(descriptor, registry);
  }

  // @@protoc_insertion_point(outer_class_scope)
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy