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

skadistats.clarity.wire.shared.s2.proto.S2UserMessages Maven / Gradle / Ivy

Go to download

Clarity is an open source replay parser for Dota 2 and CSGO 1 and 2 written in Java. This JAR contains the protobuf classes for clarity.

The newest version!
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: usermessages-s2.proto

package skadistats.clarity.wire.shared.s2.proto;

public final class S2UserMessages {
  private S2UserMessages() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
  }
  /**
   * Protobuf enum {@code eRollType}
   */
  public enum eRollType
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * ROLL_NONE = -1;
     */
    ROLL_NONE(0, -1),
    /**
     * ROLL_STATS = 0;
     */
    ROLL_STATS(1, 0),
    /**
     * ROLL_CREDITS = 1;
     */
    ROLL_CREDITS(2, 1),
    /**
     * ROLL_LATE_JOIN_LOGO = 2;
     */
    ROLL_LATE_JOIN_LOGO(3, 2),
    /**
     * ROLL_OUTTRO = 3;
     */
    ROLL_OUTTRO(4, 3),
    ;

    /**
     * ROLL_NONE = -1;
     */
    public static final int ROLL_NONE_VALUE = -1;
    /**
     * ROLL_STATS = 0;
     */
    public static final int ROLL_STATS_VALUE = 0;
    /**
     * ROLL_CREDITS = 1;
     */
    public static final int ROLL_CREDITS_VALUE = 1;
    /**
     * ROLL_LATE_JOIN_LOGO = 2;
     */
    public static final int ROLL_LATE_JOIN_LOGO_VALUE = 2;
    /**
     * ROLL_OUTTRO = 3;
     */
    public static final int ROLL_OUTTRO_VALUE = 3;


    public final int getNumber() { return value; }

    public static eRollType valueOf(int value) {
      switch (value) {
        case -1: return ROLL_NONE;
        case 0: return ROLL_STATS;
        case 1: return ROLL_CREDITS;
        case 2: return ROLL_LATE_JOIN_LOGO;
        case 3: return ROLL_OUTTRO;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap
        internalGetValueMap() {
      return internalValueMap;
    }
    private static com.google.protobuf.Internal.EnumLiteMap
        internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap() {
            public eRollType findValueByNumber(int number) {
              return eRollType.valueOf(number);
            }
          };

    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(index);
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.getDescriptor().getEnumTypes().get(0);
    }

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

    public static eRollType 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 index;
    private final int value;

    private eRollType(int index, int value) {
      this.index = index;
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:eRollType)
  }

  /**
   * Protobuf enum {@code EHapticPulseType}
   */
  public enum EHapticPulseType
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * VR_HAND_HAPTIC_PULSE_LIGHT = 0;
     */
    VR_HAND_HAPTIC_PULSE_LIGHT(0, 0),
    /**
     * VR_HAND_HAPTIC_PULSE_MEDIUM = 1;
     */
    VR_HAND_HAPTIC_PULSE_MEDIUM(1, 1),
    /**
     * VR_HAND_HAPTIC_PULSE_STRONG = 2;
     */
    VR_HAND_HAPTIC_PULSE_STRONG(2, 2),
    ;

    /**
     * VR_HAND_HAPTIC_PULSE_LIGHT = 0;
     */
    public static final int VR_HAND_HAPTIC_PULSE_LIGHT_VALUE = 0;
    /**
     * VR_HAND_HAPTIC_PULSE_MEDIUM = 1;
     */
    public static final int VR_HAND_HAPTIC_PULSE_MEDIUM_VALUE = 1;
    /**
     * VR_HAND_HAPTIC_PULSE_STRONG = 2;
     */
    public static final int VR_HAND_HAPTIC_PULSE_STRONG_VALUE = 2;


    public final int getNumber() { return value; }

    public static EHapticPulseType valueOf(int value) {
      switch (value) {
        case 0: return VR_HAND_HAPTIC_PULSE_LIGHT;
        case 1: return VR_HAND_HAPTIC_PULSE_MEDIUM;
        case 2: return VR_HAND_HAPTIC_PULSE_STRONG;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap
        internalGetValueMap() {
      return internalValueMap;
    }
    private static com.google.protobuf.Internal.EnumLiteMap
        internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap() {
            public EHapticPulseType findValueByNumber(int number) {
              return EHapticPulseType.valueOf(number);
            }
          };

    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(index);
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.getDescriptor().getEnumTypes().get(1);
    }

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

    public static EHapticPulseType 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 index;
    private final int value;

    private EHapticPulseType(int index, int value) {
      this.index = index;
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:EHapticPulseType)
  }

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

    /**
     * optional uint32 achievement = 1;
     */
    boolean hasAchievement();
    /**
     * optional uint32 achievement = 1;
     */
    int getAchievement();
  }
  /**
   * Protobuf type {@code CUserMessageAchievementEvent}
   */
  public static final class CUserMessageAchievementEvent extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageAchievementEvent)
      CUserMessageAchievementEventOrBuilder {
    // Use CUserMessageAchievementEvent.newBuilder() to construct.
    private CUserMessageAchievementEvent(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageAchievementEvent(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageAchievementEvent defaultInstance;
    public static CUserMessageAchievementEvent getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageAchievementEvent getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageAchievementEvent(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              achievement_ = input.readUInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageAchievementEvent_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageAchievementEvent_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAchievementEvent.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAchievementEvent.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageAchievementEvent parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageAchievementEvent(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int ACHIEVEMENT_FIELD_NUMBER = 1;
    private int achievement_;
    /**
     * optional uint32 achievement = 1;
     */
    public boolean hasAchievement() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional uint32 achievement = 1;
     */
    public int getAchievement() {
      return achievement_;
    }

    private void initFields() {
      achievement_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

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

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

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

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAchievementEvent parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAchievementEvent parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAchievementEvent parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAchievementEvent parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAchievementEvent parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAchievementEvent parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAchievementEvent parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAchievementEvent parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAchievementEvent parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAchievementEvent parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAchievementEvent prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageAchievementEvent}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageAchievementEvent)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAchievementEventOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageAchievementEvent_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageAchievementEvent_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAchievementEvent.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAchievementEvent.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAchievementEvent.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        achievement_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageAchievementEvent_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAchievementEvent getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAchievementEvent.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAchievementEvent build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAchievementEvent result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAchievementEvent buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAchievementEvent result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAchievementEvent(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.achievement_ = achievement_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAchievementEvent) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAchievementEvent)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAchievementEvent other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAchievementEvent.getDefaultInstance()) return this;
        if (other.hasAchievement()) {
          setAchievement(other.getAchievement());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAchievementEvent parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAchievementEvent) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int achievement_ ;
      /**
       * optional uint32 achievement = 1;
       */
      public boolean hasAchievement() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional uint32 achievement = 1;
       */
      public int getAchievement() {
        return achievement_;
      }
      /**
       * optional uint32 achievement = 1;
       */
      public Builder setAchievement(int value) {
        bitField0_ |= 0x00000001;
        achievement_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 achievement = 1;
       */
      public Builder clearAchievement() {
        bitField0_ = (bitField0_ & ~0x00000001);
        achievement_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageAchievementEvent)
    }

    static {
      defaultInstance = new CUserMessageAchievementEvent(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageAchievementEvent)
  }

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

    /**
     * optional fixed32 hash = 1;
     */
    boolean hasHash();
    /**
     * optional fixed32 hash = 1;
     */
    int getHash();

    /**
     * optional float duration = 2;
     */
    boolean hasDuration();
    /**
     * optional float duration = 2;
     */
    float getDuration();

    /**
     * optional bool from_player = 3;
     */
    boolean hasFromPlayer();
    /**
     * optional bool from_player = 3;
     */
    boolean getFromPlayer();

    /**
     * optional int32 ent_index = 4 [default = -1];
     */
    boolean hasEntIndex();
    /**
     * optional int32 ent_index = 4 [default = -1];
     */
    int getEntIndex();
  }
  /**
   * Protobuf type {@code CUserMessageCloseCaption}
   */
  public static final class CUserMessageCloseCaption extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageCloseCaption)
      CUserMessageCloseCaptionOrBuilder {
    // Use CUserMessageCloseCaption.newBuilder() to construct.
    private CUserMessageCloseCaption(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageCloseCaption(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageCloseCaption defaultInstance;
    public static CUserMessageCloseCaption getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageCloseCaption getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageCloseCaption(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 13: {
              bitField0_ |= 0x00000001;
              hash_ = input.readFixed32();
              break;
            }
            case 21: {
              bitField0_ |= 0x00000002;
              duration_ = input.readFloat();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              fromPlayer_ = input.readBool();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              entIndex_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCloseCaption_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCloseCaption_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaption.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaption.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageCloseCaption parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageCloseCaption(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int HASH_FIELD_NUMBER = 1;
    private int hash_;
    /**
     * optional fixed32 hash = 1;
     */
    public boolean hasHash() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional fixed32 hash = 1;
     */
    public int getHash() {
      return hash_;
    }

    public static final int DURATION_FIELD_NUMBER = 2;
    private float duration_;
    /**
     * optional float duration = 2;
     */
    public boolean hasDuration() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional float duration = 2;
     */
    public float getDuration() {
      return duration_;
    }

    public static final int FROM_PLAYER_FIELD_NUMBER = 3;
    private boolean fromPlayer_;
    /**
     * optional bool from_player = 3;
     */
    public boolean hasFromPlayer() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional bool from_player = 3;
     */
    public boolean getFromPlayer() {
      return fromPlayer_;
    }

    public static final int ENT_INDEX_FIELD_NUMBER = 4;
    private int entIndex_;
    /**
     * optional int32 ent_index = 4 [default = -1];
     */
    public boolean hasEntIndex() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional int32 ent_index = 4 [default = -1];
     */
    public int getEntIndex() {
      return entIndex_;
    }

    private void initFields() {
      hash_ = 0;
      duration_ = 0F;
      fromPlayer_ = false;
      entIndex_ = -1;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeFixed32(1, hash_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeFloat(2, duration_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBool(3, fromPlayer_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeInt32(4, entIndex_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(1, hash_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(2, duration_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(3, fromPlayer_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(4, entIndex_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaption parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaption parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaption parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaption parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaption parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaption parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaption parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaption parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaption parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaption parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaption prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageCloseCaption}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageCloseCaption)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCloseCaption_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCloseCaption_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaption.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaption.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaption.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        hash_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        duration_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000002);
        fromPlayer_ = false;
        bitField0_ = (bitField0_ & ~0x00000004);
        entIndex_ = -1;
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCloseCaption_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaption getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaption.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaption build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaption result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaption buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaption result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaption(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.hash_ = hash_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.duration_ = duration_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.fromPlayer_ = fromPlayer_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.entIndex_ = entIndex_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaption) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaption)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaption other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaption.getDefaultInstance()) return this;
        if (other.hasHash()) {
          setHash(other.getHash());
        }
        if (other.hasDuration()) {
          setDuration(other.getDuration());
        }
        if (other.hasFromPlayer()) {
          setFromPlayer(other.getFromPlayer());
        }
        if (other.hasEntIndex()) {
          setEntIndex(other.getEntIndex());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaption parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaption) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int hash_ ;
      /**
       * optional fixed32 hash = 1;
       */
      public boolean hasHash() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional fixed32 hash = 1;
       */
      public int getHash() {
        return hash_;
      }
      /**
       * optional fixed32 hash = 1;
       */
      public Builder setHash(int value) {
        bitField0_ |= 0x00000001;
        hash_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed32 hash = 1;
       */
      public Builder clearHash() {
        bitField0_ = (bitField0_ & ~0x00000001);
        hash_ = 0;
        onChanged();
        return this;
      }

      private float duration_ ;
      /**
       * optional float duration = 2;
       */
      public boolean hasDuration() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional float duration = 2;
       */
      public float getDuration() {
        return duration_;
      }
      /**
       * optional float duration = 2;
       */
      public Builder setDuration(float value) {
        bitField0_ |= 0x00000002;
        duration_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float duration = 2;
       */
      public Builder clearDuration() {
        bitField0_ = (bitField0_ & ~0x00000002);
        duration_ = 0F;
        onChanged();
        return this;
      }

      private boolean fromPlayer_ ;
      /**
       * optional bool from_player = 3;
       */
      public boolean hasFromPlayer() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional bool from_player = 3;
       */
      public boolean getFromPlayer() {
        return fromPlayer_;
      }
      /**
       * optional bool from_player = 3;
       */
      public Builder setFromPlayer(boolean value) {
        bitField0_ |= 0x00000004;
        fromPlayer_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool from_player = 3;
       */
      public Builder clearFromPlayer() {
        bitField0_ = (bitField0_ & ~0x00000004);
        fromPlayer_ = false;
        onChanged();
        return this;
      }

      private int entIndex_ = -1;
      /**
       * optional int32 ent_index = 4 [default = -1];
       */
      public boolean hasEntIndex() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional int32 ent_index = 4 [default = -1];
       */
      public int getEntIndex() {
        return entIndex_;
      }
      /**
       * optional int32 ent_index = 4 [default = -1];
       */
      public Builder setEntIndex(int value) {
        bitField0_ |= 0x00000008;
        entIndex_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 ent_index = 4 [default = -1];
       */
      public Builder clearEntIndex() {
        bitField0_ = (bitField0_ & ~0x00000008);
        entIndex_ = -1;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageCloseCaption)
    }

    static {
      defaultInstance = new CUserMessageCloseCaption(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageCloseCaption)
  }

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

    /**
     * optional fixed32 hash = 1;
     */
    boolean hasHash();
    /**
     * optional fixed32 hash = 1;
     */
    int getHash();

    /**
     * optional float duration = 2;
     */
    boolean hasDuration();
    /**
     * optional float duration = 2;
     */
    float getDuration();

    /**
     * optional bool from_player = 3;
     */
    boolean hasFromPlayer();
    /**
     * optional bool from_player = 3;
     */
    boolean getFromPlayer();

    /**
     * optional int32 ent_index = 4 [default = -1];
     */
    boolean hasEntIndex();
    /**
     * optional int32 ent_index = 4 [default = -1];
     */
    int getEntIndex();
  }
  /**
   * Protobuf type {@code CUserMessageCloseCaptionDirect}
   */
  public static final class CUserMessageCloseCaptionDirect extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageCloseCaptionDirect)
      CUserMessageCloseCaptionDirectOrBuilder {
    // Use CUserMessageCloseCaptionDirect.newBuilder() to construct.
    private CUserMessageCloseCaptionDirect(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageCloseCaptionDirect(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageCloseCaptionDirect defaultInstance;
    public static CUserMessageCloseCaptionDirect getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageCloseCaptionDirect getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageCloseCaptionDirect(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 13: {
              bitField0_ |= 0x00000001;
              hash_ = input.readFixed32();
              break;
            }
            case 21: {
              bitField0_ |= 0x00000002;
              duration_ = input.readFloat();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              fromPlayer_ = input.readBool();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              entIndex_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCloseCaptionDirect_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCloseCaptionDirect_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionDirect.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionDirect.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageCloseCaptionDirect parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageCloseCaptionDirect(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int HASH_FIELD_NUMBER = 1;
    private int hash_;
    /**
     * optional fixed32 hash = 1;
     */
    public boolean hasHash() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional fixed32 hash = 1;
     */
    public int getHash() {
      return hash_;
    }

    public static final int DURATION_FIELD_NUMBER = 2;
    private float duration_;
    /**
     * optional float duration = 2;
     */
    public boolean hasDuration() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional float duration = 2;
     */
    public float getDuration() {
      return duration_;
    }

    public static final int FROM_PLAYER_FIELD_NUMBER = 3;
    private boolean fromPlayer_;
    /**
     * optional bool from_player = 3;
     */
    public boolean hasFromPlayer() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional bool from_player = 3;
     */
    public boolean getFromPlayer() {
      return fromPlayer_;
    }

    public static final int ENT_INDEX_FIELD_NUMBER = 4;
    private int entIndex_;
    /**
     * optional int32 ent_index = 4 [default = -1];
     */
    public boolean hasEntIndex() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional int32 ent_index = 4 [default = -1];
     */
    public int getEntIndex() {
      return entIndex_;
    }

    private void initFields() {
      hash_ = 0;
      duration_ = 0F;
      fromPlayer_ = false;
      entIndex_ = -1;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeFixed32(1, hash_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeFloat(2, duration_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBool(3, fromPlayer_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeInt32(4, entIndex_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(1, hash_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(2, duration_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(3, fromPlayer_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(4, entIndex_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionDirect parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionDirect parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionDirect parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionDirect parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionDirect parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionDirect parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionDirect parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionDirect parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionDirect parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionDirect parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionDirect prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageCloseCaptionDirect}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageCloseCaptionDirect)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionDirectOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCloseCaptionDirect_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCloseCaptionDirect_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionDirect.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionDirect.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionDirect.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        hash_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        duration_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000002);
        fromPlayer_ = false;
        bitField0_ = (bitField0_ & ~0x00000004);
        entIndex_ = -1;
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCloseCaptionDirect_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionDirect getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionDirect.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionDirect build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionDirect result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionDirect buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionDirect result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionDirect(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.hash_ = hash_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.duration_ = duration_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.fromPlayer_ = fromPlayer_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.entIndex_ = entIndex_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionDirect) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionDirect)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionDirect other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionDirect.getDefaultInstance()) return this;
        if (other.hasHash()) {
          setHash(other.getHash());
        }
        if (other.hasDuration()) {
          setDuration(other.getDuration());
        }
        if (other.hasFromPlayer()) {
          setFromPlayer(other.getFromPlayer());
        }
        if (other.hasEntIndex()) {
          setEntIndex(other.getEntIndex());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionDirect parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionDirect) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int hash_ ;
      /**
       * optional fixed32 hash = 1;
       */
      public boolean hasHash() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional fixed32 hash = 1;
       */
      public int getHash() {
        return hash_;
      }
      /**
       * optional fixed32 hash = 1;
       */
      public Builder setHash(int value) {
        bitField0_ |= 0x00000001;
        hash_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed32 hash = 1;
       */
      public Builder clearHash() {
        bitField0_ = (bitField0_ & ~0x00000001);
        hash_ = 0;
        onChanged();
        return this;
      }

      private float duration_ ;
      /**
       * optional float duration = 2;
       */
      public boolean hasDuration() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional float duration = 2;
       */
      public float getDuration() {
        return duration_;
      }
      /**
       * optional float duration = 2;
       */
      public Builder setDuration(float value) {
        bitField0_ |= 0x00000002;
        duration_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float duration = 2;
       */
      public Builder clearDuration() {
        bitField0_ = (bitField0_ & ~0x00000002);
        duration_ = 0F;
        onChanged();
        return this;
      }

      private boolean fromPlayer_ ;
      /**
       * optional bool from_player = 3;
       */
      public boolean hasFromPlayer() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional bool from_player = 3;
       */
      public boolean getFromPlayer() {
        return fromPlayer_;
      }
      /**
       * optional bool from_player = 3;
       */
      public Builder setFromPlayer(boolean value) {
        bitField0_ |= 0x00000004;
        fromPlayer_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool from_player = 3;
       */
      public Builder clearFromPlayer() {
        bitField0_ = (bitField0_ & ~0x00000004);
        fromPlayer_ = false;
        onChanged();
        return this;
      }

      private int entIndex_ = -1;
      /**
       * optional int32 ent_index = 4 [default = -1];
       */
      public boolean hasEntIndex() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional int32 ent_index = 4 [default = -1];
       */
      public int getEntIndex() {
        return entIndex_;
      }
      /**
       * optional int32 ent_index = 4 [default = -1];
       */
      public Builder setEntIndex(int value) {
        bitField0_ |= 0x00000008;
        entIndex_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 ent_index = 4 [default = -1];
       */
      public Builder clearEntIndex() {
        bitField0_ = (bitField0_ & ~0x00000008);
        entIndex_ = -1;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageCloseCaptionDirect)
    }

    static {
      defaultInstance = new CUserMessageCloseCaptionDirect(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageCloseCaptionDirect)
  }

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

    /**
     * optional string string = 1;
     */
    boolean hasString();
    /**
     * optional string string = 1;
     */
    java.lang.String getString();
    /**
     * optional string string = 1;
     */
    com.google.protobuf.ByteString
        getStringBytes();

    /**
     * optional float duration = 2;
     */
    boolean hasDuration();
    /**
     * optional float duration = 2;
     */
    float getDuration();

    /**
     * optional bool from_player = 3;
     */
    boolean hasFromPlayer();
    /**
     * optional bool from_player = 3;
     */
    boolean getFromPlayer();

    /**
     * optional int32 ent_index = 4 [default = -1];
     */
    boolean hasEntIndex();
    /**
     * optional int32 ent_index = 4 [default = -1];
     */
    int getEntIndex();
  }
  /**
   * Protobuf type {@code CUserMessageCloseCaptionPlaceholder}
   */
  public static final class CUserMessageCloseCaptionPlaceholder extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageCloseCaptionPlaceholder)
      CUserMessageCloseCaptionPlaceholderOrBuilder {
    // Use CUserMessageCloseCaptionPlaceholder.newBuilder() to construct.
    private CUserMessageCloseCaptionPlaceholder(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageCloseCaptionPlaceholder(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageCloseCaptionPlaceholder defaultInstance;
    public static CUserMessageCloseCaptionPlaceholder getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageCloseCaptionPlaceholder getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageCloseCaptionPlaceholder(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              string_ = bs;
              break;
            }
            case 21: {
              bitField0_ |= 0x00000002;
              duration_ = input.readFloat();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              fromPlayer_ = input.readBool();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              entIndex_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCloseCaptionPlaceholder_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCloseCaptionPlaceholder_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionPlaceholder.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionPlaceholder.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageCloseCaptionPlaceholder parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageCloseCaptionPlaceholder(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int STRING_FIELD_NUMBER = 1;
    private java.lang.Object string_;
    /**
     * optional string string = 1;
     */
    public boolean hasString() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional string string = 1;
     */
    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;
     */
    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 DURATION_FIELD_NUMBER = 2;
    private float duration_;
    /**
     * optional float duration = 2;
     */
    public boolean hasDuration() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional float duration = 2;
     */
    public float getDuration() {
      return duration_;
    }

    public static final int FROM_PLAYER_FIELD_NUMBER = 3;
    private boolean fromPlayer_;
    /**
     * optional bool from_player = 3;
     */
    public boolean hasFromPlayer() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional bool from_player = 3;
     */
    public boolean getFromPlayer() {
      return fromPlayer_;
    }

    public static final int ENT_INDEX_FIELD_NUMBER = 4;
    private int entIndex_;
    /**
     * optional int32 ent_index = 4 [default = -1];
     */
    public boolean hasEntIndex() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional int32 ent_index = 4 [default = -1];
     */
    public int getEntIndex() {
      return entIndex_;
    }

    private void initFields() {
      string_ = "";
      duration_ = 0F;
      fromPlayer_ = false;
      entIndex_ = -1;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getStringBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeFloat(2, duration_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBool(3, fromPlayer_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeInt32(4, entIndex_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getStringBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(2, duration_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(3, fromPlayer_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(4, entIndex_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionPlaceholder parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionPlaceholder parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionPlaceholder parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionPlaceholder parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionPlaceholder parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionPlaceholder parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionPlaceholder parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionPlaceholder parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionPlaceholder parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionPlaceholder parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionPlaceholder prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageCloseCaptionPlaceholder}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageCloseCaptionPlaceholder)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionPlaceholderOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCloseCaptionPlaceholder_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCloseCaptionPlaceholder_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionPlaceholder.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionPlaceholder.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionPlaceholder.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        string_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        duration_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000002);
        fromPlayer_ = false;
        bitField0_ = (bitField0_ & ~0x00000004);
        entIndex_ = -1;
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCloseCaptionPlaceholder_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionPlaceholder getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionPlaceholder.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionPlaceholder build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionPlaceholder result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionPlaceholder buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionPlaceholder result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionPlaceholder(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.string_ = string_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.duration_ = duration_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.fromPlayer_ = fromPlayer_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.entIndex_ = entIndex_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionPlaceholder) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionPlaceholder)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionPlaceholder other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionPlaceholder.getDefaultInstance()) return this;
        if (other.hasString()) {
          bitField0_ |= 0x00000001;
          string_ = other.string_;
          onChanged();
        }
        if (other.hasDuration()) {
          setDuration(other.getDuration());
        }
        if (other.hasFromPlayer()) {
          setFromPlayer(other.getFromPlayer());
        }
        if (other.hasEntIndex()) {
          setEntIndex(other.getEntIndex());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionPlaceholder parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCloseCaptionPlaceholder) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object string_ = "";
      /**
       * optional string string = 1;
       */
      public boolean hasString() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional string string = 1;
       */
      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;
       */
      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;
       */
      public Builder setString(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        string_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string string = 1;
       */
      public Builder clearString() {
        bitField0_ = (bitField0_ & ~0x00000001);
        string_ = getDefaultInstance().getString();
        onChanged();
        return this;
      }
      /**
       * optional string string = 1;
       */
      public Builder setStringBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        string_ = value;
        onChanged();
        return this;
      }

      private float duration_ ;
      /**
       * optional float duration = 2;
       */
      public boolean hasDuration() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional float duration = 2;
       */
      public float getDuration() {
        return duration_;
      }
      /**
       * optional float duration = 2;
       */
      public Builder setDuration(float value) {
        bitField0_ |= 0x00000002;
        duration_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float duration = 2;
       */
      public Builder clearDuration() {
        bitField0_ = (bitField0_ & ~0x00000002);
        duration_ = 0F;
        onChanged();
        return this;
      }

      private boolean fromPlayer_ ;
      /**
       * optional bool from_player = 3;
       */
      public boolean hasFromPlayer() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional bool from_player = 3;
       */
      public boolean getFromPlayer() {
        return fromPlayer_;
      }
      /**
       * optional bool from_player = 3;
       */
      public Builder setFromPlayer(boolean value) {
        bitField0_ |= 0x00000004;
        fromPlayer_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool from_player = 3;
       */
      public Builder clearFromPlayer() {
        bitField0_ = (bitField0_ & ~0x00000004);
        fromPlayer_ = false;
        onChanged();
        return this;
      }

      private int entIndex_ = -1;
      /**
       * optional int32 ent_index = 4 [default = -1];
       */
      public boolean hasEntIndex() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional int32 ent_index = 4 [default = -1];
       */
      public int getEntIndex() {
        return entIndex_;
      }
      /**
       * optional int32 ent_index = 4 [default = -1];
       */
      public Builder setEntIndex(int value) {
        bitField0_ |= 0x00000008;
        entIndex_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 ent_index = 4 [default = -1];
       */
      public Builder clearEntIndex() {
        bitField0_ = (bitField0_ & ~0x00000008);
        entIndex_ = -1;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageCloseCaptionPlaceholder)
    }

    static {
      defaultInstance = new CUserMessageCloseCaptionPlaceholder(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageCloseCaptionPlaceholder)
  }

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

    /**
     * optional float current = 1;
     */
    boolean hasCurrent();
    /**
     * optional float current = 1;
     */
    float getCurrent();
  }
  /**
   * Protobuf type {@code CUserMessageCurrentTimescale}
   */
  public static final class CUserMessageCurrentTimescale extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageCurrentTimescale)
      CUserMessageCurrentTimescaleOrBuilder {
    // Use CUserMessageCurrentTimescale.newBuilder() to construct.
    private CUserMessageCurrentTimescale(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageCurrentTimescale(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageCurrentTimescale defaultInstance;
    public static CUserMessageCurrentTimescale getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageCurrentTimescale getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageCurrentTimescale(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 13: {
              bitField0_ |= 0x00000001;
              current_ = input.readFloat();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCurrentTimescale_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCurrentTimescale_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCurrentTimescale.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCurrentTimescale.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageCurrentTimescale parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageCurrentTimescale(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int CURRENT_FIELD_NUMBER = 1;
    private float current_;
    /**
     * optional float current = 1;
     */
    public boolean hasCurrent() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional float current = 1;
     */
    public float getCurrent() {
      return current_;
    }

    private void initFields() {
      current_ = 0F;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeFloat(1, current_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(1, current_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCurrentTimescale parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCurrentTimescale parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCurrentTimescale parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCurrentTimescale parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCurrentTimescale parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCurrentTimescale parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCurrentTimescale parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCurrentTimescale parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCurrentTimescale parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCurrentTimescale parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCurrentTimescale prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageCurrentTimescale}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageCurrentTimescale)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCurrentTimescaleOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCurrentTimescale_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCurrentTimescale_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCurrentTimescale.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCurrentTimescale.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCurrentTimescale.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        current_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCurrentTimescale_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCurrentTimescale getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCurrentTimescale.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCurrentTimescale build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCurrentTimescale result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCurrentTimescale buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCurrentTimescale result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCurrentTimescale(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.current_ = current_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCurrentTimescale) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCurrentTimescale)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCurrentTimescale other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCurrentTimescale.getDefaultInstance()) return this;
        if (other.hasCurrent()) {
          setCurrent(other.getCurrent());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCurrentTimescale parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCurrentTimescale) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private float current_ ;
      /**
       * optional float current = 1;
       */
      public boolean hasCurrent() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional float current = 1;
       */
      public float getCurrent() {
        return current_;
      }
      /**
       * optional float current = 1;
       */
      public Builder setCurrent(float value) {
        bitField0_ |= 0x00000001;
        current_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float current = 1;
       */
      public Builder clearCurrent() {
        bitField0_ = (bitField0_ & ~0x00000001);
        current_ = 0F;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageCurrentTimescale)
    }

    static {
      defaultInstance = new CUserMessageCurrentTimescale(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageCurrentTimescale)
  }

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

    /**
     * optional float desired = 1;
     */
    boolean hasDesired();
    /**
     * optional float desired = 1;
     */
    float getDesired();

    /**
     * optional float acceleration = 2;
     */
    boolean hasAcceleration();
    /**
     * optional float acceleration = 2;
     */
    float getAcceleration();

    /**
     * optional float minblendrate = 3;
     */
    boolean hasMinblendrate();
    /**
     * optional float minblendrate = 3;
     */
    float getMinblendrate();

    /**
     * optional float blenddeltamultiplier = 4;
     */
    boolean hasBlenddeltamultiplier();
    /**
     * optional float blenddeltamultiplier = 4;
     */
    float getBlenddeltamultiplier();
  }
  /**
   * Protobuf type {@code CUserMessageDesiredTimescale}
   */
  public static final class CUserMessageDesiredTimescale extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageDesiredTimescale)
      CUserMessageDesiredTimescaleOrBuilder {
    // Use CUserMessageDesiredTimescale.newBuilder() to construct.
    private CUserMessageDesiredTimescale(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageDesiredTimescale(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageDesiredTimescale defaultInstance;
    public static CUserMessageDesiredTimescale getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageDesiredTimescale getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageDesiredTimescale(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 13: {
              bitField0_ |= 0x00000001;
              desired_ = input.readFloat();
              break;
            }
            case 21: {
              bitField0_ |= 0x00000002;
              acceleration_ = input.readFloat();
              break;
            }
            case 29: {
              bitField0_ |= 0x00000004;
              minblendrate_ = input.readFloat();
              break;
            }
            case 37: {
              bitField0_ |= 0x00000008;
              blenddeltamultiplier_ = input.readFloat();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageDesiredTimescale_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageDesiredTimescale_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageDesiredTimescale.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageDesiredTimescale.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageDesiredTimescale parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageDesiredTimescale(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int DESIRED_FIELD_NUMBER = 1;
    private float desired_;
    /**
     * optional float desired = 1;
     */
    public boolean hasDesired() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional float desired = 1;
     */
    public float getDesired() {
      return desired_;
    }

    public static final int ACCELERATION_FIELD_NUMBER = 2;
    private float acceleration_;
    /**
     * optional float acceleration = 2;
     */
    public boolean hasAcceleration() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional float acceleration = 2;
     */
    public float getAcceleration() {
      return acceleration_;
    }

    public static final int MINBLENDRATE_FIELD_NUMBER = 3;
    private float minblendrate_;
    /**
     * optional float minblendrate = 3;
     */
    public boolean hasMinblendrate() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional float minblendrate = 3;
     */
    public float getMinblendrate() {
      return minblendrate_;
    }

    public static final int BLENDDELTAMULTIPLIER_FIELD_NUMBER = 4;
    private float blenddeltamultiplier_;
    /**
     * optional float blenddeltamultiplier = 4;
     */
    public boolean hasBlenddeltamultiplier() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional float blenddeltamultiplier = 4;
     */
    public float getBlenddeltamultiplier() {
      return blenddeltamultiplier_;
    }

    private void initFields() {
      desired_ = 0F;
      acceleration_ = 0F;
      minblendrate_ = 0F;
      blenddeltamultiplier_ = 0F;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeFloat(1, desired_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeFloat(2, acceleration_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeFloat(3, minblendrate_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeFloat(4, blenddeltamultiplier_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(1, desired_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(2, acceleration_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(3, minblendrate_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(4, blenddeltamultiplier_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageDesiredTimescale parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageDesiredTimescale parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageDesiredTimescale parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageDesiredTimescale parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageDesiredTimescale parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageDesiredTimescale parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageDesiredTimescale parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageDesiredTimescale parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageDesiredTimescale parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageDesiredTimescale parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageDesiredTimescale prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageDesiredTimescale}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageDesiredTimescale)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageDesiredTimescaleOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageDesiredTimescale_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageDesiredTimescale_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageDesiredTimescale.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageDesiredTimescale.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageDesiredTimescale.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        desired_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000001);
        acceleration_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000002);
        minblendrate_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000004);
        blenddeltamultiplier_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageDesiredTimescale_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageDesiredTimescale getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageDesiredTimescale.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageDesiredTimescale build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageDesiredTimescale result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageDesiredTimescale buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageDesiredTimescale result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageDesiredTimescale(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.desired_ = desired_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.acceleration_ = acceleration_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.minblendrate_ = minblendrate_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.blenddeltamultiplier_ = blenddeltamultiplier_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageDesiredTimescale) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageDesiredTimescale)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageDesiredTimescale other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageDesiredTimescale.getDefaultInstance()) return this;
        if (other.hasDesired()) {
          setDesired(other.getDesired());
        }
        if (other.hasAcceleration()) {
          setAcceleration(other.getAcceleration());
        }
        if (other.hasMinblendrate()) {
          setMinblendrate(other.getMinblendrate());
        }
        if (other.hasBlenddeltamultiplier()) {
          setBlenddeltamultiplier(other.getBlenddeltamultiplier());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageDesiredTimescale parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageDesiredTimescale) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private float desired_ ;
      /**
       * optional float desired = 1;
       */
      public boolean hasDesired() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional float desired = 1;
       */
      public float getDesired() {
        return desired_;
      }
      /**
       * optional float desired = 1;
       */
      public Builder setDesired(float value) {
        bitField0_ |= 0x00000001;
        desired_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float desired = 1;
       */
      public Builder clearDesired() {
        bitField0_ = (bitField0_ & ~0x00000001);
        desired_ = 0F;
        onChanged();
        return this;
      }

      private float acceleration_ ;
      /**
       * optional float acceleration = 2;
       */
      public boolean hasAcceleration() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional float acceleration = 2;
       */
      public float getAcceleration() {
        return acceleration_;
      }
      /**
       * optional float acceleration = 2;
       */
      public Builder setAcceleration(float value) {
        bitField0_ |= 0x00000002;
        acceleration_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float acceleration = 2;
       */
      public Builder clearAcceleration() {
        bitField0_ = (bitField0_ & ~0x00000002);
        acceleration_ = 0F;
        onChanged();
        return this;
      }

      private float minblendrate_ ;
      /**
       * optional float minblendrate = 3;
       */
      public boolean hasMinblendrate() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional float minblendrate = 3;
       */
      public float getMinblendrate() {
        return minblendrate_;
      }
      /**
       * optional float minblendrate = 3;
       */
      public Builder setMinblendrate(float value) {
        bitField0_ |= 0x00000004;
        minblendrate_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float minblendrate = 3;
       */
      public Builder clearMinblendrate() {
        bitField0_ = (bitField0_ & ~0x00000004);
        minblendrate_ = 0F;
        onChanged();
        return this;
      }

      private float blenddeltamultiplier_ ;
      /**
       * optional float blenddeltamultiplier = 4;
       */
      public boolean hasBlenddeltamultiplier() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional float blenddeltamultiplier = 4;
       */
      public float getBlenddeltamultiplier() {
        return blenddeltamultiplier_;
      }
      /**
       * optional float blenddeltamultiplier = 4;
       */
      public Builder setBlenddeltamultiplier(float value) {
        bitField0_ |= 0x00000008;
        blenddeltamultiplier_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float blenddeltamultiplier = 4;
       */
      public Builder clearBlenddeltamultiplier() {
        bitField0_ = (bitField0_ & ~0x00000008);
        blenddeltamultiplier_ = 0F;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageDesiredTimescale)
    }

    static {
      defaultInstance = new CUserMessageDesiredTimescale(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageDesiredTimescale)
  }

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

    /**
     * optional uint32 duration = 1;
     */
    boolean hasDuration();
    /**
     * optional uint32 duration = 1;
     */
    int getDuration();

    /**
     * optional uint32 hold_time = 2;
     */
    boolean hasHoldTime();
    /**
     * optional uint32 hold_time = 2;
     */
    int getHoldTime();

    /**
     * optional uint32 flags = 3;
     */
    boolean hasFlags();
    /**
     * optional uint32 flags = 3;
     */
    int getFlags();

    /**
     * optional fixed32 color = 4;
     */
    boolean hasColor();
    /**
     * optional fixed32 color = 4;
     */
    int getColor();
  }
  /**
   * Protobuf type {@code CUserMessageFade}
   */
  public static final class CUserMessageFade extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageFade)
      CUserMessageFadeOrBuilder {
    // Use CUserMessageFade.newBuilder() to construct.
    private CUserMessageFade(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageFade(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageFade defaultInstance;
    public static CUserMessageFade getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageFade getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageFade(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              duration_ = input.readUInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              holdTime_ = input.readUInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              flags_ = input.readUInt32();
              break;
            }
            case 37: {
              bitField0_ |= 0x00000008;
              color_ = input.readFixed32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageFade_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageFade_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageFade.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageFade.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageFade parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageFade(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int DURATION_FIELD_NUMBER = 1;
    private int duration_;
    /**
     * optional uint32 duration = 1;
     */
    public boolean hasDuration() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional uint32 duration = 1;
     */
    public int getDuration() {
      return duration_;
    }

    public static final int HOLD_TIME_FIELD_NUMBER = 2;
    private int holdTime_;
    /**
     * optional uint32 hold_time = 2;
     */
    public boolean hasHoldTime() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional uint32 hold_time = 2;
     */
    public int getHoldTime() {
      return holdTime_;
    }

    public static final int FLAGS_FIELD_NUMBER = 3;
    private int flags_;
    /**
     * optional uint32 flags = 3;
     */
    public boolean hasFlags() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional uint32 flags = 3;
     */
    public int getFlags() {
      return flags_;
    }

    public static final int COLOR_FIELD_NUMBER = 4;
    private int color_;
    /**
     * optional fixed32 color = 4;
     */
    public boolean hasColor() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional fixed32 color = 4;
     */
    public int getColor() {
      return color_;
    }

    private void initFields() {
      duration_ = 0;
      holdTime_ = 0;
      flags_ = 0;
      color_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeUInt32(1, duration_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeUInt32(2, holdTime_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeUInt32(3, flags_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeFixed32(4, color_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, duration_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, holdTime_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, flags_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(4, color_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageFade parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageFade parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageFade parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageFade parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageFade parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageFade parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageFade parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageFade parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageFade parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageFade parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageFade prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageFade}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageFade)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageFadeOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageFade_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageFade_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageFade.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageFade.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageFade.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        duration_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        holdTime_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        flags_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        color_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageFade_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageFade getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageFade.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageFade build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageFade result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageFade buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageFade result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageFade(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.duration_ = duration_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.holdTime_ = holdTime_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.flags_ = flags_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.color_ = color_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageFade) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageFade)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageFade other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageFade.getDefaultInstance()) return this;
        if (other.hasDuration()) {
          setDuration(other.getDuration());
        }
        if (other.hasHoldTime()) {
          setHoldTime(other.getHoldTime());
        }
        if (other.hasFlags()) {
          setFlags(other.getFlags());
        }
        if (other.hasColor()) {
          setColor(other.getColor());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageFade parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageFade) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int duration_ ;
      /**
       * optional uint32 duration = 1;
       */
      public boolean hasDuration() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional uint32 duration = 1;
       */
      public int getDuration() {
        return duration_;
      }
      /**
       * optional uint32 duration = 1;
       */
      public Builder setDuration(int value) {
        bitField0_ |= 0x00000001;
        duration_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 duration = 1;
       */
      public Builder clearDuration() {
        bitField0_ = (bitField0_ & ~0x00000001);
        duration_ = 0;
        onChanged();
        return this;
      }

      private int holdTime_ ;
      /**
       * optional uint32 hold_time = 2;
       */
      public boolean hasHoldTime() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional uint32 hold_time = 2;
       */
      public int getHoldTime() {
        return holdTime_;
      }
      /**
       * optional uint32 hold_time = 2;
       */
      public Builder setHoldTime(int value) {
        bitField0_ |= 0x00000002;
        holdTime_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 hold_time = 2;
       */
      public Builder clearHoldTime() {
        bitField0_ = (bitField0_ & ~0x00000002);
        holdTime_ = 0;
        onChanged();
        return this;
      }

      private int flags_ ;
      /**
       * optional uint32 flags = 3;
       */
      public boolean hasFlags() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional uint32 flags = 3;
       */
      public int getFlags() {
        return flags_;
      }
      /**
       * optional uint32 flags = 3;
       */
      public Builder setFlags(int value) {
        bitField0_ |= 0x00000004;
        flags_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 flags = 3;
       */
      public Builder clearFlags() {
        bitField0_ = (bitField0_ & ~0x00000004);
        flags_ = 0;
        onChanged();
        return this;
      }

      private int color_ ;
      /**
       * optional fixed32 color = 4;
       */
      public boolean hasColor() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional fixed32 color = 4;
       */
      public int getColor() {
        return color_;
      }
      /**
       * optional fixed32 color = 4;
       */
      public Builder setColor(int value) {
        bitField0_ |= 0x00000008;
        color_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed32 color = 4;
       */
      public Builder clearColor() {
        bitField0_ = (bitField0_ & ~0x00000008);
        color_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageFade)
    }

    static {
      defaultInstance = new CUserMessageFade(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageFade)
  }

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

    /**
     * optional uint32 command = 1;
     */
    boolean hasCommand();
    /**
     * optional uint32 command = 1;
     */
    int getCommand();

    /**
     * optional float amplitude = 2;
     */
    boolean hasAmplitude();
    /**
     * optional float amplitude = 2;
     */
    float getAmplitude();

    /**
     * optional float frequency = 3;
     */
    boolean hasFrequency();
    /**
     * optional float frequency = 3;
     */
    float getFrequency();

    /**
     * optional float duration = 4;
     */
    boolean hasDuration();
    /**
     * optional float duration = 4;
     */
    float getDuration();
  }
  /**
   * Protobuf type {@code CUserMessageShake}
   */
  public static final class CUserMessageShake extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageShake)
      CUserMessageShakeOrBuilder {
    // Use CUserMessageShake.newBuilder() to construct.
    private CUserMessageShake(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageShake(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageShake defaultInstance;
    public static CUserMessageShake getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageShake getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageShake(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              command_ = input.readUInt32();
              break;
            }
            case 21: {
              bitField0_ |= 0x00000002;
              amplitude_ = input.readFloat();
              break;
            }
            case 29: {
              bitField0_ |= 0x00000004;
              frequency_ = input.readFloat();
              break;
            }
            case 37: {
              bitField0_ |= 0x00000008;
              duration_ = input.readFloat();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageShake_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageShake_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageShake parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageShake(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int COMMAND_FIELD_NUMBER = 1;
    private int command_;
    /**
     * optional uint32 command = 1;
     */
    public boolean hasCommand() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional uint32 command = 1;
     */
    public int getCommand() {
      return command_;
    }

    public static final int AMPLITUDE_FIELD_NUMBER = 2;
    private float amplitude_;
    /**
     * optional float amplitude = 2;
     */
    public boolean hasAmplitude() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional float amplitude = 2;
     */
    public float getAmplitude() {
      return amplitude_;
    }

    public static final int FREQUENCY_FIELD_NUMBER = 3;
    private float frequency_;
    /**
     * optional float frequency = 3;
     */
    public boolean hasFrequency() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional float frequency = 3;
     */
    public float getFrequency() {
      return frequency_;
    }

    public static final int DURATION_FIELD_NUMBER = 4;
    private float duration_;
    /**
     * optional float duration = 4;
     */
    public boolean hasDuration() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional float duration = 4;
     */
    public float getDuration() {
      return duration_;
    }

    private void initFields() {
      command_ = 0;
      amplitude_ = 0F;
      frequency_ = 0F;
      duration_ = 0F;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeUInt32(1, command_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeFloat(2, amplitude_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeFloat(3, frequency_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeFloat(4, duration_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, command_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(2, amplitude_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(3, frequency_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(4, duration_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageShake}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageShake)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageShake_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageShake_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        command_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        amplitude_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000002);
        frequency_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000004);
        duration_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageShake_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.command_ = command_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.amplitude_ = amplitude_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.frequency_ = frequency_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.duration_ = duration_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake.getDefaultInstance()) return this;
        if (other.hasCommand()) {
          setCommand(other.getCommand());
        }
        if (other.hasAmplitude()) {
          setAmplitude(other.getAmplitude());
        }
        if (other.hasFrequency()) {
          setFrequency(other.getFrequency());
        }
        if (other.hasDuration()) {
          setDuration(other.getDuration());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int command_ ;
      /**
       * optional uint32 command = 1;
       */
      public boolean hasCommand() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional uint32 command = 1;
       */
      public int getCommand() {
        return command_;
      }
      /**
       * optional uint32 command = 1;
       */
      public Builder setCommand(int value) {
        bitField0_ |= 0x00000001;
        command_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 command = 1;
       */
      public Builder clearCommand() {
        bitField0_ = (bitField0_ & ~0x00000001);
        command_ = 0;
        onChanged();
        return this;
      }

      private float amplitude_ ;
      /**
       * optional float amplitude = 2;
       */
      public boolean hasAmplitude() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional float amplitude = 2;
       */
      public float getAmplitude() {
        return amplitude_;
      }
      /**
       * optional float amplitude = 2;
       */
      public Builder setAmplitude(float value) {
        bitField0_ |= 0x00000002;
        amplitude_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float amplitude = 2;
       */
      public Builder clearAmplitude() {
        bitField0_ = (bitField0_ & ~0x00000002);
        amplitude_ = 0F;
        onChanged();
        return this;
      }

      private float frequency_ ;
      /**
       * optional float frequency = 3;
       */
      public boolean hasFrequency() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional float frequency = 3;
       */
      public float getFrequency() {
        return frequency_;
      }
      /**
       * optional float frequency = 3;
       */
      public Builder setFrequency(float value) {
        bitField0_ |= 0x00000004;
        frequency_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float frequency = 3;
       */
      public Builder clearFrequency() {
        bitField0_ = (bitField0_ & ~0x00000004);
        frequency_ = 0F;
        onChanged();
        return this;
      }

      private float duration_ ;
      /**
       * optional float duration = 4;
       */
      public boolean hasDuration() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional float duration = 4;
       */
      public float getDuration() {
        return duration_;
      }
      /**
       * optional float duration = 4;
       */
      public Builder setDuration(float value) {
        bitField0_ |= 0x00000008;
        duration_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float duration = 4;
       */
      public Builder clearDuration() {
        bitField0_ = (bitField0_ & ~0x00000008);
        duration_ = 0F;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageShake)
    }

    static {
      defaultInstance = new CUserMessageShake(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageShake)
  }

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

    /**
     * optional .CUserMessageShake shake = 1;
     */
    boolean hasShake();
    /**
     * optional .CUserMessageShake shake = 1;
     */
    skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake getShake();
    /**
     * optional .CUserMessageShake shake = 1;
     */
    skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeOrBuilder getShakeOrBuilder();

    /**
     * optional .CMsgVector direction = 2;
     */
    boolean hasDirection();
    /**
     * optional .CMsgVector direction = 2;
     */
    skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector getDirection();
    /**
     * optional .CMsgVector direction = 2;
     */
    skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVectorOrBuilder getDirectionOrBuilder();
  }
  /**
   * Protobuf type {@code CUserMessageShakeDir}
   */
  public static final class CUserMessageShakeDir extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageShakeDir)
      CUserMessageShakeDirOrBuilder {
    // Use CUserMessageShakeDir.newBuilder() to construct.
    private CUserMessageShakeDir(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageShakeDir(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageShakeDir defaultInstance;
    public static CUserMessageShakeDir getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageShakeDir getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageShakeDir(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = shake_.toBuilder();
              }
              shake_ = input.readMessage(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(shake_);
                shake_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = direction_.toBuilder();
              }
              direction_ = input.readMessage(skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(direction_);
                direction_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageShakeDir_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageShakeDir_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeDir.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeDir.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageShakeDir parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageShakeDir(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int SHAKE_FIELD_NUMBER = 1;
    private skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake shake_;
    /**
     * optional .CUserMessageShake shake = 1;
     */
    public boolean hasShake() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CUserMessageShake shake = 1;
     */
    public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake getShake() {
      return shake_;
    }
    /**
     * optional .CUserMessageShake shake = 1;
     */
    public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeOrBuilder getShakeOrBuilder() {
      return shake_;
    }

    public static final int DIRECTION_FIELD_NUMBER = 2;
    private skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector direction_;
    /**
     * optional .CMsgVector direction = 2;
     */
    public boolean hasDirection() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional .CMsgVector direction = 2;
     */
    public skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector getDirection() {
      return direction_;
    }
    /**
     * optional .CMsgVector direction = 2;
     */
    public skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVectorOrBuilder getDirectionOrBuilder() {
      return direction_;
    }

    private void initFields() {
      shake_ = skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake.getDefaultInstance();
      direction_ = skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, shake_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, direction_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, shake_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, direction_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeDir parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeDir parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeDir parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeDir parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeDir parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeDir parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeDir parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeDir parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeDir parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeDir parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeDir prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageShakeDir}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageShakeDir)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeDirOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageShakeDir_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageShakeDir_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeDir.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeDir.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeDir.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getShakeFieldBuilder();
          getDirectionFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (shakeBuilder_ == null) {
          shake_ = skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake.getDefaultInstance();
        } else {
          shakeBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (directionBuilder_ == null) {
          direction_ = skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          directionBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageShakeDir_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeDir getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeDir.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeDir build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeDir result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeDir buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeDir result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeDir(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (shakeBuilder_ == null) {
          result.shake_ = shake_;
        } else {
          result.shake_ = shakeBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (directionBuilder_ == null) {
          result.direction_ = direction_;
        } else {
          result.direction_ = directionBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeDir) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeDir)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeDir other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeDir.getDefaultInstance()) return this;
        if (other.hasShake()) {
          mergeShake(other.getShake());
        }
        if (other.hasDirection()) {
          mergeDirection(other.getDirection());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeDir parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeDir) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake shake_ = skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake.Builder, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeOrBuilder> shakeBuilder_;
      /**
       * optional .CUserMessageShake shake = 1;
       */
      public boolean hasShake() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CUserMessageShake shake = 1;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake getShake() {
        if (shakeBuilder_ == null) {
          return shake_;
        } else {
          return shakeBuilder_.getMessage();
        }
      }
      /**
       * optional .CUserMessageShake shake = 1;
       */
      public Builder setShake(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake value) {
        if (shakeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          shake_ = value;
          onChanged();
        } else {
          shakeBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CUserMessageShake shake = 1;
       */
      public Builder setShake(
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake.Builder builderForValue) {
        if (shakeBuilder_ == null) {
          shake_ = builderForValue.build();
          onChanged();
        } else {
          shakeBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CUserMessageShake shake = 1;
       */
      public Builder mergeShake(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake value) {
        if (shakeBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              shake_ != skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake.getDefaultInstance()) {
            shake_ =
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake.newBuilder(shake_).mergeFrom(value).buildPartial();
          } else {
            shake_ = value;
          }
          onChanged();
        } else {
          shakeBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CUserMessageShake shake = 1;
       */
      public Builder clearShake() {
        if (shakeBuilder_ == null) {
          shake_ = skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake.getDefaultInstance();
          onChanged();
        } else {
          shakeBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CUserMessageShake shake = 1;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake.Builder getShakeBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getShakeFieldBuilder().getBuilder();
      }
      /**
       * optional .CUserMessageShake shake = 1;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeOrBuilder getShakeOrBuilder() {
        if (shakeBuilder_ != null) {
          return shakeBuilder_.getMessageOrBuilder();
        } else {
          return shake_;
        }
      }
      /**
       * optional .CUserMessageShake shake = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake.Builder, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeOrBuilder> 
          getShakeFieldBuilder() {
        if (shakeBuilder_ == null) {
          shakeBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShake.Builder, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShakeOrBuilder>(
                  getShake(),
                  getParentForChildren(),
                  isClean());
          shake_ = null;
        }
        return shakeBuilder_;
      }

      private skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector direction_ = skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVectorOrBuilder> directionBuilder_;
      /**
       * optional .CMsgVector direction = 2;
       */
      public boolean hasDirection() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional .CMsgVector direction = 2;
       */
      public skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector getDirection() {
        if (directionBuilder_ == null) {
          return direction_;
        } else {
          return directionBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector direction = 2;
       */
      public Builder setDirection(skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector value) {
        if (directionBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          direction_ = value;
          onChanged();
        } else {
          directionBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector direction = 2;
       */
      public Builder setDirection(
          skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.Builder builderForValue) {
        if (directionBuilder_ == null) {
          direction_ = builderForValue.build();
          onChanged();
        } else {
          directionBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector direction = 2;
       */
      public Builder mergeDirection(skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector value) {
        if (directionBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              direction_ != skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            direction_ =
              skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.newBuilder(direction_).mergeFrom(value).buildPartial();
          } else {
            direction_ = value;
          }
          onChanged();
        } else {
          directionBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgVector direction = 2;
       */
      public Builder clearDirection() {
        if (directionBuilder_ == null) {
          direction_ = skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          directionBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * optional .CMsgVector direction = 2;
       */
      public skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.Builder getDirectionBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getDirectionFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector direction = 2;
       */
      public skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVectorOrBuilder getDirectionOrBuilder() {
        if (directionBuilder_ != null) {
          return directionBuilder_.getMessageOrBuilder();
        } else {
          return direction_;
        }
      }
      /**
       * optional .CMsgVector direction = 2;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVectorOrBuilder> 
          getDirectionFieldBuilder() {
        if (directionBuilder_ == null) {
          directionBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVectorOrBuilder>(
                  getDirection(),
                  getParentForChildren(),
                  isClean());
          direction_ = null;
        }
        return directionBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageShakeDir)
    }

    static {
      defaultInstance = new CUserMessageShakeDir(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageShakeDir)
  }

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

    /**
     * optional uint32 command = 1;
     */
    boolean hasCommand();
    /**
     * optional uint32 command = 1;
     */
    int getCommand();

    /**
     * optional float amplitude = 2;
     */
    boolean hasAmplitude();
    /**
     * optional float amplitude = 2;
     */
    float getAmplitude();

    /**
     * optional float frequency = 3;
     */
    boolean hasFrequency();
    /**
     * optional float frequency = 3;
     */
    float getFrequency();

    /**
     * optional float duration = 4;
     */
    boolean hasDuration();
    /**
     * optional float duration = 4;
     */
    float getDuration();
  }
  /**
   * Protobuf type {@code CUserMessageWaterShake}
   */
  public static final class CUserMessageWaterShake extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageWaterShake)
      CUserMessageWaterShakeOrBuilder {
    // Use CUserMessageWaterShake.newBuilder() to construct.
    private CUserMessageWaterShake(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageWaterShake(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageWaterShake defaultInstance;
    public static CUserMessageWaterShake getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageWaterShake getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageWaterShake(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              command_ = input.readUInt32();
              break;
            }
            case 21: {
              bitField0_ |= 0x00000002;
              amplitude_ = input.readFloat();
              break;
            }
            case 29: {
              bitField0_ |= 0x00000004;
              frequency_ = input.readFloat();
              break;
            }
            case 37: {
              bitField0_ |= 0x00000008;
              duration_ = input.readFloat();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageWaterShake_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageWaterShake_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageWaterShake.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageWaterShake.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageWaterShake parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageWaterShake(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int COMMAND_FIELD_NUMBER = 1;
    private int command_;
    /**
     * optional uint32 command = 1;
     */
    public boolean hasCommand() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional uint32 command = 1;
     */
    public int getCommand() {
      return command_;
    }

    public static final int AMPLITUDE_FIELD_NUMBER = 2;
    private float amplitude_;
    /**
     * optional float amplitude = 2;
     */
    public boolean hasAmplitude() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional float amplitude = 2;
     */
    public float getAmplitude() {
      return amplitude_;
    }

    public static final int FREQUENCY_FIELD_NUMBER = 3;
    private float frequency_;
    /**
     * optional float frequency = 3;
     */
    public boolean hasFrequency() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional float frequency = 3;
     */
    public float getFrequency() {
      return frequency_;
    }

    public static final int DURATION_FIELD_NUMBER = 4;
    private float duration_;
    /**
     * optional float duration = 4;
     */
    public boolean hasDuration() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional float duration = 4;
     */
    public float getDuration() {
      return duration_;
    }

    private void initFields() {
      command_ = 0;
      amplitude_ = 0F;
      frequency_ = 0F;
      duration_ = 0F;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeUInt32(1, command_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeFloat(2, amplitude_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeFloat(3, frequency_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeFloat(4, duration_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, command_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(2, amplitude_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(3, frequency_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(4, duration_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageWaterShake parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageWaterShake parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageWaterShake parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageWaterShake parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageWaterShake parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageWaterShake parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageWaterShake parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageWaterShake parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageWaterShake parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageWaterShake parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageWaterShake prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageWaterShake}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageWaterShake)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageWaterShakeOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageWaterShake_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageWaterShake_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageWaterShake.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageWaterShake.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageWaterShake.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        command_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        amplitude_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000002);
        frequency_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000004);
        duration_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageWaterShake_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageWaterShake getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageWaterShake.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageWaterShake build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageWaterShake result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageWaterShake buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageWaterShake result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageWaterShake(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.command_ = command_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.amplitude_ = amplitude_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.frequency_ = frequency_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.duration_ = duration_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageWaterShake) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageWaterShake)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageWaterShake other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageWaterShake.getDefaultInstance()) return this;
        if (other.hasCommand()) {
          setCommand(other.getCommand());
        }
        if (other.hasAmplitude()) {
          setAmplitude(other.getAmplitude());
        }
        if (other.hasFrequency()) {
          setFrequency(other.getFrequency());
        }
        if (other.hasDuration()) {
          setDuration(other.getDuration());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageWaterShake parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageWaterShake) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int command_ ;
      /**
       * optional uint32 command = 1;
       */
      public boolean hasCommand() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional uint32 command = 1;
       */
      public int getCommand() {
        return command_;
      }
      /**
       * optional uint32 command = 1;
       */
      public Builder setCommand(int value) {
        bitField0_ |= 0x00000001;
        command_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 command = 1;
       */
      public Builder clearCommand() {
        bitField0_ = (bitField0_ & ~0x00000001);
        command_ = 0;
        onChanged();
        return this;
      }

      private float amplitude_ ;
      /**
       * optional float amplitude = 2;
       */
      public boolean hasAmplitude() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional float amplitude = 2;
       */
      public float getAmplitude() {
        return amplitude_;
      }
      /**
       * optional float amplitude = 2;
       */
      public Builder setAmplitude(float value) {
        bitField0_ |= 0x00000002;
        amplitude_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float amplitude = 2;
       */
      public Builder clearAmplitude() {
        bitField0_ = (bitField0_ & ~0x00000002);
        amplitude_ = 0F;
        onChanged();
        return this;
      }

      private float frequency_ ;
      /**
       * optional float frequency = 3;
       */
      public boolean hasFrequency() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional float frequency = 3;
       */
      public float getFrequency() {
        return frequency_;
      }
      /**
       * optional float frequency = 3;
       */
      public Builder setFrequency(float value) {
        bitField0_ |= 0x00000004;
        frequency_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float frequency = 3;
       */
      public Builder clearFrequency() {
        bitField0_ = (bitField0_ & ~0x00000004);
        frequency_ = 0F;
        onChanged();
        return this;
      }

      private float duration_ ;
      /**
       * optional float duration = 4;
       */
      public boolean hasDuration() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional float duration = 4;
       */
      public float getDuration() {
        return duration_;
      }
      /**
       * optional float duration = 4;
       */
      public Builder setDuration(float value) {
        bitField0_ |= 0x00000008;
        duration_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float duration = 4;
       */
      public Builder clearDuration() {
        bitField0_ = (bitField0_ & ~0x00000008);
        duration_ = 0F;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageWaterShake)
    }

    static {
      defaultInstance = new CUserMessageWaterShake(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageWaterShake)
  }

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

    /**
     * optional uint32 command = 1;
     */
    boolean hasCommand();
    /**
     * optional uint32 command = 1;
     */
    int getCommand();

    /**
     * optional bool ease_in_out = 2;
     */
    boolean hasEaseInOut();
    /**
     * optional bool ease_in_out = 2;
     */
    boolean getEaseInOut();

    /**
     * optional .CMsgVector angle = 3;
     */
    boolean hasAngle();
    /**
     * optional .CMsgVector angle = 3;
     */
    skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector getAngle();
    /**
     * optional .CMsgVector angle = 3;
     */
    skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVectorOrBuilder getAngleOrBuilder();

    /**
     * optional float duration = 4;
     */
    boolean hasDuration();
    /**
     * optional float duration = 4;
     */
    float getDuration();

    /**
     * optional float time = 5;
     */
    boolean hasTime();
    /**
     * optional float time = 5;
     */
    float getTime();
  }
  /**
   * Protobuf type {@code CUserMessageScreenTilt}
   */
  public static final class CUserMessageScreenTilt extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageScreenTilt)
      CUserMessageScreenTiltOrBuilder {
    // Use CUserMessageScreenTilt.newBuilder() to construct.
    private CUserMessageScreenTilt(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageScreenTilt(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageScreenTilt defaultInstance;
    public static CUserMessageScreenTilt getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageScreenTilt getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageScreenTilt(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              command_ = input.readUInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              easeInOut_ = input.readBool();
              break;
            }
            case 26: {
              skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) == 0x00000004)) {
                subBuilder = angle_.toBuilder();
              }
              angle_ = input.readMessage(skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(angle_);
                angle_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
            case 37: {
              bitField0_ |= 0x00000008;
              duration_ = input.readFloat();
              break;
            }
            case 45: {
              bitField0_ |= 0x00000010;
              time_ = input.readFloat();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageScreenTilt_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageScreenTilt_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageScreenTilt.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageScreenTilt.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageScreenTilt parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageScreenTilt(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int COMMAND_FIELD_NUMBER = 1;
    private int command_;
    /**
     * optional uint32 command = 1;
     */
    public boolean hasCommand() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional uint32 command = 1;
     */
    public int getCommand() {
      return command_;
    }

    public static final int EASE_IN_OUT_FIELD_NUMBER = 2;
    private boolean easeInOut_;
    /**
     * optional bool ease_in_out = 2;
     */
    public boolean hasEaseInOut() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional bool ease_in_out = 2;
     */
    public boolean getEaseInOut() {
      return easeInOut_;
    }

    public static final int ANGLE_FIELD_NUMBER = 3;
    private skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector angle_;
    /**
     * optional .CMsgVector angle = 3;
     */
    public boolean hasAngle() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional .CMsgVector angle = 3;
     */
    public skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector getAngle() {
      return angle_;
    }
    /**
     * optional .CMsgVector angle = 3;
     */
    public skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVectorOrBuilder getAngleOrBuilder() {
      return angle_;
    }

    public static final int DURATION_FIELD_NUMBER = 4;
    private float duration_;
    /**
     * optional float duration = 4;
     */
    public boolean hasDuration() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional float duration = 4;
     */
    public float getDuration() {
      return duration_;
    }

    public static final int TIME_FIELD_NUMBER = 5;
    private float time_;
    /**
     * optional float time = 5;
     */
    public boolean hasTime() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional float time = 5;
     */
    public float getTime() {
      return time_;
    }

    private void initFields() {
      command_ = 0;
      easeInOut_ = false;
      angle_ = skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.getDefaultInstance();
      duration_ = 0F;
      time_ = 0F;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeUInt32(1, command_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBool(2, easeInOut_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(3, angle_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeFloat(4, duration_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeFloat(5, time_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, command_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(2, easeInOut_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, angle_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(4, duration_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(5, time_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageScreenTilt parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageScreenTilt parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageScreenTilt parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageScreenTilt parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageScreenTilt parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageScreenTilt parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageScreenTilt parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageScreenTilt parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageScreenTilt parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageScreenTilt parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageScreenTilt prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageScreenTilt}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageScreenTilt)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageScreenTiltOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageScreenTilt_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageScreenTilt_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageScreenTilt.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageScreenTilt.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageScreenTilt.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getAngleFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        command_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        easeInOut_ = false;
        bitField0_ = (bitField0_ & ~0x00000002);
        if (angleBuilder_ == null) {
          angle_ = skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          angleBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        duration_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000008);
        time_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageScreenTilt_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageScreenTilt getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageScreenTilt.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageScreenTilt build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageScreenTilt result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageScreenTilt buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageScreenTilt result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageScreenTilt(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.command_ = command_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.easeInOut_ = easeInOut_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (angleBuilder_ == null) {
          result.angle_ = angle_;
        } else {
          result.angle_ = angleBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.duration_ = duration_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.time_ = time_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageScreenTilt) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageScreenTilt)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageScreenTilt other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageScreenTilt.getDefaultInstance()) return this;
        if (other.hasCommand()) {
          setCommand(other.getCommand());
        }
        if (other.hasEaseInOut()) {
          setEaseInOut(other.getEaseInOut());
        }
        if (other.hasAngle()) {
          mergeAngle(other.getAngle());
        }
        if (other.hasDuration()) {
          setDuration(other.getDuration());
        }
        if (other.hasTime()) {
          setTime(other.getTime());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageScreenTilt parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageScreenTilt) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int command_ ;
      /**
       * optional uint32 command = 1;
       */
      public boolean hasCommand() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional uint32 command = 1;
       */
      public int getCommand() {
        return command_;
      }
      /**
       * optional uint32 command = 1;
       */
      public Builder setCommand(int value) {
        bitField0_ |= 0x00000001;
        command_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 command = 1;
       */
      public Builder clearCommand() {
        bitField0_ = (bitField0_ & ~0x00000001);
        command_ = 0;
        onChanged();
        return this;
      }

      private boolean easeInOut_ ;
      /**
       * optional bool ease_in_out = 2;
       */
      public boolean hasEaseInOut() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional bool ease_in_out = 2;
       */
      public boolean getEaseInOut() {
        return easeInOut_;
      }
      /**
       * optional bool ease_in_out = 2;
       */
      public Builder setEaseInOut(boolean value) {
        bitField0_ |= 0x00000002;
        easeInOut_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool ease_in_out = 2;
       */
      public Builder clearEaseInOut() {
        bitField0_ = (bitField0_ & ~0x00000002);
        easeInOut_ = false;
        onChanged();
        return this;
      }

      private skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector angle_ = skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVectorOrBuilder> angleBuilder_;
      /**
       * optional .CMsgVector angle = 3;
       */
      public boolean hasAngle() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional .CMsgVector angle = 3;
       */
      public skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector getAngle() {
        if (angleBuilder_ == null) {
          return angle_;
        } else {
          return angleBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector angle = 3;
       */
      public Builder setAngle(skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector value) {
        if (angleBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          angle_ = value;
          onChanged();
        } else {
          angleBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CMsgVector angle = 3;
       */
      public Builder setAngle(
          skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.Builder builderForValue) {
        if (angleBuilder_ == null) {
          angle_ = builderForValue.build();
          onChanged();
        } else {
          angleBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CMsgVector angle = 3;
       */
      public Builder mergeAngle(skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector value) {
        if (angleBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004) &&
              angle_ != skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            angle_ =
              skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.newBuilder(angle_).mergeFrom(value).buildPartial();
          } else {
            angle_ = value;
          }
          onChanged();
        } else {
          angleBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CMsgVector angle = 3;
       */
      public Builder clearAngle() {
        if (angleBuilder_ == null) {
          angle_ = skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          angleBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * optional .CMsgVector angle = 3;
       */
      public skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.Builder getAngleBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getAngleFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector angle = 3;
       */
      public skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVectorOrBuilder getAngleOrBuilder() {
        if (angleBuilder_ != null) {
          return angleBuilder_.getMessageOrBuilder();
        } else {
          return angle_;
        }
      }
      /**
       * optional .CMsgVector angle = 3;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVectorOrBuilder> 
          getAngleFieldBuilder() {
        if (angleBuilder_ == null) {
          angleBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVectorOrBuilder>(
                  getAngle(),
                  getParentForChildren(),
                  isClean());
          angle_ = null;
        }
        return angleBuilder_;
      }

      private float duration_ ;
      /**
       * optional float duration = 4;
       */
      public boolean hasDuration() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional float duration = 4;
       */
      public float getDuration() {
        return duration_;
      }
      /**
       * optional float duration = 4;
       */
      public Builder setDuration(float value) {
        bitField0_ |= 0x00000008;
        duration_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float duration = 4;
       */
      public Builder clearDuration() {
        bitField0_ = (bitField0_ & ~0x00000008);
        duration_ = 0F;
        onChanged();
        return this;
      }

      private float time_ ;
      /**
       * optional float time = 5;
       */
      public boolean hasTime() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional float time = 5;
       */
      public float getTime() {
        return time_;
      }
      /**
       * optional float time = 5;
       */
      public Builder setTime(float value) {
        bitField0_ |= 0x00000010;
        time_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float time = 5;
       */
      public Builder clearTime() {
        bitField0_ = (bitField0_ & ~0x00000010);
        time_ = 0F;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageScreenTilt)
    }

    static {
      defaultInstance = new CUserMessageScreenTilt(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageScreenTilt)
  }

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

    /**
     * optional int32 playerindex = 1 [default = -1];
     */
    boolean hasPlayerindex();
    /**
     * optional int32 playerindex = 1 [default = -1];
     */
    int getPlayerindex();

    /**
     * optional string text = 2;
     */
    boolean hasText();
    /**
     * optional string text = 2;
     */
    java.lang.String getText();
    /**
     * optional string text = 2;
     */
    com.google.protobuf.ByteString
        getTextBytes();

    /**
     * optional bool chat = 3;
     */
    boolean hasChat();
    /**
     * optional bool chat = 3;
     */
    boolean getChat();
  }
  /**
   * Protobuf type {@code CUserMessageSayText}
   */
  public static final class CUserMessageSayText extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageSayText)
      CUserMessageSayTextOrBuilder {
    // Use CUserMessageSayText.newBuilder() to construct.
    private CUserMessageSayText(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageSayText(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageSayText defaultInstance;
    public static CUserMessageSayText getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageSayText getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageSayText(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              playerindex_ = input.readInt32();
              break;
            }
            case 18: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000002;
              text_ = bs;
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              chat_ = input.readBool();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageSayText_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageSayText_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageSayText parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageSayText(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int PLAYERINDEX_FIELD_NUMBER = 1;
    private int playerindex_;
    /**
     * optional int32 playerindex = 1 [default = -1];
     */
    public boolean hasPlayerindex() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 playerindex = 1 [default = -1];
     */
    public int getPlayerindex() {
      return playerindex_;
    }

    public static final int TEXT_FIELD_NUMBER = 2;
    private java.lang.Object text_;
    /**
     * optional string text = 2;
     */
    public boolean hasText() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional string text = 2;
     */
    public java.lang.String getText() {
      java.lang.Object ref = text_;
      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()) {
          text_ = s;
        }
        return s;
      }
    }
    /**
     * optional string text = 2;
     */
    public com.google.protobuf.ByteString
        getTextBytes() {
      java.lang.Object ref = text_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        text_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CHAT_FIELD_NUMBER = 3;
    private boolean chat_;
    /**
     * optional bool chat = 3;
     */
    public boolean hasChat() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional bool chat = 3;
     */
    public boolean getChat() {
      return chat_;
    }

    private void initFields() {
      playerindex_ = -1;
      text_ = "";
      chat_ = false;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, playerindex_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, getTextBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBool(3, chat_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, playerindex_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, getTextBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(3, chat_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageSayText}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageSayText)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageSayText_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageSayText_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        playerindex_ = -1;
        bitField0_ = (bitField0_ & ~0x00000001);
        text_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        chat_ = false;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageSayText_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.playerindex_ = playerindex_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.text_ = text_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.chat_ = chat_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText.getDefaultInstance()) return this;
        if (other.hasPlayerindex()) {
          setPlayerindex(other.getPlayerindex());
        }
        if (other.hasText()) {
          bitField0_ |= 0x00000002;
          text_ = other.text_;
          onChanged();
        }
        if (other.hasChat()) {
          setChat(other.getChat());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int playerindex_ = -1;
      /**
       * optional int32 playerindex = 1 [default = -1];
       */
      public boolean hasPlayerindex() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 playerindex = 1 [default = -1];
       */
      public int getPlayerindex() {
        return playerindex_;
      }
      /**
       * optional int32 playerindex = 1 [default = -1];
       */
      public Builder setPlayerindex(int value) {
        bitField0_ |= 0x00000001;
        playerindex_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 playerindex = 1 [default = -1];
       */
      public Builder clearPlayerindex() {
        bitField0_ = (bitField0_ & ~0x00000001);
        playerindex_ = -1;
        onChanged();
        return this;
      }

      private java.lang.Object text_ = "";
      /**
       * optional string text = 2;
       */
      public boolean hasText() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional string text = 2;
       */
      public java.lang.String getText() {
        java.lang.Object ref = text_;
        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()) {
            text_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string text = 2;
       */
      public com.google.protobuf.ByteString
          getTextBytes() {
        java.lang.Object ref = text_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          text_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string text = 2;
       */
      public Builder setText(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        text_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string text = 2;
       */
      public Builder clearText() {
        bitField0_ = (bitField0_ & ~0x00000002);
        text_ = getDefaultInstance().getText();
        onChanged();
        return this;
      }
      /**
       * optional string text = 2;
       */
      public Builder setTextBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        text_ = value;
        onChanged();
        return this;
      }

      private boolean chat_ ;
      /**
       * optional bool chat = 3;
       */
      public boolean hasChat() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional bool chat = 3;
       */
      public boolean getChat() {
        return chat_;
      }
      /**
       * optional bool chat = 3;
       */
      public Builder setChat(boolean value) {
        bitField0_ |= 0x00000004;
        chat_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool chat = 3;
       */
      public Builder clearChat() {
        bitField0_ = (bitField0_ & ~0x00000004);
        chat_ = false;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageSayText)
    }

    static {
      defaultInstance = new CUserMessageSayText(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageSayText)
  }

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

    /**
     * optional int32 entityindex = 1 [default = -1];
     */
    boolean hasEntityindex();
    /**
     * optional int32 entityindex = 1 [default = -1];
     */
    int getEntityindex();

    /**
     * optional bool chat = 2;
     */
    boolean hasChat();
    /**
     * optional bool chat = 2;
     */
    boolean getChat();

    /**
     * optional string messagename = 3;
     */
    boolean hasMessagename();
    /**
     * optional string messagename = 3;
     */
    java.lang.String getMessagename();
    /**
     * optional string messagename = 3;
     */
    com.google.protobuf.ByteString
        getMessagenameBytes();

    /**
     * optional string param1 = 4;
     */
    boolean hasParam1();
    /**
     * optional string param1 = 4;
     */
    java.lang.String getParam1();
    /**
     * optional string param1 = 4;
     */
    com.google.protobuf.ByteString
        getParam1Bytes();

    /**
     * optional string param2 = 5;
     */
    boolean hasParam2();
    /**
     * optional string param2 = 5;
     */
    java.lang.String getParam2();
    /**
     * optional string param2 = 5;
     */
    com.google.protobuf.ByteString
        getParam2Bytes();

    /**
     * optional string param3 = 6;
     */
    boolean hasParam3();
    /**
     * optional string param3 = 6;
     */
    java.lang.String getParam3();
    /**
     * optional string param3 = 6;
     */
    com.google.protobuf.ByteString
        getParam3Bytes();

    /**
     * optional string param4 = 7;
     */
    boolean hasParam4();
    /**
     * optional string param4 = 7;
     */
    java.lang.String getParam4();
    /**
     * optional string param4 = 7;
     */
    com.google.protobuf.ByteString
        getParam4Bytes();
  }
  /**
   * Protobuf type {@code CUserMessageSayText2}
   */
  public static final class CUserMessageSayText2 extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageSayText2)
      CUserMessageSayText2OrBuilder {
    // Use CUserMessageSayText2.newBuilder() to construct.
    private CUserMessageSayText2(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageSayText2(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageSayText2 defaultInstance;
    public static CUserMessageSayText2 getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageSayText2 getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageSayText2(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              entityindex_ = input.readInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              chat_ = input.readBool();
              break;
            }
            case 26: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000004;
              messagename_ = bs;
              break;
            }
            case 34: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000008;
              param1_ = bs;
              break;
            }
            case 42: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000010;
              param2_ = bs;
              break;
            }
            case 50: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000020;
              param3_ = bs;
              break;
            }
            case 58: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000040;
              param4_ = bs;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageSayText2_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageSayText2_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText2.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText2.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageSayText2 parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageSayText2(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int ENTITYINDEX_FIELD_NUMBER = 1;
    private int entityindex_;
    /**
     * optional int32 entityindex = 1 [default = -1];
     */
    public boolean hasEntityindex() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 entityindex = 1 [default = -1];
     */
    public int getEntityindex() {
      return entityindex_;
    }

    public static final int CHAT_FIELD_NUMBER = 2;
    private boolean chat_;
    /**
     * optional bool chat = 2;
     */
    public boolean hasChat() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional bool chat = 2;
     */
    public boolean getChat() {
      return chat_;
    }

    public static final int MESSAGENAME_FIELD_NUMBER = 3;
    private java.lang.Object messagename_;
    /**
     * optional string messagename = 3;
     */
    public boolean hasMessagename() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional string messagename = 3;
     */
    public java.lang.String getMessagename() {
      java.lang.Object ref = messagename_;
      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()) {
          messagename_ = s;
        }
        return s;
      }
    }
    /**
     * optional string messagename = 3;
     */
    public com.google.protobuf.ByteString
        getMessagenameBytes() {
      java.lang.Object ref = messagename_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        messagename_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PARAM1_FIELD_NUMBER = 4;
    private java.lang.Object param1_;
    /**
     * optional string param1 = 4;
     */
    public boolean hasParam1() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional string param1 = 4;
     */
    public java.lang.String getParam1() {
      java.lang.Object ref = param1_;
      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()) {
          param1_ = s;
        }
        return s;
      }
    }
    /**
     * optional string param1 = 4;
     */
    public com.google.protobuf.ByteString
        getParam1Bytes() {
      java.lang.Object ref = param1_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        param1_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PARAM2_FIELD_NUMBER = 5;
    private java.lang.Object param2_;
    /**
     * optional string param2 = 5;
     */
    public boolean hasParam2() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional string param2 = 5;
     */
    public java.lang.String getParam2() {
      java.lang.Object ref = param2_;
      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()) {
          param2_ = s;
        }
        return s;
      }
    }
    /**
     * optional string param2 = 5;
     */
    public com.google.protobuf.ByteString
        getParam2Bytes() {
      java.lang.Object ref = param2_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        param2_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PARAM3_FIELD_NUMBER = 6;
    private java.lang.Object param3_;
    /**
     * optional string param3 = 6;
     */
    public boolean hasParam3() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * optional string param3 = 6;
     */
    public java.lang.String getParam3() {
      java.lang.Object ref = param3_;
      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()) {
          param3_ = s;
        }
        return s;
      }
    }
    /**
     * optional string param3 = 6;
     */
    public com.google.protobuf.ByteString
        getParam3Bytes() {
      java.lang.Object ref = param3_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        param3_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int PARAM4_FIELD_NUMBER = 7;
    private java.lang.Object param4_;
    /**
     * optional string param4 = 7;
     */
    public boolean hasParam4() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * optional string param4 = 7;
     */
    public java.lang.String getParam4() {
      java.lang.Object ref = param4_;
      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()) {
          param4_ = s;
        }
        return s;
      }
    }
    /**
     * optional string param4 = 7;
     */
    public com.google.protobuf.ByteString
        getParam4Bytes() {
      java.lang.Object ref = param4_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        param4_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      entityindex_ = -1;
      chat_ = false;
      messagename_ = "";
      param1_ = "";
      param2_ = "";
      param3_ = "";
      param4_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, entityindex_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBool(2, chat_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBytes(3, getMessagenameBytes());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeBytes(4, getParam1Bytes());
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeBytes(5, getParam2Bytes());
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeBytes(6, getParam3Bytes());
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeBytes(7, getParam4Bytes());
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, entityindex_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(2, chat_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, getMessagenameBytes());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(4, getParam1Bytes());
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(5, getParam2Bytes());
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(6, getParam3Bytes());
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(7, getParam4Bytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText2 parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText2 parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText2 parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText2 parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText2 parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText2 parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText2 parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText2 parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText2 parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText2 parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText2 prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageSayText2}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageSayText2)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText2OrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageSayText2_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageSayText2_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText2.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText2.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText2.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        entityindex_ = -1;
        bitField0_ = (bitField0_ & ~0x00000001);
        chat_ = false;
        bitField0_ = (bitField0_ & ~0x00000002);
        messagename_ = "";
        bitField0_ = (bitField0_ & ~0x00000004);
        param1_ = "";
        bitField0_ = (bitField0_ & ~0x00000008);
        param2_ = "";
        bitField0_ = (bitField0_ & ~0x00000010);
        param3_ = "";
        bitField0_ = (bitField0_ & ~0x00000020);
        param4_ = "";
        bitField0_ = (bitField0_ & ~0x00000040);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageSayText2_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText2 getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText2.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText2 build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText2 result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText2 buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText2 result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText2(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.entityindex_ = entityindex_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.chat_ = chat_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.messagename_ = messagename_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.param1_ = param1_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.param2_ = param2_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.param3_ = param3_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.param4_ = param4_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText2) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText2)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText2 other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText2.getDefaultInstance()) return this;
        if (other.hasEntityindex()) {
          setEntityindex(other.getEntityindex());
        }
        if (other.hasChat()) {
          setChat(other.getChat());
        }
        if (other.hasMessagename()) {
          bitField0_ |= 0x00000004;
          messagename_ = other.messagename_;
          onChanged();
        }
        if (other.hasParam1()) {
          bitField0_ |= 0x00000008;
          param1_ = other.param1_;
          onChanged();
        }
        if (other.hasParam2()) {
          bitField0_ |= 0x00000010;
          param2_ = other.param2_;
          onChanged();
        }
        if (other.hasParam3()) {
          bitField0_ |= 0x00000020;
          param3_ = other.param3_;
          onChanged();
        }
        if (other.hasParam4()) {
          bitField0_ |= 0x00000040;
          param4_ = other.param4_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText2 parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayText2) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int entityindex_ = -1;
      /**
       * optional int32 entityindex = 1 [default = -1];
       */
      public boolean hasEntityindex() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 entityindex = 1 [default = -1];
       */
      public int getEntityindex() {
        return entityindex_;
      }
      /**
       * optional int32 entityindex = 1 [default = -1];
       */
      public Builder setEntityindex(int value) {
        bitField0_ |= 0x00000001;
        entityindex_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 entityindex = 1 [default = -1];
       */
      public Builder clearEntityindex() {
        bitField0_ = (bitField0_ & ~0x00000001);
        entityindex_ = -1;
        onChanged();
        return this;
      }

      private boolean chat_ ;
      /**
       * optional bool chat = 2;
       */
      public boolean hasChat() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional bool chat = 2;
       */
      public boolean getChat() {
        return chat_;
      }
      /**
       * optional bool chat = 2;
       */
      public Builder setChat(boolean value) {
        bitField0_ |= 0x00000002;
        chat_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool chat = 2;
       */
      public Builder clearChat() {
        bitField0_ = (bitField0_ & ~0x00000002);
        chat_ = false;
        onChanged();
        return this;
      }

      private java.lang.Object messagename_ = "";
      /**
       * optional string messagename = 3;
       */
      public boolean hasMessagename() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional string messagename = 3;
       */
      public java.lang.String getMessagename() {
        java.lang.Object ref = messagename_;
        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()) {
            messagename_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string messagename = 3;
       */
      public com.google.protobuf.ByteString
          getMessagenameBytes() {
        java.lang.Object ref = messagename_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          messagename_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string messagename = 3;
       */
      public Builder setMessagename(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        messagename_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string messagename = 3;
       */
      public Builder clearMessagename() {
        bitField0_ = (bitField0_ & ~0x00000004);
        messagename_ = getDefaultInstance().getMessagename();
        onChanged();
        return this;
      }
      /**
       * optional string messagename = 3;
       */
      public Builder setMessagenameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        messagename_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object param1_ = "";
      /**
       * optional string param1 = 4;
       */
      public boolean hasParam1() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional string param1 = 4;
       */
      public java.lang.String getParam1() {
        java.lang.Object ref = param1_;
        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()) {
            param1_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string param1 = 4;
       */
      public com.google.protobuf.ByteString
          getParam1Bytes() {
        java.lang.Object ref = param1_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          param1_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string param1 = 4;
       */
      public Builder setParam1(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        param1_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string param1 = 4;
       */
      public Builder clearParam1() {
        bitField0_ = (bitField0_ & ~0x00000008);
        param1_ = getDefaultInstance().getParam1();
        onChanged();
        return this;
      }
      /**
       * optional string param1 = 4;
       */
      public Builder setParam1Bytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        param1_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object param2_ = "";
      /**
       * optional string param2 = 5;
       */
      public boolean hasParam2() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional string param2 = 5;
       */
      public java.lang.String getParam2() {
        java.lang.Object ref = param2_;
        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()) {
            param2_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string param2 = 5;
       */
      public com.google.protobuf.ByteString
          getParam2Bytes() {
        java.lang.Object ref = param2_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          param2_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string param2 = 5;
       */
      public Builder setParam2(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
        param2_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string param2 = 5;
       */
      public Builder clearParam2() {
        bitField0_ = (bitField0_ & ~0x00000010);
        param2_ = getDefaultInstance().getParam2();
        onChanged();
        return this;
      }
      /**
       * optional string param2 = 5;
       */
      public Builder setParam2Bytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
        param2_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object param3_ = "";
      /**
       * optional string param3 = 6;
       */
      public boolean hasParam3() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional string param3 = 6;
       */
      public java.lang.String getParam3() {
        java.lang.Object ref = param3_;
        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()) {
            param3_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string param3 = 6;
       */
      public com.google.protobuf.ByteString
          getParam3Bytes() {
        java.lang.Object ref = param3_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          param3_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string param3 = 6;
       */
      public Builder setParam3(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
        param3_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string param3 = 6;
       */
      public Builder clearParam3() {
        bitField0_ = (bitField0_ & ~0x00000020);
        param3_ = getDefaultInstance().getParam3();
        onChanged();
        return this;
      }
      /**
       * optional string param3 = 6;
       */
      public Builder setParam3Bytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
        param3_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object param4_ = "";
      /**
       * optional string param4 = 7;
       */
      public boolean hasParam4() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * optional string param4 = 7;
       */
      public java.lang.String getParam4() {
        java.lang.Object ref = param4_;
        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()) {
            param4_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string param4 = 7;
       */
      public com.google.protobuf.ByteString
          getParam4Bytes() {
        java.lang.Object ref = param4_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          param4_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string param4 = 7;
       */
      public Builder setParam4(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000040;
        param4_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string param4 = 7;
       */
      public Builder clearParam4() {
        bitField0_ = (bitField0_ & ~0x00000040);
        param4_ = getDefaultInstance().getParam4();
        onChanged();
        return this;
      }
      /**
       * optional string param4 = 7;
       */
      public Builder setParam4Bytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000040;
        param4_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageSayText2)
    }

    static {
      defaultInstance = new CUserMessageSayText2(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageSayText2)
  }

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

    /**
     * optional uint32 channel = 1;
     */
    boolean hasChannel();
    /**
     * optional uint32 channel = 1;
     */
    int getChannel();

    /**
     * optional float x = 2;
     */
    boolean hasX();
    /**
     * optional float x = 2;
     */
    float getX();

    /**
     * optional float y = 3;
     */
    boolean hasY();
    /**
     * optional float y = 3;
     */
    float getY();

    /**
     * optional fixed32 color1 = 4;
     */
    boolean hasColor1();
    /**
     * optional fixed32 color1 = 4;
     */
    int getColor1();

    /**
     * optional fixed32 color2 = 5;
     */
    boolean hasColor2();
    /**
     * optional fixed32 color2 = 5;
     */
    int getColor2();

    /**
     * optional uint32 effect = 6;
     */
    boolean hasEffect();
    /**
     * optional uint32 effect = 6;
     */
    int getEffect();

    /**
     * optional string message = 11;
     */
    boolean hasMessage();
    /**
     * optional string message = 11;
     */
    java.lang.String getMessage();
    /**
     * optional string message = 11;
     */
    com.google.protobuf.ByteString
        getMessageBytes();
  }
  /**
   * Protobuf type {@code CUserMessageHudMsg}
   */
  public static final class CUserMessageHudMsg extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageHudMsg)
      CUserMessageHudMsgOrBuilder {
    // Use CUserMessageHudMsg.newBuilder() to construct.
    private CUserMessageHudMsg(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageHudMsg(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageHudMsg defaultInstance;
    public static CUserMessageHudMsg getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageHudMsg getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageHudMsg(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              channel_ = input.readUInt32();
              break;
            }
            case 21: {
              bitField0_ |= 0x00000002;
              x_ = input.readFloat();
              break;
            }
            case 29: {
              bitField0_ |= 0x00000004;
              y_ = input.readFloat();
              break;
            }
            case 37: {
              bitField0_ |= 0x00000008;
              color1_ = input.readFixed32();
              break;
            }
            case 45: {
              bitField0_ |= 0x00000010;
              color2_ = input.readFixed32();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000020;
              effect_ = input.readUInt32();
              break;
            }
            case 90: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000040;
              message_ = bs;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageHudMsg_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageHudMsg_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudMsg.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudMsg.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageHudMsg parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageHudMsg(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int CHANNEL_FIELD_NUMBER = 1;
    private int channel_;
    /**
     * optional uint32 channel = 1;
     */
    public boolean hasChannel() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional uint32 channel = 1;
     */
    public int getChannel() {
      return channel_;
    }

    public static final int X_FIELD_NUMBER = 2;
    private float x_;
    /**
     * optional float x = 2;
     */
    public boolean hasX() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional float x = 2;
     */
    public float getX() {
      return x_;
    }

    public static final int Y_FIELD_NUMBER = 3;
    private float y_;
    /**
     * optional float y = 3;
     */
    public boolean hasY() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional float y = 3;
     */
    public float getY() {
      return y_;
    }

    public static final int COLOR1_FIELD_NUMBER = 4;
    private int color1_;
    /**
     * optional fixed32 color1 = 4;
     */
    public boolean hasColor1() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional fixed32 color1 = 4;
     */
    public int getColor1() {
      return color1_;
    }

    public static final int COLOR2_FIELD_NUMBER = 5;
    private int color2_;
    /**
     * optional fixed32 color2 = 5;
     */
    public boolean hasColor2() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional fixed32 color2 = 5;
     */
    public int getColor2() {
      return color2_;
    }

    public static final int EFFECT_FIELD_NUMBER = 6;
    private int effect_;
    /**
     * optional uint32 effect = 6;
     */
    public boolean hasEffect() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * optional uint32 effect = 6;
     */
    public int getEffect() {
      return effect_;
    }

    public static final int MESSAGE_FIELD_NUMBER = 11;
    private java.lang.Object message_;
    /**
     * optional string message = 11;
     */
    public boolean hasMessage() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * optional string message = 11;
     */
    public java.lang.String getMessage() {
      java.lang.Object ref = message_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          message_ = s;
        }
        return s;
      }
    }
    /**
     * optional string message = 11;
     */
    public com.google.protobuf.ByteString
        getMessageBytes() {
      java.lang.Object ref = message_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        message_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      channel_ = 0;
      x_ = 0F;
      y_ = 0F;
      color1_ = 0;
      color2_ = 0;
      effect_ = 0;
      message_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeUInt32(1, channel_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeFloat(2, x_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeFloat(3, y_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeFixed32(4, color1_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeFixed32(5, color2_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeUInt32(6, effect_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeBytes(11, getMessageBytes());
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, channel_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(2, x_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(3, y_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(4, color1_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(5, color2_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(6, effect_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(11, getMessageBytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudMsg parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudMsg parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudMsg parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudMsg parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudMsg parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudMsg parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudMsg parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudMsg parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudMsg parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudMsg parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudMsg prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageHudMsg}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageHudMsg)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudMsgOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageHudMsg_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageHudMsg_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudMsg.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudMsg.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudMsg.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        channel_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        x_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000002);
        y_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000004);
        color1_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        color2_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        effect_ = 0;
        bitField0_ = (bitField0_ & ~0x00000020);
        message_ = "";
        bitField0_ = (bitField0_ & ~0x00000040);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageHudMsg_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudMsg getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudMsg.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudMsg build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudMsg result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudMsg buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudMsg result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudMsg(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.channel_ = channel_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.x_ = x_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.y_ = y_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.color1_ = color1_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.color2_ = color2_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.effect_ = effect_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.message_ = message_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudMsg) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudMsg)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudMsg other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudMsg.getDefaultInstance()) return this;
        if (other.hasChannel()) {
          setChannel(other.getChannel());
        }
        if (other.hasX()) {
          setX(other.getX());
        }
        if (other.hasY()) {
          setY(other.getY());
        }
        if (other.hasColor1()) {
          setColor1(other.getColor1());
        }
        if (other.hasColor2()) {
          setColor2(other.getColor2());
        }
        if (other.hasEffect()) {
          setEffect(other.getEffect());
        }
        if (other.hasMessage()) {
          bitField0_ |= 0x00000040;
          message_ = other.message_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudMsg parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudMsg) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int channel_ ;
      /**
       * optional uint32 channel = 1;
       */
      public boolean hasChannel() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional uint32 channel = 1;
       */
      public int getChannel() {
        return channel_;
      }
      /**
       * optional uint32 channel = 1;
       */
      public Builder setChannel(int value) {
        bitField0_ |= 0x00000001;
        channel_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 channel = 1;
       */
      public Builder clearChannel() {
        bitField0_ = (bitField0_ & ~0x00000001);
        channel_ = 0;
        onChanged();
        return this;
      }

      private float x_ ;
      /**
       * optional float x = 2;
       */
      public boolean hasX() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional float x = 2;
       */
      public float getX() {
        return x_;
      }
      /**
       * optional float x = 2;
       */
      public Builder setX(float value) {
        bitField0_ |= 0x00000002;
        x_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float x = 2;
       */
      public Builder clearX() {
        bitField0_ = (bitField0_ & ~0x00000002);
        x_ = 0F;
        onChanged();
        return this;
      }

      private float y_ ;
      /**
       * optional float y = 3;
       */
      public boolean hasY() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional float y = 3;
       */
      public float getY() {
        return y_;
      }
      /**
       * optional float y = 3;
       */
      public Builder setY(float value) {
        bitField0_ |= 0x00000004;
        y_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float y = 3;
       */
      public Builder clearY() {
        bitField0_ = (bitField0_ & ~0x00000004);
        y_ = 0F;
        onChanged();
        return this;
      }

      private int color1_ ;
      /**
       * optional fixed32 color1 = 4;
       */
      public boolean hasColor1() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional fixed32 color1 = 4;
       */
      public int getColor1() {
        return color1_;
      }
      /**
       * optional fixed32 color1 = 4;
       */
      public Builder setColor1(int value) {
        bitField0_ |= 0x00000008;
        color1_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed32 color1 = 4;
       */
      public Builder clearColor1() {
        bitField0_ = (bitField0_ & ~0x00000008);
        color1_ = 0;
        onChanged();
        return this;
      }

      private int color2_ ;
      /**
       * optional fixed32 color2 = 5;
       */
      public boolean hasColor2() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional fixed32 color2 = 5;
       */
      public int getColor2() {
        return color2_;
      }
      /**
       * optional fixed32 color2 = 5;
       */
      public Builder setColor2(int value) {
        bitField0_ |= 0x00000010;
        color2_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed32 color2 = 5;
       */
      public Builder clearColor2() {
        bitField0_ = (bitField0_ & ~0x00000010);
        color2_ = 0;
        onChanged();
        return this;
      }

      private int effect_ ;
      /**
       * optional uint32 effect = 6;
       */
      public boolean hasEffect() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional uint32 effect = 6;
       */
      public int getEffect() {
        return effect_;
      }
      /**
       * optional uint32 effect = 6;
       */
      public Builder setEffect(int value) {
        bitField0_ |= 0x00000020;
        effect_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 effect = 6;
       */
      public Builder clearEffect() {
        bitField0_ = (bitField0_ & ~0x00000020);
        effect_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object message_ = "";
      /**
       * optional string message = 11;
       */
      public boolean hasMessage() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * optional string message = 11;
       */
      public java.lang.String getMessage() {
        java.lang.Object ref = message_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            message_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string message = 11;
       */
      public com.google.protobuf.ByteString
          getMessageBytes() {
        java.lang.Object ref = message_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          message_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string message = 11;
       */
      public Builder setMessage(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000040;
        message_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string message = 11;
       */
      public Builder clearMessage() {
        bitField0_ = (bitField0_ & ~0x00000040);
        message_ = getDefaultInstance().getMessage();
        onChanged();
        return this;
      }
      /**
       * optional string message = 11;
       */
      public Builder setMessageBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000040;
        message_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageHudMsg)
    }

    static {
      defaultInstance = new CUserMessageHudMsg(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageHudMsg)
  }

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

    /**
     * optional string message = 1;
     */
    boolean hasMessage();
    /**
     * optional string message = 1;
     */
    java.lang.String getMessage();
    /**
     * optional string message = 1;
     */
    com.google.protobuf.ByteString
        getMessageBytes();
  }
  /**
   * Protobuf type {@code CUserMessageHudText}
   */
  public static final class CUserMessageHudText extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageHudText)
      CUserMessageHudTextOrBuilder {
    // Use CUserMessageHudText.newBuilder() to construct.
    private CUserMessageHudText(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageHudText(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageHudText defaultInstance;
    public static CUserMessageHudText getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageHudText getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageHudText(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              message_ = bs;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageHudText_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageHudText_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudText.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudText.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageHudText parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageHudText(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int MESSAGE_FIELD_NUMBER = 1;
    private java.lang.Object message_;
    /**
     * optional string message = 1;
     */
    public boolean hasMessage() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional string message = 1;
     */
    public java.lang.String getMessage() {
      java.lang.Object ref = message_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          message_ = s;
        }
        return s;
      }
    }
    /**
     * optional string message = 1;
     */
    public com.google.protobuf.ByteString
        getMessageBytes() {
      java.lang.Object ref = message_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        message_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      message_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getMessageBytes());
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getMessageBytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudText parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudText parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudText parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudText parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudText parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudText parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudText parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudText parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudText parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudText parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudText prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageHudText}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageHudText)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudTextOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageHudText_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageHudText_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudText.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudText.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudText.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        message_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageHudText_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudText getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudText.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudText build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudText result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudText buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudText result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudText(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.message_ = message_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudText) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudText)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudText other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudText.getDefaultInstance()) return this;
        if (other.hasMessage()) {
          bitField0_ |= 0x00000001;
          message_ = other.message_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudText parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHudText) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object message_ = "";
      /**
       * optional string message = 1;
       */
      public boolean hasMessage() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional string message = 1;
       */
      public java.lang.String getMessage() {
        java.lang.Object ref = message_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            message_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string message = 1;
       */
      public com.google.protobuf.ByteString
          getMessageBytes() {
        java.lang.Object ref = message_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          message_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string message = 1;
       */
      public Builder setMessage(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        message_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string message = 1;
       */
      public Builder clearMessage() {
        bitField0_ = (bitField0_ & ~0x00000001);
        message_ = getDefaultInstance().getMessage();
        onChanged();
        return this;
      }
      /**
       * optional string message = 1;
       */
      public Builder setMessageBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        message_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageHudText)
    }

    static {
      defaultInstance = new CUserMessageHudText(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageHudText)
  }

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

    /**
     * optional uint32 dest = 1;
     */
    boolean hasDest();
    /**
     * optional uint32 dest = 1;
     */
    int getDest();

    /**
     * repeated string param = 2;
     */
    com.google.protobuf.ProtocolStringList
        getParamList();
    /**
     * repeated string param = 2;
     */
    int getParamCount();
    /**
     * repeated string param = 2;
     */
    java.lang.String getParam(int index);
    /**
     * repeated string param = 2;
     */
    com.google.protobuf.ByteString
        getParamBytes(int index);
  }
  /**
   * Protobuf type {@code CUserMessageTextMsg}
   */
  public static final class CUserMessageTextMsg extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageTextMsg)
      CUserMessageTextMsgOrBuilder {
    // Use CUserMessageTextMsg.newBuilder() to construct.
    private CUserMessageTextMsg(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageTextMsg(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageTextMsg defaultInstance;
    public static CUserMessageTextMsg getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageTextMsg getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageTextMsg(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              dest_ = input.readUInt32();
              break;
            }
            case 18: {
              com.google.protobuf.ByteString bs = input.readBytes();
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                param_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000002;
              }
              param_.add(bs);
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          param_ = param_.getUnmodifiableView();
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageTextMsg_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageTextMsg_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageTextMsg.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageTextMsg.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageTextMsg parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageTextMsg(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int DEST_FIELD_NUMBER = 1;
    private int dest_;
    /**
     * optional uint32 dest = 1;
     */
    public boolean hasDest() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional uint32 dest = 1;
     */
    public int getDest() {
      return dest_;
    }

    public static final int PARAM_FIELD_NUMBER = 2;
    private com.google.protobuf.LazyStringList param_;
    /**
     * repeated string param = 2;
     */
    public com.google.protobuf.ProtocolStringList
        getParamList() {
      return param_;
    }
    /**
     * repeated string param = 2;
     */
    public int getParamCount() {
      return param_.size();
    }
    /**
     * repeated string param = 2;
     */
    public java.lang.String getParam(int index) {
      return param_.get(index);
    }
    /**
     * repeated string param = 2;
     */
    public com.google.protobuf.ByteString
        getParamBytes(int index) {
      return param_.getByteString(index);
    }

    private void initFields() {
      dest_ = 0;
      param_ = com.google.protobuf.LazyStringArrayList.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeUInt32(1, dest_);
      }
      for (int i = 0; i < param_.size(); i++) {
        output.writeBytes(2, param_.getByteString(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, dest_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < param_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeBytesSizeNoTag(param_.getByteString(i));
        }
        size += dataSize;
        size += 1 * getParamList().size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageTextMsg parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageTextMsg parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageTextMsg parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageTextMsg parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageTextMsg parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageTextMsg parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageTextMsg parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageTextMsg parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageTextMsg parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageTextMsg parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageTextMsg prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageTextMsg}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageTextMsg)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageTextMsgOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageTextMsg_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageTextMsg_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageTextMsg.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageTextMsg.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageTextMsg.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        dest_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        param_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageTextMsg_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageTextMsg getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageTextMsg.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageTextMsg build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageTextMsg result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageTextMsg buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageTextMsg result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageTextMsg(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.dest_ = dest_;
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          param_ = param_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.param_ = param_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageTextMsg) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageTextMsg)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageTextMsg other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageTextMsg.getDefaultInstance()) return this;
        if (other.hasDest()) {
          setDest(other.getDest());
        }
        if (!other.param_.isEmpty()) {
          if (param_.isEmpty()) {
            param_ = other.param_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureParamIsMutable();
            param_.addAll(other.param_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageTextMsg parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageTextMsg) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int dest_ ;
      /**
       * optional uint32 dest = 1;
       */
      public boolean hasDest() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional uint32 dest = 1;
       */
      public int getDest() {
        return dest_;
      }
      /**
       * optional uint32 dest = 1;
       */
      public Builder setDest(int value) {
        bitField0_ |= 0x00000001;
        dest_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 dest = 1;
       */
      public Builder clearDest() {
        bitField0_ = (bitField0_ & ~0x00000001);
        dest_ = 0;
        onChanged();
        return this;
      }

      private com.google.protobuf.LazyStringList param_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureParamIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          param_ = new com.google.protobuf.LazyStringArrayList(param_);
          bitField0_ |= 0x00000002;
         }
      }
      /**
       * repeated string param = 2;
       */
      public com.google.protobuf.ProtocolStringList
          getParamList() {
        return param_.getUnmodifiableView();
      }
      /**
       * repeated string param = 2;
       */
      public int getParamCount() {
        return param_.size();
      }
      /**
       * repeated string param = 2;
       */
      public java.lang.String getParam(int index) {
        return param_.get(index);
      }
      /**
       * repeated string param = 2;
       */
      public com.google.protobuf.ByteString
          getParamBytes(int index) {
        return param_.getByteString(index);
      }
      /**
       * repeated string param = 2;
       */
      public Builder setParam(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureParamIsMutable();
        param_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated string param = 2;
       */
      public Builder addParam(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureParamIsMutable();
        param_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated string param = 2;
       */
      public Builder addAllParam(
          java.lang.Iterable values) {
        ensureParamIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, param_);
        onChanged();
        return this;
      }
      /**
       * repeated string param = 2;
       */
      public Builder clearParam() {
        param_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * repeated string param = 2;
       */
      public Builder addParamBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureParamIsMutable();
        param_.add(value);
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageTextMsg)
    }

    static {
      defaultInstance = new CUserMessageTextMsg(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageTextMsg)
  }

  public interface CUserMessageGameTitleOrBuilder extends
      // @@protoc_insertion_point(interface_extends:CUserMessageGameTitle)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * Protobuf type {@code CUserMessageGameTitle}
   */
  public static final class CUserMessageGameTitle extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageGameTitle)
      CUserMessageGameTitleOrBuilder {
    // Use CUserMessageGameTitle.newBuilder() to construct.
    private CUserMessageGameTitle(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageGameTitle(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageGameTitle defaultInstance;
    public static CUserMessageGameTitle getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageGameTitle getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageGameTitle(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageGameTitle_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageGameTitle_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageGameTitle.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageGameTitle.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageGameTitle parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageGameTitle(input, extensionRegistry);
      }
    };

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

    private void initFields() {
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

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

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

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

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageGameTitle parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageGameTitle parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageGameTitle parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageGameTitle parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageGameTitle parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageGameTitle parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageGameTitle parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageGameTitle parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageGameTitle parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageGameTitle parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageGameTitle prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageGameTitle}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageGameTitle)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageGameTitleOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageGameTitle_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageGameTitle_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageGameTitle.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageGameTitle.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageGameTitle.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageGameTitle_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageGameTitle getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageGameTitle.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageGameTitle build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageGameTitle result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageGameTitle buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageGameTitle result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageGameTitle(this);
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageGameTitle) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageGameTitle)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageGameTitle other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageGameTitle.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageGameTitle parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageGameTitle) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageGameTitle)
    }

    static {
      defaultInstance = new CUserMessageGameTitle(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageGameTitle)
  }

  public interface CUserMessageResetHUDOrBuilder extends
      // @@protoc_insertion_point(interface_extends:CUserMessageResetHUD)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * Protobuf type {@code CUserMessageResetHUD}
   */
  public static final class CUserMessageResetHUD extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageResetHUD)
      CUserMessageResetHUDOrBuilder {
    // Use CUserMessageResetHUD.newBuilder() to construct.
    private CUserMessageResetHUD(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageResetHUD(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageResetHUD defaultInstance;
    public static CUserMessageResetHUD getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageResetHUD getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageResetHUD(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageResetHUD_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageResetHUD_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageResetHUD.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageResetHUD.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageResetHUD parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageResetHUD(input, extensionRegistry);
      }
    };

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

    private void initFields() {
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

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

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

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

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageResetHUD parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageResetHUD parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageResetHUD parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageResetHUD parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageResetHUD parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageResetHUD parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageResetHUD parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageResetHUD parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageResetHUD parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageResetHUD parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageResetHUD prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageResetHUD}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageResetHUD)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageResetHUDOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageResetHUD_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageResetHUD_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageResetHUD.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageResetHUD.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageResetHUD.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageResetHUD_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageResetHUD getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageResetHUD.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageResetHUD build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageResetHUD result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageResetHUD buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageResetHUD result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageResetHUD(this);
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageResetHUD) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageResetHUD)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageResetHUD other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageResetHUD.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageResetHUD parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageResetHUD) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageResetHUD)
    }

    static {
      defaultInstance = new CUserMessageResetHUD(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageResetHUD)
  }

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

    /**
     * optional string soundname = 1;
     */
    boolean hasSoundname();
    /**
     * optional string soundname = 1;
     */
    java.lang.String getSoundname();
    /**
     * optional string soundname = 1;
     */
    com.google.protobuf.ByteString
        getSoundnameBytes();

    /**
     * optional bool stop = 2;
     */
    boolean hasStop();
    /**
     * optional bool stop = 2;
     */
    boolean getStop();
  }
  /**
   * Protobuf type {@code CUserMessageSendAudio}
   */
  public static final class CUserMessageSendAudio extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageSendAudio)
      CUserMessageSendAudioOrBuilder {
    // Use CUserMessageSendAudio.newBuilder() to construct.
    private CUserMessageSendAudio(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageSendAudio(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageSendAudio defaultInstance;
    public static CUserMessageSendAudio getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageSendAudio getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageSendAudio(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              soundname_ = bs;
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              stop_ = input.readBool();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageSendAudio_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageSendAudio_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSendAudio.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSendAudio.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageSendAudio parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageSendAudio(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int SOUNDNAME_FIELD_NUMBER = 1;
    private java.lang.Object soundname_;
    /**
     * optional string soundname = 1;
     */
    public boolean hasSoundname() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional string soundname = 1;
     */
    public java.lang.String getSoundname() {
      java.lang.Object ref = soundname_;
      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()) {
          soundname_ = s;
        }
        return s;
      }
    }
    /**
     * optional string soundname = 1;
     */
    public com.google.protobuf.ByteString
        getSoundnameBytes() {
      java.lang.Object ref = soundname_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        soundname_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int STOP_FIELD_NUMBER = 2;
    private boolean stop_;
    /**
     * optional bool stop = 2;
     */
    public boolean hasStop() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional bool stop = 2;
     */
    public boolean getStop() {
      return stop_;
    }

    private void initFields() {
      soundname_ = "";
      stop_ = false;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getSoundnameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBool(2, stop_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getSoundnameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(2, stop_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSendAudio parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSendAudio parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSendAudio parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSendAudio parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSendAudio parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSendAudio parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSendAudio parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSendAudio parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSendAudio parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSendAudio parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSendAudio prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageSendAudio}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageSendAudio)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSendAudioOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageSendAudio_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageSendAudio_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSendAudio.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSendAudio.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSendAudio.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        soundname_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        stop_ = false;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageSendAudio_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSendAudio getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSendAudio.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSendAudio build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSendAudio result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSendAudio buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSendAudio result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSendAudio(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.soundname_ = soundname_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.stop_ = stop_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSendAudio) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSendAudio)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSendAudio other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSendAudio.getDefaultInstance()) return this;
        if (other.hasSoundname()) {
          bitField0_ |= 0x00000001;
          soundname_ = other.soundname_;
          onChanged();
        }
        if (other.hasStop()) {
          setStop(other.getStop());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSendAudio parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSendAudio) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object soundname_ = "";
      /**
       * optional string soundname = 1;
       */
      public boolean hasSoundname() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional string soundname = 1;
       */
      public java.lang.String getSoundname() {
        java.lang.Object ref = soundname_;
        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()) {
            soundname_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string soundname = 1;
       */
      public com.google.protobuf.ByteString
          getSoundnameBytes() {
        java.lang.Object ref = soundname_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          soundname_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string soundname = 1;
       */
      public Builder setSoundname(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        soundname_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string soundname = 1;
       */
      public Builder clearSoundname() {
        bitField0_ = (bitField0_ & ~0x00000001);
        soundname_ = getDefaultInstance().getSoundname();
        onChanged();
        return this;
      }
      /**
       * optional string soundname = 1;
       */
      public Builder setSoundnameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        soundname_ = value;
        onChanged();
        return this;
      }

      private boolean stop_ ;
      /**
       * optional bool stop = 2;
       */
      public boolean hasStop() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional bool stop = 2;
       */
      public boolean getStop() {
        return stop_;
      }
      /**
       * optional bool stop = 2;
       */
      public Builder setStop(boolean value) {
        bitField0_ |= 0x00000002;
        stop_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool stop = 2;
       */
      public Builder clearStop() {
        bitField0_ = (bitField0_ & ~0x00000002);
        stop_ = false;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageSendAudio)
    }

    static {
      defaultInstance = new CUserMessageSendAudio(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageSendAudio)
  }

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

    /**
     * optional uint32 parameter_type = 1;
     */
    boolean hasParameterType();
    /**
     * optional uint32 parameter_type = 1;
     */
    int getParameterType();

    /**
     * optional uint32 name_hash_code = 2;
     */
    boolean hasNameHashCode();
    /**
     * optional uint32 name_hash_code = 2;
     */
    int getNameHashCode();

    /**
     * optional float value = 3;
     */
    boolean hasValue();
    /**
     * optional float value = 3;
     */
    float getValue();

    /**
     * optional uint32 int_value = 4;
     */
    boolean hasIntValue();
    /**
     * optional uint32 int_value = 4;
     */
    int getIntValue();
  }
  /**
   * Protobuf type {@code CUserMessageAudioParameter}
   */
  public static final class CUserMessageAudioParameter extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageAudioParameter)
      CUserMessageAudioParameterOrBuilder {
    // Use CUserMessageAudioParameter.newBuilder() to construct.
    private CUserMessageAudioParameter(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageAudioParameter(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageAudioParameter defaultInstance;
    public static CUserMessageAudioParameter getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageAudioParameter getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageAudioParameter(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              parameterType_ = input.readUInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              nameHashCode_ = input.readUInt32();
              break;
            }
            case 29: {
              bitField0_ |= 0x00000004;
              value_ = input.readFloat();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              intValue_ = input.readUInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageAudioParameter_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageAudioParameter_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAudioParameter.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAudioParameter.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageAudioParameter parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageAudioParameter(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int PARAMETER_TYPE_FIELD_NUMBER = 1;
    private int parameterType_;
    /**
     * optional uint32 parameter_type = 1;
     */
    public boolean hasParameterType() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional uint32 parameter_type = 1;
     */
    public int getParameterType() {
      return parameterType_;
    }

    public static final int NAME_HASH_CODE_FIELD_NUMBER = 2;
    private int nameHashCode_;
    /**
     * optional uint32 name_hash_code = 2;
     */
    public boolean hasNameHashCode() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional uint32 name_hash_code = 2;
     */
    public int getNameHashCode() {
      return nameHashCode_;
    }

    public static final int VALUE_FIELD_NUMBER = 3;
    private float value_;
    /**
     * optional float value = 3;
     */
    public boolean hasValue() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional float value = 3;
     */
    public float getValue() {
      return value_;
    }

    public static final int INT_VALUE_FIELD_NUMBER = 4;
    private int intValue_;
    /**
     * optional uint32 int_value = 4;
     */
    public boolean hasIntValue() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional uint32 int_value = 4;
     */
    public int getIntValue() {
      return intValue_;
    }

    private void initFields() {
      parameterType_ = 0;
      nameHashCode_ = 0;
      value_ = 0F;
      intValue_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeUInt32(1, parameterType_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeUInt32(2, nameHashCode_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeFloat(3, value_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeUInt32(4, intValue_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, parameterType_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, nameHashCode_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(3, value_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, intValue_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAudioParameter parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAudioParameter parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAudioParameter parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAudioParameter parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAudioParameter parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAudioParameter parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAudioParameter parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAudioParameter parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAudioParameter parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAudioParameter parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAudioParameter prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageAudioParameter}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageAudioParameter)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAudioParameterOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageAudioParameter_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageAudioParameter_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAudioParameter.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAudioParameter.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAudioParameter.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        parameterType_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        nameHashCode_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        value_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000004);
        intValue_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageAudioParameter_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAudioParameter getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAudioParameter.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAudioParameter build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAudioParameter result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAudioParameter buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAudioParameter result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAudioParameter(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.parameterType_ = parameterType_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.nameHashCode_ = nameHashCode_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.value_ = value_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.intValue_ = intValue_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAudioParameter) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAudioParameter)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAudioParameter other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAudioParameter.getDefaultInstance()) return this;
        if (other.hasParameterType()) {
          setParameterType(other.getParameterType());
        }
        if (other.hasNameHashCode()) {
          setNameHashCode(other.getNameHashCode());
        }
        if (other.hasValue()) {
          setValue(other.getValue());
        }
        if (other.hasIntValue()) {
          setIntValue(other.getIntValue());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAudioParameter parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAudioParameter) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int parameterType_ ;
      /**
       * optional uint32 parameter_type = 1;
       */
      public boolean hasParameterType() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional uint32 parameter_type = 1;
       */
      public int getParameterType() {
        return parameterType_;
      }
      /**
       * optional uint32 parameter_type = 1;
       */
      public Builder setParameterType(int value) {
        bitField0_ |= 0x00000001;
        parameterType_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 parameter_type = 1;
       */
      public Builder clearParameterType() {
        bitField0_ = (bitField0_ & ~0x00000001);
        parameterType_ = 0;
        onChanged();
        return this;
      }

      private int nameHashCode_ ;
      /**
       * optional uint32 name_hash_code = 2;
       */
      public boolean hasNameHashCode() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional uint32 name_hash_code = 2;
       */
      public int getNameHashCode() {
        return nameHashCode_;
      }
      /**
       * optional uint32 name_hash_code = 2;
       */
      public Builder setNameHashCode(int value) {
        bitField0_ |= 0x00000002;
        nameHashCode_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 name_hash_code = 2;
       */
      public Builder clearNameHashCode() {
        bitField0_ = (bitField0_ & ~0x00000002);
        nameHashCode_ = 0;
        onChanged();
        return this;
      }

      private float value_ ;
      /**
       * optional float value = 3;
       */
      public boolean hasValue() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional float value = 3;
       */
      public float getValue() {
        return value_;
      }
      /**
       * optional float value = 3;
       */
      public Builder setValue(float value) {
        bitField0_ |= 0x00000004;
        value_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float value = 3;
       */
      public Builder clearValue() {
        bitField0_ = (bitField0_ & ~0x00000004);
        value_ = 0F;
        onChanged();
        return this;
      }

      private int intValue_ ;
      /**
       * optional uint32 int_value = 4;
       */
      public boolean hasIntValue() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional uint32 int_value = 4;
       */
      public int getIntValue() {
        return intValue_;
      }
      /**
       * optional uint32 int_value = 4;
       */
      public Builder setIntValue(int value) {
        bitField0_ |= 0x00000008;
        intValue_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 int_value = 4;
       */
      public Builder clearIntValue() {
        bitField0_ = (bitField0_ & ~0x00000008);
        intValue_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageAudioParameter)
    }

    static {
      defaultInstance = new CUserMessageAudioParameter(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageAudioParameter)
  }

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

    /**
     * repeated uint32 gamerules_masks = 1;
     */
    java.util.List getGamerulesMasksList();
    /**
     * repeated uint32 gamerules_masks = 1;
     */
    int getGamerulesMasksCount();
    /**
     * repeated uint32 gamerules_masks = 1;
     */
    int getGamerulesMasks(int index);

    /**
     * repeated uint32 ban_masks = 2;
     */
    java.util.List getBanMasksList();
    /**
     * repeated uint32 ban_masks = 2;
     */
    int getBanMasksCount();
    /**
     * repeated uint32 ban_masks = 2;
     */
    int getBanMasks(int index);

    /**
     * optional bool mod_enable = 3;
     */
    boolean hasModEnable();
    /**
     * optional bool mod_enable = 3;
     */
    boolean getModEnable();
  }
  /**
   * Protobuf type {@code CUserMessageVoiceMask}
   */
  public static final class CUserMessageVoiceMask extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageVoiceMask)
      CUserMessageVoiceMaskOrBuilder {
    // Use CUserMessageVoiceMask.newBuilder() to construct.
    private CUserMessageVoiceMask(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageVoiceMask(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageVoiceMask defaultInstance;
    public static CUserMessageVoiceMask getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageVoiceMask getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageVoiceMask(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                gamerulesMasks_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              gamerulesMasks_.add(input.readUInt32());
              break;
            }
            case 10: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001) && input.getBytesUntilLimit() > 0) {
                gamerulesMasks_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              while (input.getBytesUntilLimit() > 0) {
                gamerulesMasks_.add(input.readUInt32());
              }
              input.popLimit(limit);
              break;
            }
            case 16: {
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                banMasks_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000002;
              }
              banMasks_.add(input.readUInt32());
              break;
            }
            case 18: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002) && input.getBytesUntilLimit() > 0) {
                banMasks_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000002;
              }
              while (input.getBytesUntilLimit() > 0) {
                banMasks_.add(input.readUInt32());
              }
              input.popLimit(limit);
              break;
            }
            case 24: {
              bitField0_ |= 0x00000001;
              modEnable_ = input.readBool();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          gamerulesMasks_ = java.util.Collections.unmodifiableList(gamerulesMasks_);
        }
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          banMasks_ = java.util.Collections.unmodifiableList(banMasks_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageVoiceMask_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageVoiceMask_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageVoiceMask.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageVoiceMask.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageVoiceMask parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageVoiceMask(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int GAMERULES_MASKS_FIELD_NUMBER = 1;
    private java.util.List gamerulesMasks_;
    /**
     * repeated uint32 gamerules_masks = 1;
     */
    public java.util.List
        getGamerulesMasksList() {
      return gamerulesMasks_;
    }
    /**
     * repeated uint32 gamerules_masks = 1;
     */
    public int getGamerulesMasksCount() {
      return gamerulesMasks_.size();
    }
    /**
     * repeated uint32 gamerules_masks = 1;
     */
    public int getGamerulesMasks(int index) {
      return gamerulesMasks_.get(index);
    }

    public static final int BAN_MASKS_FIELD_NUMBER = 2;
    private java.util.List banMasks_;
    /**
     * repeated uint32 ban_masks = 2;
     */
    public java.util.List
        getBanMasksList() {
      return banMasks_;
    }
    /**
     * repeated uint32 ban_masks = 2;
     */
    public int getBanMasksCount() {
      return banMasks_.size();
    }
    /**
     * repeated uint32 ban_masks = 2;
     */
    public int getBanMasks(int index) {
      return banMasks_.get(index);
    }

    public static final int MOD_ENABLE_FIELD_NUMBER = 3;
    private boolean modEnable_;
    /**
     * optional bool mod_enable = 3;
     */
    public boolean hasModEnable() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional bool mod_enable = 3;
     */
    public boolean getModEnable() {
      return modEnable_;
    }

    private void initFields() {
      gamerulesMasks_ = java.util.Collections.emptyList();
      banMasks_ = java.util.Collections.emptyList();
      modEnable_ = false;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < gamerulesMasks_.size(); i++) {
        output.writeUInt32(1, gamerulesMasks_.get(i));
      }
      for (int i = 0; i < banMasks_.size(); i++) {
        output.writeUInt32(2, banMasks_.get(i));
      }
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBool(3, modEnable_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      {
        int dataSize = 0;
        for (int i = 0; i < gamerulesMasks_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(gamerulesMasks_.get(i));
        }
        size += dataSize;
        size += 1 * getGamerulesMasksList().size();
      }
      {
        int dataSize = 0;
        for (int i = 0; i < banMasks_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeUInt32SizeNoTag(banMasks_.get(i));
        }
        size += dataSize;
        size += 1 * getBanMasksList().size();
      }
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(3, modEnable_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageVoiceMask parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageVoiceMask parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageVoiceMask parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageVoiceMask parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageVoiceMask parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageVoiceMask parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageVoiceMask parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageVoiceMask parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageVoiceMask parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageVoiceMask parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageVoiceMask prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageVoiceMask}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageVoiceMask)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageVoiceMaskOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageVoiceMask_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageVoiceMask_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageVoiceMask.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageVoiceMask.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageVoiceMask.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        gamerulesMasks_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000001);
        banMasks_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        modEnable_ = false;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageVoiceMask_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageVoiceMask getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageVoiceMask.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageVoiceMask build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageVoiceMask result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageVoiceMask buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageVoiceMask result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageVoiceMask(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          gamerulesMasks_ = java.util.Collections.unmodifiableList(gamerulesMasks_);
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.gamerulesMasks_ = gamerulesMasks_;
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          banMasks_ = java.util.Collections.unmodifiableList(banMasks_);
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.banMasks_ = banMasks_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000001;
        }
        result.modEnable_ = modEnable_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageVoiceMask) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageVoiceMask)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageVoiceMask other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageVoiceMask.getDefaultInstance()) return this;
        if (!other.gamerulesMasks_.isEmpty()) {
          if (gamerulesMasks_.isEmpty()) {
            gamerulesMasks_ = other.gamerulesMasks_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureGamerulesMasksIsMutable();
            gamerulesMasks_.addAll(other.gamerulesMasks_);
          }
          onChanged();
        }
        if (!other.banMasks_.isEmpty()) {
          if (banMasks_.isEmpty()) {
            banMasks_ = other.banMasks_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureBanMasksIsMutable();
            banMasks_.addAll(other.banMasks_);
          }
          onChanged();
        }
        if (other.hasModEnable()) {
          setModEnable(other.getModEnable());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageVoiceMask parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageVoiceMask) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.util.List gamerulesMasks_ = java.util.Collections.emptyList();
      private void ensureGamerulesMasksIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          gamerulesMasks_ = new java.util.ArrayList(gamerulesMasks_);
          bitField0_ |= 0x00000001;
         }
      }
      /**
       * repeated uint32 gamerules_masks = 1;
       */
      public java.util.List
          getGamerulesMasksList() {
        return java.util.Collections.unmodifiableList(gamerulesMasks_);
      }
      /**
       * repeated uint32 gamerules_masks = 1;
       */
      public int getGamerulesMasksCount() {
        return gamerulesMasks_.size();
      }
      /**
       * repeated uint32 gamerules_masks = 1;
       */
      public int getGamerulesMasks(int index) {
        return gamerulesMasks_.get(index);
      }
      /**
       * repeated uint32 gamerules_masks = 1;
       */
      public Builder setGamerulesMasks(
          int index, int value) {
        ensureGamerulesMasksIsMutable();
        gamerulesMasks_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated uint32 gamerules_masks = 1;
       */
      public Builder addGamerulesMasks(int value) {
        ensureGamerulesMasksIsMutable();
        gamerulesMasks_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated uint32 gamerules_masks = 1;
       */
      public Builder addAllGamerulesMasks(
          java.lang.Iterable values) {
        ensureGamerulesMasksIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, gamerulesMasks_);
        onChanged();
        return this;
      }
      /**
       * repeated uint32 gamerules_masks = 1;
       */
      public Builder clearGamerulesMasks() {
        gamerulesMasks_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }

      private java.util.List banMasks_ = java.util.Collections.emptyList();
      private void ensureBanMasksIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          banMasks_ = new java.util.ArrayList(banMasks_);
          bitField0_ |= 0x00000002;
         }
      }
      /**
       * repeated uint32 ban_masks = 2;
       */
      public java.util.List
          getBanMasksList() {
        return java.util.Collections.unmodifiableList(banMasks_);
      }
      /**
       * repeated uint32 ban_masks = 2;
       */
      public int getBanMasksCount() {
        return banMasks_.size();
      }
      /**
       * repeated uint32 ban_masks = 2;
       */
      public int getBanMasks(int index) {
        return banMasks_.get(index);
      }
      /**
       * repeated uint32 ban_masks = 2;
       */
      public Builder setBanMasks(
          int index, int value) {
        ensureBanMasksIsMutable();
        banMasks_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated uint32 ban_masks = 2;
       */
      public Builder addBanMasks(int value) {
        ensureBanMasksIsMutable();
        banMasks_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated uint32 ban_masks = 2;
       */
      public Builder addAllBanMasks(
          java.lang.Iterable values) {
        ensureBanMasksIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, banMasks_);
        onChanged();
        return this;
      }
      /**
       * repeated uint32 ban_masks = 2;
       */
      public Builder clearBanMasks() {
        banMasks_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }

      private boolean modEnable_ ;
      /**
       * optional bool mod_enable = 3;
       */
      public boolean hasModEnable() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional bool mod_enable = 3;
       */
      public boolean getModEnable() {
        return modEnable_;
      }
      /**
       * optional bool mod_enable = 3;
       */
      public Builder setModEnable(boolean value) {
        bitField0_ |= 0x00000004;
        modEnable_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool mod_enable = 3;
       */
      public Builder clearModEnable() {
        bitField0_ = (bitField0_ & ~0x00000004);
        modEnable_ = false;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageVoiceMask)
    }

    static {
      defaultInstance = new CUserMessageVoiceMask(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageVoiceMask)
  }

  public interface CUserMessageRequestStateOrBuilder extends
      // @@protoc_insertion_point(interface_extends:CUserMessageRequestState)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * Protobuf type {@code CUserMessageRequestState}
   */
  public static final class CUserMessageRequestState extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageRequestState)
      CUserMessageRequestStateOrBuilder {
    // Use CUserMessageRequestState.newBuilder() to construct.
    private CUserMessageRequestState(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageRequestState(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageRequestState defaultInstance;
    public static CUserMessageRequestState getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageRequestState getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageRequestState(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageRequestState_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageRequestState_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestState.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestState.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageRequestState parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageRequestState(input, extensionRegistry);
      }
    };

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

    private void initFields() {
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

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

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

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

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestState parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestState parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestState parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestState parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestState parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestState parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestState parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestState parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestState parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestState parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestState prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageRequestState}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageRequestState)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestStateOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageRequestState_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageRequestState_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestState.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestState.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestState.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageRequestState_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestState getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestState.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestState build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestState result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestState buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestState result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestState(this);
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestState) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestState)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestState other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestState.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestState parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestState) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageRequestState)
    }

    static {
      defaultInstance = new CUserMessageRequestState(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageRequestState)
  }

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

    /**
     * optional int32 index = 1;
     */
    boolean hasIndex();
    /**
     * optional int32 index = 1;
     */
    int getIndex();

    /**
     * optional int32 data = 2;
     */
    boolean hasData();
    /**
     * optional int32 data = 2;
     */
    int getData();

    /**
     * optional int32 flags = 3;
     */
    boolean hasFlags();
    /**
     * optional int32 flags = 3;
     */
    int getFlags();
  }
  /**
   * Protobuf type {@code CUserMessageRumble}
   */
  public static final class CUserMessageRumble extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageRumble)
      CUserMessageRumbleOrBuilder {
    // Use CUserMessageRumble.newBuilder() to construct.
    private CUserMessageRumble(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageRumble(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageRumble defaultInstance;
    public static CUserMessageRumble getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageRumble getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageRumble(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              index_ = input.readInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              data_ = input.readInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              flags_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageRumble_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageRumble_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRumble.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRumble.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageRumble parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageRumble(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int INDEX_FIELD_NUMBER = 1;
    private int index_;
    /**
     * optional int32 index = 1;
     */
    public boolean hasIndex() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 index = 1;
     */
    public int getIndex() {
      return index_;
    }

    public static final int DATA_FIELD_NUMBER = 2;
    private int data_;
    /**
     * optional int32 data = 2;
     */
    public boolean hasData() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional int32 data = 2;
     */
    public int getData() {
      return data_;
    }

    public static final int FLAGS_FIELD_NUMBER = 3;
    private int flags_;
    /**
     * optional int32 flags = 3;
     */
    public boolean hasFlags() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional int32 flags = 3;
     */
    public int getFlags() {
      return flags_;
    }

    private void initFields() {
      index_ = 0;
      data_ = 0;
      flags_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, index_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, data_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt32(3, flags_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, index_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, data_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, flags_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRumble parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRumble parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRumble parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRumble parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRumble parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRumble parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRumble parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRumble parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRumble parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRumble parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRumble prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageRumble}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageRumble)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRumbleOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageRumble_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageRumble_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRumble.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRumble.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRumble.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        index_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        data_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        flags_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageRumble_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRumble getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRumble.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRumble build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRumble result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRumble buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRumble result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRumble(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.index_ = index_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.data_ = data_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.flags_ = flags_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRumble) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRumble)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRumble other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRumble.getDefaultInstance()) return this;
        if (other.hasIndex()) {
          setIndex(other.getIndex());
        }
        if (other.hasData()) {
          setData(other.getData());
        }
        if (other.hasFlags()) {
          setFlags(other.getFlags());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRumble parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRumble) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int index_ ;
      /**
       * optional int32 index = 1;
       */
      public boolean hasIndex() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 index = 1;
       */
      public int getIndex() {
        return index_;
      }
      /**
       * optional int32 index = 1;
       */
      public Builder setIndex(int value) {
        bitField0_ |= 0x00000001;
        index_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 index = 1;
       */
      public Builder clearIndex() {
        bitField0_ = (bitField0_ & ~0x00000001);
        index_ = 0;
        onChanged();
        return this;
      }

      private int data_ ;
      /**
       * optional int32 data = 2;
       */
      public boolean hasData() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional int32 data = 2;
       */
      public int getData() {
        return data_;
      }
      /**
       * optional int32 data = 2;
       */
      public Builder setData(int value) {
        bitField0_ |= 0x00000002;
        data_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 data = 2;
       */
      public Builder clearData() {
        bitField0_ = (bitField0_ & ~0x00000002);
        data_ = 0;
        onChanged();
        return this;
      }

      private int flags_ ;
      /**
       * optional int32 flags = 3;
       */
      public boolean hasFlags() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional int32 flags = 3;
       */
      public int getFlags() {
        return flags_;
      }
      /**
       * optional int32 flags = 3;
       */
      public Builder setFlags(int value) {
        bitField0_ |= 0x00000004;
        flags_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 flags = 3;
       */
      public Builder clearFlags() {
        bitField0_ = (bitField0_ & ~0x00000004);
        flags_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageRumble)
    }

    static {
      defaultInstance = new CUserMessageRumble(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageRumble)
  }

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

    /**
     * optional int32 player = 1;
     */
    boolean hasPlayer();
    /**
     * optional int32 player = 1;
     */
    int getPlayer();

    /**
     * optional int32 channel = 2;
     */
    boolean hasChannel();
    /**
     * optional int32 channel = 2;
     */
    int getChannel();

    /**
     * optional string text = 3;
     */
    boolean hasText();
    /**
     * optional string text = 3;
     */
    java.lang.String getText();
    /**
     * optional string text = 3;
     */
    com.google.protobuf.ByteString
        getTextBytes();
  }
  /**
   * Protobuf type {@code CUserMessageSayTextChannel}
   */
  public static final class CUserMessageSayTextChannel extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageSayTextChannel)
      CUserMessageSayTextChannelOrBuilder {
    // Use CUserMessageSayTextChannel.newBuilder() to construct.
    private CUserMessageSayTextChannel(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageSayTextChannel(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageSayTextChannel defaultInstance;
    public static CUserMessageSayTextChannel getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageSayTextChannel getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageSayTextChannel(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              player_ = input.readInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              channel_ = input.readInt32();
              break;
            }
            case 26: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000004;
              text_ = bs;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageSayTextChannel_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageSayTextChannel_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextChannel.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextChannel.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageSayTextChannel parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageSayTextChannel(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int PLAYER_FIELD_NUMBER = 1;
    private int player_;
    /**
     * optional int32 player = 1;
     */
    public boolean hasPlayer() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 player = 1;
     */
    public int getPlayer() {
      return player_;
    }

    public static final int CHANNEL_FIELD_NUMBER = 2;
    private int channel_;
    /**
     * optional int32 channel = 2;
     */
    public boolean hasChannel() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional int32 channel = 2;
     */
    public int getChannel() {
      return channel_;
    }

    public static final int TEXT_FIELD_NUMBER = 3;
    private java.lang.Object text_;
    /**
     * optional string text = 3;
     */
    public boolean hasText() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional string text = 3;
     */
    public java.lang.String getText() {
      java.lang.Object ref = text_;
      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()) {
          text_ = s;
        }
        return s;
      }
    }
    /**
     * optional string text = 3;
     */
    public com.google.protobuf.ByteString
        getTextBytes() {
      java.lang.Object ref = text_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        text_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      player_ = 0;
      channel_ = 0;
      text_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, player_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, channel_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBytes(3, getTextBytes());
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, player_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, channel_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, getTextBytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextChannel parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextChannel parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextChannel parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextChannel parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextChannel parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextChannel parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextChannel parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextChannel parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextChannel parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextChannel parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextChannel prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageSayTextChannel}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageSayTextChannel)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextChannelOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageSayTextChannel_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageSayTextChannel_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextChannel.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextChannel.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextChannel.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        player_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        channel_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        text_ = "";
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageSayTextChannel_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextChannel getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextChannel.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextChannel build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextChannel result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextChannel buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextChannel result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextChannel(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.player_ = player_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.channel_ = channel_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.text_ = text_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextChannel) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextChannel)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextChannel other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextChannel.getDefaultInstance()) return this;
        if (other.hasPlayer()) {
          setPlayer(other.getPlayer());
        }
        if (other.hasChannel()) {
          setChannel(other.getChannel());
        }
        if (other.hasText()) {
          bitField0_ |= 0x00000004;
          text_ = other.text_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextChannel parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageSayTextChannel) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int player_ ;
      /**
       * optional int32 player = 1;
       */
      public boolean hasPlayer() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 player = 1;
       */
      public int getPlayer() {
        return player_;
      }
      /**
       * optional int32 player = 1;
       */
      public Builder setPlayer(int value) {
        bitField0_ |= 0x00000001;
        player_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 player = 1;
       */
      public Builder clearPlayer() {
        bitField0_ = (bitField0_ & ~0x00000001);
        player_ = 0;
        onChanged();
        return this;
      }

      private int channel_ ;
      /**
       * optional int32 channel = 2;
       */
      public boolean hasChannel() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional int32 channel = 2;
       */
      public int getChannel() {
        return channel_;
      }
      /**
       * optional int32 channel = 2;
       */
      public Builder setChannel(int value) {
        bitField0_ |= 0x00000002;
        channel_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 channel = 2;
       */
      public Builder clearChannel() {
        bitField0_ = (bitField0_ & ~0x00000002);
        channel_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object text_ = "";
      /**
       * optional string text = 3;
       */
      public boolean hasText() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional string text = 3;
       */
      public java.lang.String getText() {
        java.lang.Object ref = text_;
        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()) {
            text_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string text = 3;
       */
      public com.google.protobuf.ByteString
          getTextBytes() {
        java.lang.Object ref = text_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          text_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string text = 3;
       */
      public Builder setText(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        text_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string text = 3;
       */
      public Builder clearText() {
        bitField0_ = (bitField0_ & ~0x00000004);
        text_ = getDefaultInstance().getText();
        onChanged();
        return this;
      }
      /**
       * optional string text = 3;
       */
      public Builder setTextBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        text_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageSayTextChannel)
    }

    static {
      defaultInstance = new CUserMessageSayTextChannel(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageSayTextChannel)
  }

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

    /**
     * optional uint32 color = 1;
     */
    boolean hasColor();
    /**
     * optional uint32 color = 1;
     */
    int getColor();

    /**
     * optional string text = 2;
     */
    boolean hasText();
    /**
     * optional string text = 2;
     */
    java.lang.String getText();
    /**
     * optional string text = 2;
     */
    com.google.protobuf.ByteString
        getTextBytes();

    /**
     * optional bool reset = 3;
     */
    boolean hasReset();
    /**
     * optional bool reset = 3;
     */
    boolean getReset();

    /**
     * optional int32 context_player_slot = 4 [default = -1];
     */
    boolean hasContextPlayerSlot();
    /**
     * optional int32 context_player_slot = 4 [default = -1];
     */
    int getContextPlayerSlot();

    /**
     * optional int32 context_value = 5;
     */
    boolean hasContextValue();
    /**
     * optional int32 context_value = 5;
     */
    int getContextValue();

    /**
     * optional int32 context_team_id = 6;
     */
    boolean hasContextTeamId();
    /**
     * optional int32 context_team_id = 6;
     */
    int getContextTeamId();
  }
  /**
   * Protobuf type {@code CUserMessageColoredText}
   */
  public static final class CUserMessageColoredText extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageColoredText)
      CUserMessageColoredTextOrBuilder {
    // Use CUserMessageColoredText.newBuilder() to construct.
    private CUserMessageColoredText(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageColoredText(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageColoredText defaultInstance;
    public static CUserMessageColoredText getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageColoredText getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageColoredText(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              color_ = input.readUInt32();
              break;
            }
            case 18: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000002;
              text_ = bs;
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              reset_ = input.readBool();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              contextPlayerSlot_ = input.readInt32();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              contextValue_ = input.readInt32();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000020;
              contextTeamId_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageColoredText_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageColoredText_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageColoredText.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageColoredText.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageColoredText parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageColoredText(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int COLOR_FIELD_NUMBER = 1;
    private int color_;
    /**
     * optional uint32 color = 1;
     */
    public boolean hasColor() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional uint32 color = 1;
     */
    public int getColor() {
      return color_;
    }

    public static final int TEXT_FIELD_NUMBER = 2;
    private java.lang.Object text_;
    /**
     * optional string text = 2;
     */
    public boolean hasText() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional string text = 2;
     */
    public java.lang.String getText() {
      java.lang.Object ref = text_;
      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()) {
          text_ = s;
        }
        return s;
      }
    }
    /**
     * optional string text = 2;
     */
    public com.google.protobuf.ByteString
        getTextBytes() {
      java.lang.Object ref = text_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        text_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int RESET_FIELD_NUMBER = 3;
    private boolean reset_;
    /**
     * optional bool reset = 3;
     */
    public boolean hasReset() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional bool reset = 3;
     */
    public boolean getReset() {
      return reset_;
    }

    public static final int CONTEXT_PLAYER_SLOT_FIELD_NUMBER = 4;
    private int contextPlayerSlot_;
    /**
     * optional int32 context_player_slot = 4 [default = -1];
     */
    public boolean hasContextPlayerSlot() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional int32 context_player_slot = 4 [default = -1];
     */
    public int getContextPlayerSlot() {
      return contextPlayerSlot_;
    }

    public static final int CONTEXT_VALUE_FIELD_NUMBER = 5;
    private int contextValue_;
    /**
     * optional int32 context_value = 5;
     */
    public boolean hasContextValue() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional int32 context_value = 5;
     */
    public int getContextValue() {
      return contextValue_;
    }

    public static final int CONTEXT_TEAM_ID_FIELD_NUMBER = 6;
    private int contextTeamId_;
    /**
     * optional int32 context_team_id = 6;
     */
    public boolean hasContextTeamId() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * optional int32 context_team_id = 6;
     */
    public int getContextTeamId() {
      return contextTeamId_;
    }

    private void initFields() {
      color_ = 0;
      text_ = "";
      reset_ = false;
      contextPlayerSlot_ = -1;
      contextValue_ = 0;
      contextTeamId_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeUInt32(1, color_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, getTextBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBool(3, reset_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeInt32(4, contextPlayerSlot_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeInt32(5, contextValue_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeInt32(6, contextTeamId_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, color_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, getTextBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(3, reset_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(4, contextPlayerSlot_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(5, contextValue_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(6, contextTeamId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageColoredText parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageColoredText parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageColoredText parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageColoredText parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageColoredText parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageColoredText parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageColoredText parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageColoredText parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageColoredText parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageColoredText parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageColoredText prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageColoredText}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageColoredText)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageColoredTextOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageColoredText_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageColoredText_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageColoredText.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageColoredText.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageColoredText.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        color_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        text_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        reset_ = false;
        bitField0_ = (bitField0_ & ~0x00000004);
        contextPlayerSlot_ = -1;
        bitField0_ = (bitField0_ & ~0x00000008);
        contextValue_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        contextTeamId_ = 0;
        bitField0_ = (bitField0_ & ~0x00000020);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageColoredText_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageColoredText getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageColoredText.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageColoredText build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageColoredText result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageColoredText buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageColoredText result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageColoredText(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.color_ = color_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.text_ = text_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.reset_ = reset_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.contextPlayerSlot_ = contextPlayerSlot_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.contextValue_ = contextValue_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.contextTeamId_ = contextTeamId_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageColoredText) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageColoredText)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageColoredText other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageColoredText.getDefaultInstance()) return this;
        if (other.hasColor()) {
          setColor(other.getColor());
        }
        if (other.hasText()) {
          bitField0_ |= 0x00000002;
          text_ = other.text_;
          onChanged();
        }
        if (other.hasReset()) {
          setReset(other.getReset());
        }
        if (other.hasContextPlayerSlot()) {
          setContextPlayerSlot(other.getContextPlayerSlot());
        }
        if (other.hasContextValue()) {
          setContextValue(other.getContextValue());
        }
        if (other.hasContextTeamId()) {
          setContextTeamId(other.getContextTeamId());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageColoredText parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageColoredText) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int color_ ;
      /**
       * optional uint32 color = 1;
       */
      public boolean hasColor() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional uint32 color = 1;
       */
      public int getColor() {
        return color_;
      }
      /**
       * optional uint32 color = 1;
       */
      public Builder setColor(int value) {
        bitField0_ |= 0x00000001;
        color_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 color = 1;
       */
      public Builder clearColor() {
        bitField0_ = (bitField0_ & ~0x00000001);
        color_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object text_ = "";
      /**
       * optional string text = 2;
       */
      public boolean hasText() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional string text = 2;
       */
      public java.lang.String getText() {
        java.lang.Object ref = text_;
        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()) {
            text_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string text = 2;
       */
      public com.google.protobuf.ByteString
          getTextBytes() {
        java.lang.Object ref = text_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          text_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string text = 2;
       */
      public Builder setText(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        text_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string text = 2;
       */
      public Builder clearText() {
        bitField0_ = (bitField0_ & ~0x00000002);
        text_ = getDefaultInstance().getText();
        onChanged();
        return this;
      }
      /**
       * optional string text = 2;
       */
      public Builder setTextBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        text_ = value;
        onChanged();
        return this;
      }

      private boolean reset_ ;
      /**
       * optional bool reset = 3;
       */
      public boolean hasReset() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional bool reset = 3;
       */
      public boolean getReset() {
        return reset_;
      }
      /**
       * optional bool reset = 3;
       */
      public Builder setReset(boolean value) {
        bitField0_ |= 0x00000004;
        reset_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool reset = 3;
       */
      public Builder clearReset() {
        bitField0_ = (bitField0_ & ~0x00000004);
        reset_ = false;
        onChanged();
        return this;
      }

      private int contextPlayerSlot_ = -1;
      /**
       * optional int32 context_player_slot = 4 [default = -1];
       */
      public boolean hasContextPlayerSlot() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional int32 context_player_slot = 4 [default = -1];
       */
      public int getContextPlayerSlot() {
        return contextPlayerSlot_;
      }
      /**
       * optional int32 context_player_slot = 4 [default = -1];
       */
      public Builder setContextPlayerSlot(int value) {
        bitField0_ |= 0x00000008;
        contextPlayerSlot_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 context_player_slot = 4 [default = -1];
       */
      public Builder clearContextPlayerSlot() {
        bitField0_ = (bitField0_ & ~0x00000008);
        contextPlayerSlot_ = -1;
        onChanged();
        return this;
      }

      private int contextValue_ ;
      /**
       * optional int32 context_value = 5;
       */
      public boolean hasContextValue() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional int32 context_value = 5;
       */
      public int getContextValue() {
        return contextValue_;
      }
      /**
       * optional int32 context_value = 5;
       */
      public Builder setContextValue(int value) {
        bitField0_ |= 0x00000010;
        contextValue_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 context_value = 5;
       */
      public Builder clearContextValue() {
        bitField0_ = (bitField0_ & ~0x00000010);
        contextValue_ = 0;
        onChanged();
        return this;
      }

      private int contextTeamId_ ;
      /**
       * optional int32 context_team_id = 6;
       */
      public boolean hasContextTeamId() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional int32 context_team_id = 6;
       */
      public int getContextTeamId() {
        return contextTeamId_;
      }
      /**
       * optional int32 context_team_id = 6;
       */
      public Builder setContextTeamId(int value) {
        bitField0_ |= 0x00000020;
        contextTeamId_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 context_team_id = 6;
       */
      public Builder clearContextTeamId() {
        bitField0_ = (bitField0_ & ~0x00000020);
        contextTeamId_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageColoredText)
    }

    static {
      defaultInstance = new CUserMessageColoredText(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageColoredText)
  }

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

    /**
     * optional string itemname = 1;
     */
    boolean hasItemname();
    /**
     * optional string itemname = 1;
     */
    java.lang.String getItemname();
    /**
     * optional string itemname = 1;
     */
    com.google.protobuf.ByteString
        getItemnameBytes();
  }
  /**
   * Protobuf type {@code CUserMessageItemPickup}
   */
  public static final class CUserMessageItemPickup extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageItemPickup)
      CUserMessageItemPickupOrBuilder {
    // Use CUserMessageItemPickup.newBuilder() to construct.
    private CUserMessageItemPickup(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageItemPickup(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageItemPickup defaultInstance;
    public static CUserMessageItemPickup getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageItemPickup getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageItemPickup(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              itemname_ = bs;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageItemPickup_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageItemPickup_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageItemPickup.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageItemPickup.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageItemPickup parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageItemPickup(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int ITEMNAME_FIELD_NUMBER = 1;
    private java.lang.Object itemname_;
    /**
     * optional string itemname = 1;
     */
    public boolean hasItemname() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional string itemname = 1;
     */
    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 itemname = 1;
     */
    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;
      }
    }

    private void initFields() {
      itemname_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getItemnameBytes());
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getItemnameBytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageItemPickup parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageItemPickup parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageItemPickup parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageItemPickup parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageItemPickup parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageItemPickup parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageItemPickup parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageItemPickup parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageItemPickup parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageItemPickup parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageItemPickup prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageItemPickup}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageItemPickup)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageItemPickupOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageItemPickup_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageItemPickup_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageItemPickup.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageItemPickup.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageItemPickup.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        itemname_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageItemPickup_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageItemPickup getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageItemPickup.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageItemPickup build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageItemPickup result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageItemPickup buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageItemPickup result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageItemPickup(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.itemname_ = itemname_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageItemPickup) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageItemPickup)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageItemPickup other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageItemPickup.getDefaultInstance()) return this;
        if (other.hasItemname()) {
          bitField0_ |= 0x00000001;
          itemname_ = other.itemname_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageItemPickup parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageItemPickup) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object itemname_ = "";
      /**
       * optional string itemname = 1;
       */
      public boolean hasItemname() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional string itemname = 1;
       */
      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 itemname = 1;
       */
      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 itemname = 1;
       */
      public Builder setItemname(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        itemname_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string itemname = 1;
       */
      public Builder clearItemname() {
        bitField0_ = (bitField0_ & ~0x00000001);
        itemname_ = getDefaultInstance().getItemname();
        onChanged();
        return this;
      }
      /**
       * optional string itemname = 1;
       */
      public Builder setItemnameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        itemname_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageItemPickup)
    }

    static {
      defaultInstance = new CUserMessageItemPickup(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageItemPickup)
  }

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

    /**
     * optional uint32 ammo_id = 1;
     */
    boolean hasAmmoId();
    /**
     * optional uint32 ammo_id = 1;
     */
    int getAmmoId();
  }
  /**
   * Protobuf type {@code CUserMessageAmmoDenied}
   */
  public static final class CUserMessageAmmoDenied extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageAmmoDenied)
      CUserMessageAmmoDeniedOrBuilder {
    // Use CUserMessageAmmoDenied.newBuilder() to construct.
    private CUserMessageAmmoDenied(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageAmmoDenied(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageAmmoDenied defaultInstance;
    public static CUserMessageAmmoDenied getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageAmmoDenied getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageAmmoDenied(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              ammoId_ = input.readUInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageAmmoDenied_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageAmmoDenied_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAmmoDenied.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAmmoDenied.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageAmmoDenied parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageAmmoDenied(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int AMMO_ID_FIELD_NUMBER = 1;
    private int ammoId_;
    /**
     * optional uint32 ammo_id = 1;
     */
    public boolean hasAmmoId() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional uint32 ammo_id = 1;
     */
    public int getAmmoId() {
      return ammoId_;
    }

    private void initFields() {
      ammoId_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

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

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

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

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAmmoDenied parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAmmoDenied parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAmmoDenied parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAmmoDenied parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAmmoDenied parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAmmoDenied parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAmmoDenied parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAmmoDenied parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAmmoDenied parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAmmoDenied parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAmmoDenied prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageAmmoDenied}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageAmmoDenied)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAmmoDeniedOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageAmmoDenied_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageAmmoDenied_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAmmoDenied.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAmmoDenied.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAmmoDenied.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        ammoId_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageAmmoDenied_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAmmoDenied getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAmmoDenied.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAmmoDenied build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAmmoDenied result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAmmoDenied buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAmmoDenied result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAmmoDenied(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.ammoId_ = ammoId_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAmmoDenied) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAmmoDenied)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAmmoDenied other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAmmoDenied.getDefaultInstance()) return this;
        if (other.hasAmmoId()) {
          setAmmoId(other.getAmmoId());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAmmoDenied parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAmmoDenied) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int ammoId_ ;
      /**
       * optional uint32 ammo_id = 1;
       */
      public boolean hasAmmoId() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional uint32 ammo_id = 1;
       */
      public int getAmmoId() {
        return ammoId_;
      }
      /**
       * optional uint32 ammo_id = 1;
       */
      public Builder setAmmoId(int value) {
        bitField0_ |= 0x00000001;
        ammoId_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 ammo_id = 1;
       */
      public Builder clearAmmoId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        ammoId_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageAmmoDenied)
    }

    static {
      defaultInstance = new CUserMessageAmmoDenied(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageAmmoDenied)
  }

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

    /**
     * optional uint32 validslots = 1;
     */
    boolean hasValidslots();
    /**
     * optional uint32 validslots = 1;
     */
    int getValidslots();

    /**
     * optional uint32 displaytime = 2;
     */
    boolean hasDisplaytime();
    /**
     * optional uint32 displaytime = 2;
     */
    int getDisplaytime();

    /**
     * optional bool needmore = 3;
     */
    boolean hasNeedmore();
    /**
     * optional bool needmore = 3;
     */
    boolean getNeedmore();

    /**
     * optional string menustring = 4;
     */
    boolean hasMenustring();
    /**
     * optional string menustring = 4;
     */
    java.lang.String getMenustring();
    /**
     * optional string menustring = 4;
     */
    com.google.protobuf.ByteString
        getMenustringBytes();
  }
  /**
   * Protobuf type {@code CUserMessageShowMenu}
   */
  public static final class CUserMessageShowMenu extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageShowMenu)
      CUserMessageShowMenuOrBuilder {
    // Use CUserMessageShowMenu.newBuilder() to construct.
    private CUserMessageShowMenu(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageShowMenu(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageShowMenu defaultInstance;
    public static CUserMessageShowMenu getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageShowMenu getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageShowMenu(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              validslots_ = input.readUInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              displaytime_ = input.readUInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              needmore_ = input.readBool();
              break;
            }
            case 34: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000008;
              menustring_ = bs;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageShowMenu_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageShowMenu_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShowMenu.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShowMenu.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageShowMenu parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageShowMenu(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int VALIDSLOTS_FIELD_NUMBER = 1;
    private int validslots_;
    /**
     * optional uint32 validslots = 1;
     */
    public boolean hasValidslots() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional uint32 validslots = 1;
     */
    public int getValidslots() {
      return validslots_;
    }

    public static final int DISPLAYTIME_FIELD_NUMBER = 2;
    private int displaytime_;
    /**
     * optional uint32 displaytime = 2;
     */
    public boolean hasDisplaytime() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional uint32 displaytime = 2;
     */
    public int getDisplaytime() {
      return displaytime_;
    }

    public static final int NEEDMORE_FIELD_NUMBER = 3;
    private boolean needmore_;
    /**
     * optional bool needmore = 3;
     */
    public boolean hasNeedmore() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional bool needmore = 3;
     */
    public boolean getNeedmore() {
      return needmore_;
    }

    public static final int MENUSTRING_FIELD_NUMBER = 4;
    private java.lang.Object menustring_;
    /**
     * optional string menustring = 4;
     */
    public boolean hasMenustring() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional string menustring = 4;
     */
    public java.lang.String getMenustring() {
      java.lang.Object ref = menustring_;
      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()) {
          menustring_ = s;
        }
        return s;
      }
    }
    /**
     * optional string menustring = 4;
     */
    public com.google.protobuf.ByteString
        getMenustringBytes() {
      java.lang.Object ref = menustring_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        menustring_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      validslots_ = 0;
      displaytime_ = 0;
      needmore_ = false;
      menustring_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeUInt32(1, validslots_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeUInt32(2, displaytime_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBool(3, needmore_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeBytes(4, getMenustringBytes());
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, validslots_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, displaytime_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(3, needmore_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(4, getMenustringBytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShowMenu parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShowMenu parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShowMenu parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShowMenu parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShowMenu parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShowMenu parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShowMenu parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShowMenu parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShowMenu parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShowMenu parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShowMenu prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageShowMenu}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageShowMenu)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShowMenuOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageShowMenu_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageShowMenu_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShowMenu.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShowMenu.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShowMenu.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        validslots_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        displaytime_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        needmore_ = false;
        bitField0_ = (bitField0_ & ~0x00000004);
        menustring_ = "";
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageShowMenu_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShowMenu getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShowMenu.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShowMenu build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShowMenu result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShowMenu buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShowMenu result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShowMenu(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.validslots_ = validslots_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.displaytime_ = displaytime_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.needmore_ = needmore_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.menustring_ = menustring_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShowMenu) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShowMenu)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShowMenu other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShowMenu.getDefaultInstance()) return this;
        if (other.hasValidslots()) {
          setValidslots(other.getValidslots());
        }
        if (other.hasDisplaytime()) {
          setDisplaytime(other.getDisplaytime());
        }
        if (other.hasNeedmore()) {
          setNeedmore(other.getNeedmore());
        }
        if (other.hasMenustring()) {
          bitField0_ |= 0x00000008;
          menustring_ = other.menustring_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShowMenu parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageShowMenu) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int validslots_ ;
      /**
       * optional uint32 validslots = 1;
       */
      public boolean hasValidslots() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional uint32 validslots = 1;
       */
      public int getValidslots() {
        return validslots_;
      }
      /**
       * optional uint32 validslots = 1;
       */
      public Builder setValidslots(int value) {
        bitField0_ |= 0x00000001;
        validslots_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 validslots = 1;
       */
      public Builder clearValidslots() {
        bitField0_ = (bitField0_ & ~0x00000001);
        validslots_ = 0;
        onChanged();
        return this;
      }

      private int displaytime_ ;
      /**
       * optional uint32 displaytime = 2;
       */
      public boolean hasDisplaytime() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional uint32 displaytime = 2;
       */
      public int getDisplaytime() {
        return displaytime_;
      }
      /**
       * optional uint32 displaytime = 2;
       */
      public Builder setDisplaytime(int value) {
        bitField0_ |= 0x00000002;
        displaytime_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 displaytime = 2;
       */
      public Builder clearDisplaytime() {
        bitField0_ = (bitField0_ & ~0x00000002);
        displaytime_ = 0;
        onChanged();
        return this;
      }

      private boolean needmore_ ;
      /**
       * optional bool needmore = 3;
       */
      public boolean hasNeedmore() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional bool needmore = 3;
       */
      public boolean getNeedmore() {
        return needmore_;
      }
      /**
       * optional bool needmore = 3;
       */
      public Builder setNeedmore(boolean value) {
        bitField0_ |= 0x00000004;
        needmore_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool needmore = 3;
       */
      public Builder clearNeedmore() {
        bitField0_ = (bitField0_ & ~0x00000004);
        needmore_ = false;
        onChanged();
        return this;
      }

      private java.lang.Object menustring_ = "";
      /**
       * optional string menustring = 4;
       */
      public boolean hasMenustring() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional string menustring = 4;
       */
      public java.lang.String getMenustring() {
        java.lang.Object ref = menustring_;
        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()) {
            menustring_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string menustring = 4;
       */
      public com.google.protobuf.ByteString
          getMenustringBytes() {
        java.lang.Object ref = menustring_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          menustring_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string menustring = 4;
       */
      public Builder setMenustring(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        menustring_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string menustring = 4;
       */
      public Builder clearMenustring() {
        bitField0_ = (bitField0_ & ~0x00000008);
        menustring_ = getDefaultInstance().getMenustring();
        onChanged();
        return this;
      }
      /**
       * optional string menustring = 4;
       */
      public Builder setMenustringBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        menustring_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageShowMenu)
    }

    static {
      defaultInstance = new CUserMessageShowMenu(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageShowMenu)
  }

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

    /**
     * optional .eRollType rolltype = 1 [default = ROLL_NONE];
     */
    boolean hasRolltype();
    /**
     * optional .eRollType rolltype = 1 [default = ROLL_NONE];
     */
    skadistats.clarity.wire.shared.s2.proto.S2UserMessages.eRollType getRolltype();

    /**
     * optional float logo_length = 2;
     */
    boolean hasLogoLength();
    /**
     * optional float logo_length = 2;
     */
    float getLogoLength();
  }
  /**
   * Protobuf type {@code CUserMessageCreditsMsg}
   */
  public static final class CUserMessageCreditsMsg extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageCreditsMsg)
      CUserMessageCreditsMsgOrBuilder {
    // Use CUserMessageCreditsMsg.newBuilder() to construct.
    private CUserMessageCreditsMsg(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageCreditsMsg(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageCreditsMsg defaultInstance;
    public static CUserMessageCreditsMsg getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageCreditsMsg getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageCreditsMsg(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              int rawValue = input.readEnum();
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.eRollType value = skadistats.clarity.wire.shared.s2.proto.S2UserMessages.eRollType.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(1, rawValue);
              } else {
                bitField0_ |= 0x00000001;
                rolltype_ = value;
              }
              break;
            }
            case 21: {
              bitField0_ |= 0x00000002;
              logoLength_ = input.readFloat();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCreditsMsg_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCreditsMsg_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCreditsMsg.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCreditsMsg.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageCreditsMsg parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageCreditsMsg(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int ROLLTYPE_FIELD_NUMBER = 1;
    private skadistats.clarity.wire.shared.s2.proto.S2UserMessages.eRollType rolltype_;
    /**
     * optional .eRollType rolltype = 1 [default = ROLL_NONE];
     */
    public boolean hasRolltype() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .eRollType rolltype = 1 [default = ROLL_NONE];
     */
    public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.eRollType getRolltype() {
      return rolltype_;
    }

    public static final int LOGO_LENGTH_FIELD_NUMBER = 2;
    private float logoLength_;
    /**
     * optional float logo_length = 2;
     */
    public boolean hasLogoLength() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional float logo_length = 2;
     */
    public float getLogoLength() {
      return logoLength_;
    }

    private void initFields() {
      rolltype_ = skadistats.clarity.wire.shared.s2.proto.S2UserMessages.eRollType.ROLL_NONE;
      logoLength_ = 0F;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeEnum(1, rolltype_.getNumber());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeFloat(2, logoLength_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(1, rolltype_.getNumber());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(2, logoLength_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCreditsMsg parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCreditsMsg parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCreditsMsg parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCreditsMsg parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCreditsMsg parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCreditsMsg parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCreditsMsg parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCreditsMsg parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCreditsMsg parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCreditsMsg parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCreditsMsg prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageCreditsMsg}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageCreditsMsg)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCreditsMsgOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCreditsMsg_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCreditsMsg_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCreditsMsg.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCreditsMsg.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCreditsMsg.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        rolltype_ = skadistats.clarity.wire.shared.s2.proto.S2UserMessages.eRollType.ROLL_NONE;
        bitField0_ = (bitField0_ & ~0x00000001);
        logoLength_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCreditsMsg_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCreditsMsg getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCreditsMsg.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCreditsMsg build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCreditsMsg result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCreditsMsg buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCreditsMsg result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCreditsMsg(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.rolltype_ = rolltype_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.logoLength_ = logoLength_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCreditsMsg) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCreditsMsg)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCreditsMsg other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCreditsMsg.getDefaultInstance()) return this;
        if (other.hasRolltype()) {
          setRolltype(other.getRolltype());
        }
        if (other.hasLogoLength()) {
          setLogoLength(other.getLogoLength());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCreditsMsg parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCreditsMsg) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.shared.s2.proto.S2UserMessages.eRollType rolltype_ = skadistats.clarity.wire.shared.s2.proto.S2UserMessages.eRollType.ROLL_NONE;
      /**
       * optional .eRollType rolltype = 1 [default = ROLL_NONE];
       */
      public boolean hasRolltype() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .eRollType rolltype = 1 [default = ROLL_NONE];
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.eRollType getRolltype() {
        return rolltype_;
      }
      /**
       * optional .eRollType rolltype = 1 [default = ROLL_NONE];
       */
      public Builder setRolltype(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.eRollType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000001;
        rolltype_ = value;
        onChanged();
        return this;
      }
      /**
       * optional .eRollType rolltype = 1 [default = ROLL_NONE];
       */
      public Builder clearRolltype() {
        bitField0_ = (bitField0_ & ~0x00000001);
        rolltype_ = skadistats.clarity.wire.shared.s2.proto.S2UserMessages.eRollType.ROLL_NONE;
        onChanged();
        return this;
      }

      private float logoLength_ ;
      /**
       * optional float logo_length = 2;
       */
      public boolean hasLogoLength() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional float logo_length = 2;
       */
      public float getLogoLength() {
        return logoLength_;
      }
      /**
       * optional float logo_length = 2;
       */
      public Builder setLogoLength(float value) {
        bitField0_ |= 0x00000002;
        logoLength_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float logo_length = 2;
       */
      public Builder clearLogoLength() {
        bitField0_ = (bitField0_ & ~0x00000002);
        logoLength_ = 0F;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageCreditsMsg)
    }

    static {
      defaultInstance = new CUserMessageCreditsMsg(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageCreditsMsg)
  }

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

    /**
     * optional int32 hand_id = 1;
     */
    boolean hasHandId();
    /**
     * optional int32 hand_id = 1;
     */
    int getHandId();

    /**
     * optional .EHapticPulseType pulse_type = 2 [default = VR_HAND_HAPTIC_PULSE_LIGHT];
     */
    boolean hasPulseType();
    /**
     * optional .EHapticPulseType pulse_type = 2 [default = VR_HAND_HAPTIC_PULSE_LIGHT];
     */
    skadistats.clarity.wire.shared.s2.proto.S2UserMessages.EHapticPulseType getPulseType();
  }
  /**
   * Protobuf type {@code CUserMessageHapticPulse}
   */
  public static final class CUserMessageHapticPulse extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageHapticPulse)
      CUserMessageHapticPulseOrBuilder {
    // Use CUserMessageHapticPulse.newBuilder() to construct.
    private CUserMessageHapticPulse(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageHapticPulse(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageHapticPulse defaultInstance;
    public static CUserMessageHapticPulse getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageHapticPulse getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageHapticPulse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              handId_ = input.readInt32();
              break;
            }
            case 16: {
              int rawValue = input.readEnum();
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.EHapticPulseType value = skadistats.clarity.wire.shared.s2.proto.S2UserMessages.EHapticPulseType.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(2, rawValue);
              } else {
                bitField0_ |= 0x00000002;
                pulseType_ = value;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageHapticPulse_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageHapticPulse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticPulse.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticPulse.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageHapticPulse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageHapticPulse(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int HAND_ID_FIELD_NUMBER = 1;
    private int handId_;
    /**
     * optional int32 hand_id = 1;
     */
    public boolean hasHandId() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 hand_id = 1;
     */
    public int getHandId() {
      return handId_;
    }

    public static final int PULSE_TYPE_FIELD_NUMBER = 2;
    private skadistats.clarity.wire.shared.s2.proto.S2UserMessages.EHapticPulseType pulseType_;
    /**
     * optional .EHapticPulseType pulse_type = 2 [default = VR_HAND_HAPTIC_PULSE_LIGHT];
     */
    public boolean hasPulseType() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional .EHapticPulseType pulse_type = 2 [default = VR_HAND_HAPTIC_PULSE_LIGHT];
     */
    public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.EHapticPulseType getPulseType() {
      return pulseType_;
    }

    private void initFields() {
      handId_ = 0;
      pulseType_ = skadistats.clarity.wire.shared.s2.proto.S2UserMessages.EHapticPulseType.VR_HAND_HAPTIC_PULSE_LIGHT;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, handId_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeEnum(2, pulseType_.getNumber());
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, handId_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(2, pulseType_.getNumber());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticPulse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticPulse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticPulse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticPulse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticPulse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticPulse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticPulse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticPulse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticPulse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticPulse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticPulse prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageHapticPulse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageHapticPulse)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticPulseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageHapticPulse_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageHapticPulse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticPulse.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticPulse.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticPulse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        handId_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        pulseType_ = skadistats.clarity.wire.shared.s2.proto.S2UserMessages.EHapticPulseType.VR_HAND_HAPTIC_PULSE_LIGHT;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageHapticPulse_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticPulse getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticPulse.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticPulse build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticPulse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticPulse buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticPulse result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticPulse(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.handId_ = handId_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.pulseType_ = pulseType_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticPulse) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticPulse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticPulse other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticPulse.getDefaultInstance()) return this;
        if (other.hasHandId()) {
          setHandId(other.getHandId());
        }
        if (other.hasPulseType()) {
          setPulseType(other.getPulseType());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticPulse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticPulse) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int handId_ ;
      /**
       * optional int32 hand_id = 1;
       */
      public boolean hasHandId() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 hand_id = 1;
       */
      public int getHandId() {
        return handId_;
      }
      /**
       * optional int32 hand_id = 1;
       */
      public Builder setHandId(int value) {
        bitField0_ |= 0x00000001;
        handId_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 hand_id = 1;
       */
      public Builder clearHandId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        handId_ = 0;
        onChanged();
        return this;
      }

      private skadistats.clarity.wire.shared.s2.proto.S2UserMessages.EHapticPulseType pulseType_ = skadistats.clarity.wire.shared.s2.proto.S2UserMessages.EHapticPulseType.VR_HAND_HAPTIC_PULSE_LIGHT;
      /**
       * optional .EHapticPulseType pulse_type = 2 [default = VR_HAND_HAPTIC_PULSE_LIGHT];
       */
      public boolean hasPulseType() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional .EHapticPulseType pulse_type = 2 [default = VR_HAND_HAPTIC_PULSE_LIGHT];
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.EHapticPulseType getPulseType() {
        return pulseType_;
      }
      /**
       * optional .EHapticPulseType pulse_type = 2 [default = VR_HAND_HAPTIC_PULSE_LIGHT];
       */
      public Builder setPulseType(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.EHapticPulseType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000002;
        pulseType_ = value;
        onChanged();
        return this;
      }
      /**
       * optional .EHapticPulseType pulse_type = 2 [default = VR_HAND_HAPTIC_PULSE_LIGHT];
       */
      public Builder clearPulseType() {
        bitField0_ = (bitField0_ & ~0x00000002);
        pulseType_ = skadistats.clarity.wire.shared.s2.proto.S2UserMessages.EHapticPulseType.VR_HAND_HAPTIC_PULSE_LIGHT;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageHapticPulse)
    }

    static {
      defaultInstance = new CUserMessageHapticPulse(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageHapticPulse)
  }

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

    /**
     * optional .CEntityMsg entity_msg = 1;
     */
    boolean hasEntityMsg();
    /**
     * optional .CEntityMsg entity_msg = 1;
     */
    skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg getEntityMsg();
    /**
     * optional .CEntityMsg entity_msg = 1;
     */
    skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder getEntityMsgOrBuilder();
  }
  /**
   * Protobuf type {@code CEntityMessagePlayJingle}
   */
  public static final class CEntityMessagePlayJingle extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CEntityMessagePlayJingle)
      CEntityMessagePlayJingleOrBuilder {
    // Use CEntityMessagePlayJingle.newBuilder() to construct.
    private CEntityMessagePlayJingle(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CEntityMessagePlayJingle(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CEntityMessagePlayJingle defaultInstance;
    public static CEntityMessagePlayJingle getDefaultInstance() {
      return defaultInstance;
    }

    public CEntityMessagePlayJingle getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CEntityMessagePlayJingle(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = entityMsg_.toBuilder();
              }
              entityMsg_ = input.readMessage(skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(entityMsg_);
                entityMsg_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CEntityMessagePlayJingle_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CEntityMessagePlayJingle_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePlayJingle.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePlayJingle.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CEntityMessagePlayJingle parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CEntityMessagePlayJingle(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int ENTITY_MSG_FIELD_NUMBER = 1;
    private skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg entityMsg_;
    /**
     * optional .CEntityMsg entity_msg = 1;
     */
    public boolean hasEntityMsg() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CEntityMsg entity_msg = 1;
     */
    public skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg getEntityMsg() {
      return entityMsg_;
    }
    /**
     * optional .CEntityMsg entity_msg = 1;
     */
    public skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder getEntityMsgOrBuilder() {
      return entityMsg_;
    }

    private void initFields() {
      entityMsg_ = skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, entityMsg_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, entityMsg_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePlayJingle parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePlayJingle parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePlayJingle parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePlayJingle parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePlayJingle parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePlayJingle parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePlayJingle parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePlayJingle parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePlayJingle parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePlayJingle parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePlayJingle prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CEntityMessagePlayJingle}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CEntityMessagePlayJingle)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePlayJingleOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CEntityMessagePlayJingle_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CEntityMessagePlayJingle_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePlayJingle.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePlayJingle.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePlayJingle.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getEntityMsgFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (entityMsgBuilder_ == null) {
          entityMsg_ = skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.getDefaultInstance();
        } else {
          entityMsgBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CEntityMessagePlayJingle_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePlayJingle getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePlayJingle.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePlayJingle build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePlayJingle result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePlayJingle buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePlayJingle result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePlayJingle(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (entityMsgBuilder_ == null) {
          result.entityMsg_ = entityMsg_;
        } else {
          result.entityMsg_ = entityMsgBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePlayJingle) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePlayJingle)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePlayJingle other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePlayJingle.getDefaultInstance()) return this;
        if (other.hasEntityMsg()) {
          mergeEntityMsg(other.getEntityMsg());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePlayJingle parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePlayJingle) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg entityMsg_ = skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder> entityMsgBuilder_;
      /**
       * optional .CEntityMsg entity_msg = 1;
       */
      public boolean hasEntityMsg() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CEntityMsg entity_msg = 1;
       */
      public skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg getEntityMsg() {
        if (entityMsgBuilder_ == null) {
          return entityMsg_;
        } else {
          return entityMsgBuilder_.getMessage();
        }
      }
      /**
       * optional .CEntityMsg entity_msg = 1;
       */
      public Builder setEntityMsg(skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg value) {
        if (entityMsgBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          entityMsg_ = value;
          onChanged();
        } else {
          entityMsgBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CEntityMsg entity_msg = 1;
       */
      public Builder setEntityMsg(
          skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder builderForValue) {
        if (entityMsgBuilder_ == null) {
          entityMsg_ = builderForValue.build();
          onChanged();
        } else {
          entityMsgBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CEntityMsg entity_msg = 1;
       */
      public Builder mergeEntityMsg(skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg value) {
        if (entityMsgBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              entityMsg_ != skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.getDefaultInstance()) {
            entityMsg_ =
              skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.newBuilder(entityMsg_).mergeFrom(value).buildPartial();
          } else {
            entityMsg_ = value;
          }
          onChanged();
        } else {
          entityMsgBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CEntityMsg entity_msg = 1;
       */
      public Builder clearEntityMsg() {
        if (entityMsgBuilder_ == null) {
          entityMsg_ = skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.getDefaultInstance();
          onChanged();
        } else {
          entityMsgBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CEntityMsg entity_msg = 1;
       */
      public skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder getEntityMsgBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getEntityMsgFieldBuilder().getBuilder();
      }
      /**
       * optional .CEntityMsg entity_msg = 1;
       */
      public skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder getEntityMsgOrBuilder() {
        if (entityMsgBuilder_ != null) {
          return entityMsgBuilder_.getMessageOrBuilder();
        } else {
          return entityMsg_;
        }
      }
      /**
       * optional .CEntityMsg entity_msg = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder> 
          getEntityMsgFieldBuilder() {
        if (entityMsgBuilder_ == null) {
          entityMsgBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder>(
                  getEntityMsg(),
                  getParentForChildren(),
                  isClean());
          entityMsg_ = null;
        }
        return entityMsgBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CEntityMessagePlayJingle)
    }

    static {
      defaultInstance = new CEntityMessagePlayJingle(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CEntityMessagePlayJingle)
  }

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

    /**
     * optional bool start_effect = 1;
     */
    boolean hasStartEffect();
    /**
     * optional bool start_effect = 1;
     */
    boolean getStartEffect();

    /**
     * optional .CEntityMsg entity_msg = 2;
     */
    boolean hasEntityMsg();
    /**
     * optional .CEntityMsg entity_msg = 2;
     */
    skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg getEntityMsg();
    /**
     * optional .CEntityMsg entity_msg = 2;
     */
    skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder getEntityMsgOrBuilder();
  }
  /**
   * Protobuf type {@code CEntityMessageScreenOverlay}
   */
  public static final class CEntityMessageScreenOverlay extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CEntityMessageScreenOverlay)
      CEntityMessageScreenOverlayOrBuilder {
    // Use CEntityMessageScreenOverlay.newBuilder() to construct.
    private CEntityMessageScreenOverlay(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CEntityMessageScreenOverlay(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CEntityMessageScreenOverlay defaultInstance;
    public static CEntityMessageScreenOverlay getDefaultInstance() {
      return defaultInstance;
    }

    public CEntityMessageScreenOverlay getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CEntityMessageScreenOverlay(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              startEffect_ = input.readBool();
              break;
            }
            case 18: {
              skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = entityMsg_.toBuilder();
              }
              entityMsg_ = input.readMessage(skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(entityMsg_);
                entityMsg_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CEntityMessageScreenOverlay_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CEntityMessageScreenOverlay_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageScreenOverlay.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageScreenOverlay.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CEntityMessageScreenOverlay parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CEntityMessageScreenOverlay(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int START_EFFECT_FIELD_NUMBER = 1;
    private boolean startEffect_;
    /**
     * optional bool start_effect = 1;
     */
    public boolean hasStartEffect() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional bool start_effect = 1;
     */
    public boolean getStartEffect() {
      return startEffect_;
    }

    public static final int ENTITY_MSG_FIELD_NUMBER = 2;
    private skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg entityMsg_;
    /**
     * optional .CEntityMsg entity_msg = 2;
     */
    public boolean hasEntityMsg() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional .CEntityMsg entity_msg = 2;
     */
    public skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg getEntityMsg() {
      return entityMsg_;
    }
    /**
     * optional .CEntityMsg entity_msg = 2;
     */
    public skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder getEntityMsgOrBuilder() {
      return entityMsg_;
    }

    private void initFields() {
      startEffect_ = false;
      entityMsg_ = skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBool(1, startEffect_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, entityMsg_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(1, startEffect_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, entityMsg_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageScreenOverlay parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageScreenOverlay parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageScreenOverlay parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageScreenOverlay parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageScreenOverlay parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageScreenOverlay parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageScreenOverlay parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageScreenOverlay parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageScreenOverlay parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageScreenOverlay parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageScreenOverlay prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CEntityMessageScreenOverlay}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CEntityMessageScreenOverlay)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageScreenOverlayOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CEntityMessageScreenOverlay_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CEntityMessageScreenOverlay_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageScreenOverlay.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageScreenOverlay.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageScreenOverlay.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getEntityMsgFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        startEffect_ = false;
        bitField0_ = (bitField0_ & ~0x00000001);
        if (entityMsgBuilder_ == null) {
          entityMsg_ = skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.getDefaultInstance();
        } else {
          entityMsgBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CEntityMessageScreenOverlay_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageScreenOverlay getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageScreenOverlay.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageScreenOverlay build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageScreenOverlay result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageScreenOverlay buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageScreenOverlay result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageScreenOverlay(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.startEffect_ = startEffect_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (entityMsgBuilder_ == null) {
          result.entityMsg_ = entityMsg_;
        } else {
          result.entityMsg_ = entityMsgBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageScreenOverlay) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageScreenOverlay)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageScreenOverlay other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageScreenOverlay.getDefaultInstance()) return this;
        if (other.hasStartEffect()) {
          setStartEffect(other.getStartEffect());
        }
        if (other.hasEntityMsg()) {
          mergeEntityMsg(other.getEntityMsg());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageScreenOverlay parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageScreenOverlay) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private boolean startEffect_ ;
      /**
       * optional bool start_effect = 1;
       */
      public boolean hasStartEffect() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional bool start_effect = 1;
       */
      public boolean getStartEffect() {
        return startEffect_;
      }
      /**
       * optional bool start_effect = 1;
       */
      public Builder setStartEffect(boolean value) {
        bitField0_ |= 0x00000001;
        startEffect_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool start_effect = 1;
       */
      public Builder clearStartEffect() {
        bitField0_ = (bitField0_ & ~0x00000001);
        startEffect_ = false;
        onChanged();
        return this;
      }

      private skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg entityMsg_ = skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder> entityMsgBuilder_;
      /**
       * optional .CEntityMsg entity_msg = 2;
       */
      public boolean hasEntityMsg() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional .CEntityMsg entity_msg = 2;
       */
      public skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg getEntityMsg() {
        if (entityMsgBuilder_ == null) {
          return entityMsg_;
        } else {
          return entityMsgBuilder_.getMessage();
        }
      }
      /**
       * optional .CEntityMsg entity_msg = 2;
       */
      public Builder setEntityMsg(skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg value) {
        if (entityMsgBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          entityMsg_ = value;
          onChanged();
        } else {
          entityMsgBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CEntityMsg entity_msg = 2;
       */
      public Builder setEntityMsg(
          skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder builderForValue) {
        if (entityMsgBuilder_ == null) {
          entityMsg_ = builderForValue.build();
          onChanged();
        } else {
          entityMsgBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CEntityMsg entity_msg = 2;
       */
      public Builder mergeEntityMsg(skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg value) {
        if (entityMsgBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              entityMsg_ != skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.getDefaultInstance()) {
            entityMsg_ =
              skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.newBuilder(entityMsg_).mergeFrom(value).buildPartial();
          } else {
            entityMsg_ = value;
          }
          onChanged();
        } else {
          entityMsgBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CEntityMsg entity_msg = 2;
       */
      public Builder clearEntityMsg() {
        if (entityMsgBuilder_ == null) {
          entityMsg_ = skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.getDefaultInstance();
          onChanged();
        } else {
          entityMsgBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * optional .CEntityMsg entity_msg = 2;
       */
      public skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder getEntityMsgBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getEntityMsgFieldBuilder().getBuilder();
      }
      /**
       * optional .CEntityMsg entity_msg = 2;
       */
      public skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder getEntityMsgOrBuilder() {
        if (entityMsgBuilder_ != null) {
          return entityMsgBuilder_.getMessageOrBuilder();
        } else {
          return entityMsg_;
        }
      }
      /**
       * optional .CEntityMsg entity_msg = 2;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder> 
          getEntityMsgFieldBuilder() {
        if (entityMsgBuilder_ == null) {
          entityMsgBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder>(
                  getEntityMsg(),
                  getParentForChildren(),
                  isClean());
          entityMsg_ = null;
        }
        return entityMsgBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CEntityMessageScreenOverlay)
    }

    static {
      defaultInstance = new CEntityMessageScreenOverlay(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CEntityMessageScreenOverlay)
  }

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

    /**
     * optional bool remove_decals = 1;
     */
    boolean hasRemoveDecals();
    /**
     * optional bool remove_decals = 1;
     */
    boolean getRemoveDecals();

    /**
     * optional .CEntityMsg entity_msg = 2;
     */
    boolean hasEntityMsg();
    /**
     * optional .CEntityMsg entity_msg = 2;
     */
    skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg getEntityMsg();
    /**
     * optional .CEntityMsg entity_msg = 2;
     */
    skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder getEntityMsgOrBuilder();
  }
  /**
   * Protobuf type {@code CEntityMessageRemoveAllDecals}
   */
  public static final class CEntityMessageRemoveAllDecals extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CEntityMessageRemoveAllDecals)
      CEntityMessageRemoveAllDecalsOrBuilder {
    // Use CEntityMessageRemoveAllDecals.newBuilder() to construct.
    private CEntityMessageRemoveAllDecals(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CEntityMessageRemoveAllDecals(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CEntityMessageRemoveAllDecals defaultInstance;
    public static CEntityMessageRemoveAllDecals getDefaultInstance() {
      return defaultInstance;
    }

    public CEntityMessageRemoveAllDecals getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CEntityMessageRemoveAllDecals(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              removeDecals_ = input.readBool();
              break;
            }
            case 18: {
              skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = entityMsg_.toBuilder();
              }
              entityMsg_ = input.readMessage(skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(entityMsg_);
                entityMsg_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CEntityMessageRemoveAllDecals_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CEntityMessageRemoveAllDecals_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageRemoveAllDecals.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageRemoveAllDecals.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CEntityMessageRemoveAllDecals parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CEntityMessageRemoveAllDecals(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int REMOVE_DECALS_FIELD_NUMBER = 1;
    private boolean removeDecals_;
    /**
     * optional bool remove_decals = 1;
     */
    public boolean hasRemoveDecals() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional bool remove_decals = 1;
     */
    public boolean getRemoveDecals() {
      return removeDecals_;
    }

    public static final int ENTITY_MSG_FIELD_NUMBER = 2;
    private skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg entityMsg_;
    /**
     * optional .CEntityMsg entity_msg = 2;
     */
    public boolean hasEntityMsg() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional .CEntityMsg entity_msg = 2;
     */
    public skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg getEntityMsg() {
      return entityMsg_;
    }
    /**
     * optional .CEntityMsg entity_msg = 2;
     */
    public skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder getEntityMsgOrBuilder() {
      return entityMsg_;
    }

    private void initFields() {
      removeDecals_ = false;
      entityMsg_ = skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBool(1, removeDecals_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, entityMsg_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(1, removeDecals_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, entityMsg_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageRemoveAllDecals parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageRemoveAllDecals parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageRemoveAllDecals parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageRemoveAllDecals parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageRemoveAllDecals parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageRemoveAllDecals parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageRemoveAllDecals parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageRemoveAllDecals parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageRemoveAllDecals parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageRemoveAllDecals parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageRemoveAllDecals prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CEntityMessageRemoveAllDecals}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CEntityMessageRemoveAllDecals)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageRemoveAllDecalsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CEntityMessageRemoveAllDecals_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CEntityMessageRemoveAllDecals_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageRemoveAllDecals.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageRemoveAllDecals.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageRemoveAllDecals.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getEntityMsgFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        removeDecals_ = false;
        bitField0_ = (bitField0_ & ~0x00000001);
        if (entityMsgBuilder_ == null) {
          entityMsg_ = skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.getDefaultInstance();
        } else {
          entityMsgBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CEntityMessageRemoveAllDecals_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageRemoveAllDecals getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageRemoveAllDecals.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageRemoveAllDecals build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageRemoveAllDecals result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageRemoveAllDecals buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageRemoveAllDecals result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageRemoveAllDecals(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.removeDecals_ = removeDecals_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (entityMsgBuilder_ == null) {
          result.entityMsg_ = entityMsg_;
        } else {
          result.entityMsg_ = entityMsgBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageRemoveAllDecals) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageRemoveAllDecals)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageRemoveAllDecals other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageRemoveAllDecals.getDefaultInstance()) return this;
        if (other.hasRemoveDecals()) {
          setRemoveDecals(other.getRemoveDecals());
        }
        if (other.hasEntityMsg()) {
          mergeEntityMsg(other.getEntityMsg());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageRemoveAllDecals parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageRemoveAllDecals) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private boolean removeDecals_ ;
      /**
       * optional bool remove_decals = 1;
       */
      public boolean hasRemoveDecals() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional bool remove_decals = 1;
       */
      public boolean getRemoveDecals() {
        return removeDecals_;
      }
      /**
       * optional bool remove_decals = 1;
       */
      public Builder setRemoveDecals(boolean value) {
        bitField0_ |= 0x00000001;
        removeDecals_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool remove_decals = 1;
       */
      public Builder clearRemoveDecals() {
        bitField0_ = (bitField0_ & ~0x00000001);
        removeDecals_ = false;
        onChanged();
        return this;
      }

      private skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg entityMsg_ = skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder> entityMsgBuilder_;
      /**
       * optional .CEntityMsg entity_msg = 2;
       */
      public boolean hasEntityMsg() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional .CEntityMsg entity_msg = 2;
       */
      public skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg getEntityMsg() {
        if (entityMsgBuilder_ == null) {
          return entityMsg_;
        } else {
          return entityMsgBuilder_.getMessage();
        }
      }
      /**
       * optional .CEntityMsg entity_msg = 2;
       */
      public Builder setEntityMsg(skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg value) {
        if (entityMsgBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          entityMsg_ = value;
          onChanged();
        } else {
          entityMsgBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CEntityMsg entity_msg = 2;
       */
      public Builder setEntityMsg(
          skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder builderForValue) {
        if (entityMsgBuilder_ == null) {
          entityMsg_ = builderForValue.build();
          onChanged();
        } else {
          entityMsgBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CEntityMsg entity_msg = 2;
       */
      public Builder mergeEntityMsg(skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg value) {
        if (entityMsgBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              entityMsg_ != skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.getDefaultInstance()) {
            entityMsg_ =
              skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.newBuilder(entityMsg_).mergeFrom(value).buildPartial();
          } else {
            entityMsg_ = value;
          }
          onChanged();
        } else {
          entityMsgBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CEntityMsg entity_msg = 2;
       */
      public Builder clearEntityMsg() {
        if (entityMsgBuilder_ == null) {
          entityMsg_ = skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.getDefaultInstance();
          onChanged();
        } else {
          entityMsgBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * optional .CEntityMsg entity_msg = 2;
       */
      public skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder getEntityMsgBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getEntityMsgFieldBuilder().getBuilder();
      }
      /**
       * optional .CEntityMsg entity_msg = 2;
       */
      public skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder getEntityMsgOrBuilder() {
        if (entityMsgBuilder_ != null) {
          return entityMsgBuilder_.getMessageOrBuilder();
        } else {
          return entityMsg_;
        }
      }
      /**
       * optional .CEntityMsg entity_msg = 2;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder> 
          getEntityMsgFieldBuilder() {
        if (entityMsgBuilder_ == null) {
          entityMsgBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder>(
                  getEntityMsg(),
                  getParentForChildren(),
                  isClean());
          entityMsg_ = null;
        }
        return entityMsgBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CEntityMessageRemoveAllDecals)
    }

    static {
      defaultInstance = new CEntityMessageRemoveAllDecals(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CEntityMessageRemoveAllDecals)
  }

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

    /**
     * optional .CMsgVector impulse = 1;
     */
    boolean hasImpulse();
    /**
     * optional .CMsgVector impulse = 1;
     */
    skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector getImpulse();
    /**
     * optional .CMsgVector impulse = 1;
     */
    skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVectorOrBuilder getImpulseOrBuilder();

    /**
     * optional .CEntityMsg entity_msg = 2;
     */
    boolean hasEntityMsg();
    /**
     * optional .CEntityMsg entity_msg = 2;
     */
    skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg getEntityMsg();
    /**
     * optional .CEntityMsg entity_msg = 2;
     */
    skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder getEntityMsgOrBuilder();
  }
  /**
   * Protobuf type {@code CEntityMessagePropagateForce}
   */
  public static final class CEntityMessagePropagateForce extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CEntityMessagePropagateForce)
      CEntityMessagePropagateForceOrBuilder {
    // Use CEntityMessagePropagateForce.newBuilder() to construct.
    private CEntityMessagePropagateForce(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CEntityMessagePropagateForce(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CEntityMessagePropagateForce defaultInstance;
    public static CEntityMessagePropagateForce getDefaultInstance() {
      return defaultInstance;
    }

    public CEntityMessagePropagateForce getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CEntityMessagePropagateForce(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = impulse_.toBuilder();
              }
              impulse_ = input.readMessage(skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(impulse_);
                impulse_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = entityMsg_.toBuilder();
              }
              entityMsg_ = input.readMessage(skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(entityMsg_);
                entityMsg_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CEntityMessagePropagateForce_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CEntityMessagePropagateForce_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePropagateForce.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePropagateForce.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CEntityMessagePropagateForce parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CEntityMessagePropagateForce(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int IMPULSE_FIELD_NUMBER = 1;
    private skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector impulse_;
    /**
     * optional .CMsgVector impulse = 1;
     */
    public boolean hasImpulse() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgVector impulse = 1;
     */
    public skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector getImpulse() {
      return impulse_;
    }
    /**
     * optional .CMsgVector impulse = 1;
     */
    public skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVectorOrBuilder getImpulseOrBuilder() {
      return impulse_;
    }

    public static final int ENTITY_MSG_FIELD_NUMBER = 2;
    private skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg entityMsg_;
    /**
     * optional .CEntityMsg entity_msg = 2;
     */
    public boolean hasEntityMsg() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional .CEntityMsg entity_msg = 2;
     */
    public skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg getEntityMsg() {
      return entityMsg_;
    }
    /**
     * optional .CEntityMsg entity_msg = 2;
     */
    public skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder getEntityMsgOrBuilder() {
      return entityMsg_;
    }

    private void initFields() {
      impulse_ = skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.getDefaultInstance();
      entityMsg_ = skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, impulse_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, entityMsg_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, impulse_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, entityMsg_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePropagateForce parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePropagateForce parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePropagateForce parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePropagateForce parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePropagateForce parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePropagateForce parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePropagateForce parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePropagateForce parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePropagateForce parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePropagateForce parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePropagateForce prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CEntityMessagePropagateForce}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CEntityMessagePropagateForce)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePropagateForceOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CEntityMessagePropagateForce_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CEntityMessagePropagateForce_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePropagateForce.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePropagateForce.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePropagateForce.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getImpulseFieldBuilder();
          getEntityMsgFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (impulseBuilder_ == null) {
          impulse_ = skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          impulseBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (entityMsgBuilder_ == null) {
          entityMsg_ = skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.getDefaultInstance();
        } else {
          entityMsgBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CEntityMessagePropagateForce_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePropagateForce getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePropagateForce.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePropagateForce build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePropagateForce result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePropagateForce buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePropagateForce result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePropagateForce(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (impulseBuilder_ == null) {
          result.impulse_ = impulse_;
        } else {
          result.impulse_ = impulseBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (entityMsgBuilder_ == null) {
          result.entityMsg_ = entityMsg_;
        } else {
          result.entityMsg_ = entityMsgBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePropagateForce) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePropagateForce)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePropagateForce other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePropagateForce.getDefaultInstance()) return this;
        if (other.hasImpulse()) {
          mergeImpulse(other.getImpulse());
        }
        if (other.hasEntityMsg()) {
          mergeEntityMsg(other.getEntityMsg());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePropagateForce parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessagePropagateForce) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector impulse_ = skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVectorOrBuilder> impulseBuilder_;
      /**
       * optional .CMsgVector impulse = 1;
       */
      public boolean hasImpulse() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgVector impulse = 1;
       */
      public skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector getImpulse() {
        if (impulseBuilder_ == null) {
          return impulse_;
        } else {
          return impulseBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector impulse = 1;
       */
      public Builder setImpulse(skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector value) {
        if (impulseBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          impulse_ = value;
          onChanged();
        } else {
          impulseBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgVector impulse = 1;
       */
      public Builder setImpulse(
          skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.Builder builderForValue) {
        if (impulseBuilder_ == null) {
          impulse_ = builderForValue.build();
          onChanged();
        } else {
          impulseBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgVector impulse = 1;
       */
      public Builder mergeImpulse(skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector value) {
        if (impulseBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              impulse_ != skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            impulse_ =
              skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.newBuilder(impulse_).mergeFrom(value).buildPartial();
          } else {
            impulse_ = value;
          }
          onChanged();
        } else {
          impulseBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgVector impulse = 1;
       */
      public Builder clearImpulse() {
        if (impulseBuilder_ == null) {
          impulse_ = skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          impulseBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgVector impulse = 1;
       */
      public skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.Builder getImpulseBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getImpulseFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector impulse = 1;
       */
      public skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVectorOrBuilder getImpulseOrBuilder() {
        if (impulseBuilder_ != null) {
          return impulseBuilder_.getMessageOrBuilder();
        } else {
          return impulse_;
        }
      }
      /**
       * optional .CMsgVector impulse = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVectorOrBuilder> 
          getImpulseFieldBuilder() {
        if (impulseBuilder_ == null) {
          impulseBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVectorOrBuilder>(
                  getImpulse(),
                  getParentForChildren(),
                  isClean());
          impulse_ = null;
        }
        return impulseBuilder_;
      }

      private skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg entityMsg_ = skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder> entityMsgBuilder_;
      /**
       * optional .CEntityMsg entity_msg = 2;
       */
      public boolean hasEntityMsg() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional .CEntityMsg entity_msg = 2;
       */
      public skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg getEntityMsg() {
        if (entityMsgBuilder_ == null) {
          return entityMsg_;
        } else {
          return entityMsgBuilder_.getMessage();
        }
      }
      /**
       * optional .CEntityMsg entity_msg = 2;
       */
      public Builder setEntityMsg(skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg value) {
        if (entityMsgBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          entityMsg_ = value;
          onChanged();
        } else {
          entityMsgBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CEntityMsg entity_msg = 2;
       */
      public Builder setEntityMsg(
          skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder builderForValue) {
        if (entityMsgBuilder_ == null) {
          entityMsg_ = builderForValue.build();
          onChanged();
        } else {
          entityMsgBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CEntityMsg entity_msg = 2;
       */
      public Builder mergeEntityMsg(skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg value) {
        if (entityMsgBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              entityMsg_ != skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.getDefaultInstance()) {
            entityMsg_ =
              skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.newBuilder(entityMsg_).mergeFrom(value).buildPartial();
          } else {
            entityMsg_ = value;
          }
          onChanged();
        } else {
          entityMsgBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CEntityMsg entity_msg = 2;
       */
      public Builder clearEntityMsg() {
        if (entityMsgBuilder_ == null) {
          entityMsg_ = skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.getDefaultInstance();
          onChanged();
        } else {
          entityMsgBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * optional .CEntityMsg entity_msg = 2;
       */
      public skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder getEntityMsgBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getEntityMsgFieldBuilder().getBuilder();
      }
      /**
       * optional .CEntityMsg entity_msg = 2;
       */
      public skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder getEntityMsgOrBuilder() {
        if (entityMsgBuilder_ != null) {
          return entityMsgBuilder_.getMessageOrBuilder();
        } else {
          return entityMsg_;
        }
      }
      /**
       * optional .CEntityMsg entity_msg = 2;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder> 
          getEntityMsgFieldBuilder() {
        if (entityMsgBuilder_ == null) {
          entityMsgBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder>(
                  getEntityMsg(),
                  getParentForChildren(),
                  isClean());
          entityMsg_ = null;
        }
        return entityMsgBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CEntityMessagePropagateForce)
    }

    static {
      defaultInstance = new CEntityMessagePropagateForce(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CEntityMessagePropagateForce)
  }

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

    /**
     * optional .CMsgVector origin = 1;
     */
    boolean hasOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector getOrigin();
    /**
     * optional .CMsgVector origin = 1;
     */
    skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder();

    /**
     * optional int32 entityindex = 2 [default = -1];
     */
    boolean hasEntityindex();
    /**
     * optional int32 entityindex = 2 [default = -1];
     */
    int getEntityindex();

    /**
     * optional float radius = 3;
     */
    boolean hasRadius();
    /**
     * optional float radius = 3;
     */
    float getRadius();

    /**
     * optional fixed32 color = 4;
     */
    boolean hasColor();
    /**
     * optional fixed32 color = 4;
     */
    int getColor();

    /**
     * optional uint32 beams = 5;
     */
    boolean hasBeams();
    /**
     * optional uint32 beams = 5;
     */
    int getBeams();

    /**
     * optional float thick = 6;
     */
    boolean hasThick();
    /**
     * optional float thick = 6;
     */
    float getThick();

    /**
     * optional float duration = 7;
     */
    boolean hasDuration();
    /**
     * optional float duration = 7;
     */
    float getDuration();

    /**
     * optional .CEntityMsg entity_msg = 8;
     */
    boolean hasEntityMsg();
    /**
     * optional .CEntityMsg entity_msg = 8;
     */
    skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg getEntityMsg();
    /**
     * optional .CEntityMsg entity_msg = 8;
     */
    skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder getEntityMsgOrBuilder();
  }
  /**
   * Protobuf type {@code CEntityMessageDoSpark}
   */
  public static final class CEntityMessageDoSpark extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CEntityMessageDoSpark)
      CEntityMessageDoSparkOrBuilder {
    // Use CEntityMessageDoSpark.newBuilder() to construct.
    private CEntityMessageDoSpark(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CEntityMessageDoSpark(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CEntityMessageDoSpark defaultInstance;
    public static CEntityMessageDoSpark getDefaultInstance() {
      return defaultInstance;
    }

    public CEntityMessageDoSpark getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CEntityMessageDoSpark(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = origin_.toBuilder();
              }
              origin_ = input.readMessage(skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(origin_);
                origin_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              entityindex_ = input.readInt32();
              break;
            }
            case 29: {
              bitField0_ |= 0x00000004;
              radius_ = input.readFloat();
              break;
            }
            case 37: {
              bitField0_ |= 0x00000008;
              color_ = input.readFixed32();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              beams_ = input.readUInt32();
              break;
            }
            case 53: {
              bitField0_ |= 0x00000020;
              thick_ = input.readFloat();
              break;
            }
            case 61: {
              bitField0_ |= 0x00000040;
              duration_ = input.readFloat();
              break;
            }
            case 66: {
              skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder subBuilder = null;
              if (((bitField0_ & 0x00000080) == 0x00000080)) {
                subBuilder = entityMsg_.toBuilder();
              }
              entityMsg_ = input.readMessage(skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(entityMsg_);
                entityMsg_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000080;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CEntityMessageDoSpark_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CEntityMessageDoSpark_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageDoSpark.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageDoSpark.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CEntityMessageDoSpark parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CEntityMessageDoSpark(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int ORIGIN_FIELD_NUMBER = 1;
    private skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector origin_;
    /**
     * optional .CMsgVector origin = 1;
     */
    public boolean hasOrigin() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector getOrigin() {
      return origin_;
    }
    /**
     * optional .CMsgVector origin = 1;
     */
    public skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
      return origin_;
    }

    public static final int ENTITYINDEX_FIELD_NUMBER = 2;
    private int entityindex_;
    /**
     * optional int32 entityindex = 2 [default = -1];
     */
    public boolean hasEntityindex() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional int32 entityindex = 2 [default = -1];
     */
    public int getEntityindex() {
      return entityindex_;
    }

    public static final int RADIUS_FIELD_NUMBER = 3;
    private float radius_;
    /**
     * optional float radius = 3;
     */
    public boolean hasRadius() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional float radius = 3;
     */
    public float getRadius() {
      return radius_;
    }

    public static final int COLOR_FIELD_NUMBER = 4;
    private int color_;
    /**
     * optional fixed32 color = 4;
     */
    public boolean hasColor() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional fixed32 color = 4;
     */
    public int getColor() {
      return color_;
    }

    public static final int BEAMS_FIELD_NUMBER = 5;
    private int beams_;
    /**
     * optional uint32 beams = 5;
     */
    public boolean hasBeams() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional uint32 beams = 5;
     */
    public int getBeams() {
      return beams_;
    }

    public static final int THICK_FIELD_NUMBER = 6;
    private float thick_;
    /**
     * optional float thick = 6;
     */
    public boolean hasThick() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * optional float thick = 6;
     */
    public float getThick() {
      return thick_;
    }

    public static final int DURATION_FIELD_NUMBER = 7;
    private float duration_;
    /**
     * optional float duration = 7;
     */
    public boolean hasDuration() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * optional float duration = 7;
     */
    public float getDuration() {
      return duration_;
    }

    public static final int ENTITY_MSG_FIELD_NUMBER = 8;
    private skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg entityMsg_;
    /**
     * optional .CEntityMsg entity_msg = 8;
     */
    public boolean hasEntityMsg() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * optional .CEntityMsg entity_msg = 8;
     */
    public skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg getEntityMsg() {
      return entityMsg_;
    }
    /**
     * optional .CEntityMsg entity_msg = 8;
     */
    public skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder getEntityMsgOrBuilder() {
      return entityMsg_;
    }

    private void initFields() {
      origin_ = skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.getDefaultInstance();
      entityindex_ = -1;
      radius_ = 0F;
      color_ = 0;
      beams_ = 0;
      thick_ = 0F;
      duration_ = 0F;
      entityMsg_ = skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, origin_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, entityindex_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeFloat(3, radius_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeFixed32(4, color_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeUInt32(5, beams_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeFloat(6, thick_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeFloat(7, duration_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeMessage(8, entityMsg_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, origin_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, entityindex_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(3, radius_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(4, color_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(5, beams_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(6, thick_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(7, duration_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(8, entityMsg_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageDoSpark parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageDoSpark parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageDoSpark parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageDoSpark parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageDoSpark parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageDoSpark parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageDoSpark parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageDoSpark parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageDoSpark parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageDoSpark parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageDoSpark prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CEntityMessageDoSpark}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CEntityMessageDoSpark)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageDoSparkOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CEntityMessageDoSpark_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CEntityMessageDoSpark_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageDoSpark.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageDoSpark.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageDoSpark.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getOriginFieldBuilder();
          getEntityMsgFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (originBuilder_ == null) {
          origin_ = skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        entityindex_ = -1;
        bitField0_ = (bitField0_ & ~0x00000002);
        radius_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000004);
        color_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        beams_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        thick_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000020);
        duration_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000040);
        if (entityMsgBuilder_ == null) {
          entityMsg_ = skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.getDefaultInstance();
        } else {
          entityMsgBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000080);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CEntityMessageDoSpark_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageDoSpark getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageDoSpark.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageDoSpark build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageDoSpark result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageDoSpark buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageDoSpark result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageDoSpark(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (originBuilder_ == null) {
          result.origin_ = origin_;
        } else {
          result.origin_ = originBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.entityindex_ = entityindex_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.radius_ = radius_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.color_ = color_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.beams_ = beams_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.thick_ = thick_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.duration_ = duration_;
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000080;
        }
        if (entityMsgBuilder_ == null) {
          result.entityMsg_ = entityMsg_;
        } else {
          result.entityMsg_ = entityMsgBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageDoSpark) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageDoSpark)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageDoSpark other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageDoSpark.getDefaultInstance()) return this;
        if (other.hasOrigin()) {
          mergeOrigin(other.getOrigin());
        }
        if (other.hasEntityindex()) {
          setEntityindex(other.getEntityindex());
        }
        if (other.hasRadius()) {
          setRadius(other.getRadius());
        }
        if (other.hasColor()) {
          setColor(other.getColor());
        }
        if (other.hasBeams()) {
          setBeams(other.getBeams());
        }
        if (other.hasThick()) {
          setThick(other.getThick());
        }
        if (other.hasDuration()) {
          setDuration(other.getDuration());
        }
        if (other.hasEntityMsg()) {
          mergeEntityMsg(other.getEntityMsg());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageDoSpark parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageDoSpark) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector origin_ = skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVectorOrBuilder> originBuilder_;
      /**
       * optional .CMsgVector origin = 1;
       */
      public boolean hasOrigin() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector getOrigin() {
        if (originBuilder_ == null) {
          return origin_;
        } else {
          return originBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public Builder setOrigin(skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector value) {
        if (originBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          origin_ = value;
          onChanged();
        } else {
          originBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public Builder setOrigin(
          skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.Builder builderForValue) {
        if (originBuilder_ == null) {
          origin_ = builderForValue.build();
          onChanged();
        } else {
          originBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public Builder mergeOrigin(skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector value) {
        if (originBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              origin_ != skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            origin_ =
              skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.newBuilder(origin_).mergeFrom(value).buildPartial();
          } else {
            origin_ = value;
          }
          onChanged();
        } else {
          originBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public Builder clearOrigin() {
        if (originBuilder_ == null) {
          origin_ = skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          originBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.Builder getOriginBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getOriginFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      public skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVectorOrBuilder getOriginOrBuilder() {
        if (originBuilder_ != null) {
          return originBuilder_.getMessageOrBuilder();
        } else {
          return origin_;
        }
      }
      /**
       * optional .CMsgVector origin = 1;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVectorOrBuilder> 
          getOriginFieldBuilder() {
        if (originBuilder_ == null) {
          originBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVectorOrBuilder>(
                  getOrigin(),
                  getParentForChildren(),
                  isClean());
          origin_ = null;
        }
        return originBuilder_;
      }

      private int entityindex_ = -1;
      /**
       * optional int32 entityindex = 2 [default = -1];
       */
      public boolean hasEntityindex() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional int32 entityindex = 2 [default = -1];
       */
      public int getEntityindex() {
        return entityindex_;
      }
      /**
       * optional int32 entityindex = 2 [default = -1];
       */
      public Builder setEntityindex(int value) {
        bitField0_ |= 0x00000002;
        entityindex_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 entityindex = 2 [default = -1];
       */
      public Builder clearEntityindex() {
        bitField0_ = (bitField0_ & ~0x00000002);
        entityindex_ = -1;
        onChanged();
        return this;
      }

      private float radius_ ;
      /**
       * optional float radius = 3;
       */
      public boolean hasRadius() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional float radius = 3;
       */
      public float getRadius() {
        return radius_;
      }
      /**
       * optional float radius = 3;
       */
      public Builder setRadius(float value) {
        bitField0_ |= 0x00000004;
        radius_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float radius = 3;
       */
      public Builder clearRadius() {
        bitField0_ = (bitField0_ & ~0x00000004);
        radius_ = 0F;
        onChanged();
        return this;
      }

      private int color_ ;
      /**
       * optional fixed32 color = 4;
       */
      public boolean hasColor() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional fixed32 color = 4;
       */
      public int getColor() {
        return color_;
      }
      /**
       * optional fixed32 color = 4;
       */
      public Builder setColor(int value) {
        bitField0_ |= 0x00000008;
        color_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed32 color = 4;
       */
      public Builder clearColor() {
        bitField0_ = (bitField0_ & ~0x00000008);
        color_ = 0;
        onChanged();
        return this;
      }

      private int beams_ ;
      /**
       * optional uint32 beams = 5;
       */
      public boolean hasBeams() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional uint32 beams = 5;
       */
      public int getBeams() {
        return beams_;
      }
      /**
       * optional uint32 beams = 5;
       */
      public Builder setBeams(int value) {
        bitField0_ |= 0x00000010;
        beams_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 beams = 5;
       */
      public Builder clearBeams() {
        bitField0_ = (bitField0_ & ~0x00000010);
        beams_ = 0;
        onChanged();
        return this;
      }

      private float thick_ ;
      /**
       * optional float thick = 6;
       */
      public boolean hasThick() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional float thick = 6;
       */
      public float getThick() {
        return thick_;
      }
      /**
       * optional float thick = 6;
       */
      public Builder setThick(float value) {
        bitField0_ |= 0x00000020;
        thick_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float thick = 6;
       */
      public Builder clearThick() {
        bitField0_ = (bitField0_ & ~0x00000020);
        thick_ = 0F;
        onChanged();
        return this;
      }

      private float duration_ ;
      /**
       * optional float duration = 7;
       */
      public boolean hasDuration() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * optional float duration = 7;
       */
      public float getDuration() {
        return duration_;
      }
      /**
       * optional float duration = 7;
       */
      public Builder setDuration(float value) {
        bitField0_ |= 0x00000040;
        duration_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float duration = 7;
       */
      public Builder clearDuration() {
        bitField0_ = (bitField0_ & ~0x00000040);
        duration_ = 0F;
        onChanged();
        return this;
      }

      private skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg entityMsg_ = skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder> entityMsgBuilder_;
      /**
       * optional .CEntityMsg entity_msg = 8;
       */
      public boolean hasEntityMsg() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * optional .CEntityMsg entity_msg = 8;
       */
      public skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg getEntityMsg() {
        if (entityMsgBuilder_ == null) {
          return entityMsg_;
        } else {
          return entityMsgBuilder_.getMessage();
        }
      }
      /**
       * optional .CEntityMsg entity_msg = 8;
       */
      public Builder setEntityMsg(skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg value) {
        if (entityMsgBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          entityMsg_ = value;
          onChanged();
        } else {
          entityMsgBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * optional .CEntityMsg entity_msg = 8;
       */
      public Builder setEntityMsg(
          skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder builderForValue) {
        if (entityMsgBuilder_ == null) {
          entityMsg_ = builderForValue.build();
          onChanged();
        } else {
          entityMsgBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * optional .CEntityMsg entity_msg = 8;
       */
      public Builder mergeEntityMsg(skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg value) {
        if (entityMsgBuilder_ == null) {
          if (((bitField0_ & 0x00000080) == 0x00000080) &&
              entityMsg_ != skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.getDefaultInstance()) {
            entityMsg_ =
              skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.newBuilder(entityMsg_).mergeFrom(value).buildPartial();
          } else {
            entityMsg_ = value;
          }
          onChanged();
        } else {
          entityMsgBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * optional .CEntityMsg entity_msg = 8;
       */
      public Builder clearEntityMsg() {
        if (entityMsgBuilder_ == null) {
          entityMsg_ = skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.getDefaultInstance();
          onChanged();
        } else {
          entityMsgBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000080);
        return this;
      }
      /**
       * optional .CEntityMsg entity_msg = 8;
       */
      public skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder getEntityMsgBuilder() {
        bitField0_ |= 0x00000080;
        onChanged();
        return getEntityMsgFieldBuilder().getBuilder();
      }
      /**
       * optional .CEntityMsg entity_msg = 8;
       */
      public skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder getEntityMsgOrBuilder() {
        if (entityMsgBuilder_ != null) {
          return entityMsgBuilder_.getMessageOrBuilder();
        } else {
          return entityMsg_;
        }
      }
      /**
       * optional .CEntityMsg entity_msg = 8;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder> 
          getEntityMsgFieldBuilder() {
        if (entityMsgBuilder_ == null) {
          entityMsgBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder>(
                  getEntityMsg(),
                  getParentForChildren(),
                  isClean());
          entityMsg_ = null;
        }
        return entityMsgBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CEntityMessageDoSpark)
    }

    static {
      defaultInstance = new CEntityMessageDoSpark(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CEntityMessageDoSpark)
  }

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

    /**
     * optional bool relative = 1;
     */
    boolean hasRelative();
    /**
     * optional bool relative = 1;
     */
    boolean getRelative();

    /**
     * optional .CMsgQAngle angle = 2;
     */
    boolean hasAngle();
    /**
     * optional .CMsgQAngle angle = 2;
     */
    skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgQAngle getAngle();
    /**
     * optional .CMsgQAngle angle = 2;
     */
    skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgQAngleOrBuilder getAngleOrBuilder();

    /**
     * optional .CEntityMsg entity_msg = 3;
     */
    boolean hasEntityMsg();
    /**
     * optional .CEntityMsg entity_msg = 3;
     */
    skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg getEntityMsg();
    /**
     * optional .CEntityMsg entity_msg = 3;
     */
    skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder getEntityMsgOrBuilder();
  }
  /**
   * Protobuf type {@code CEntityMessageFixAngle}
   */
  public static final class CEntityMessageFixAngle extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CEntityMessageFixAngle)
      CEntityMessageFixAngleOrBuilder {
    // Use CEntityMessageFixAngle.newBuilder() to construct.
    private CEntityMessageFixAngle(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CEntityMessageFixAngle(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CEntityMessageFixAngle defaultInstance;
    public static CEntityMessageFixAngle getDefaultInstance() {
      return defaultInstance;
    }

    public CEntityMessageFixAngle getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CEntityMessageFixAngle(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              relative_ = input.readBool();
              break;
            }
            case 18: {
              skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgQAngle.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = angle_.toBuilder();
              }
              angle_ = input.readMessage(skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgQAngle.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(angle_);
                angle_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            case 26: {
              skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) == 0x00000004)) {
                subBuilder = entityMsg_.toBuilder();
              }
              entityMsg_ = input.readMessage(skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(entityMsg_);
                entityMsg_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CEntityMessageFixAngle_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CEntityMessageFixAngle_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageFixAngle.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageFixAngle.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CEntityMessageFixAngle parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CEntityMessageFixAngle(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int RELATIVE_FIELD_NUMBER = 1;
    private boolean relative_;
    /**
     * optional bool relative = 1;
     */
    public boolean hasRelative() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional bool relative = 1;
     */
    public boolean getRelative() {
      return relative_;
    }

    public static final int ANGLE_FIELD_NUMBER = 2;
    private skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgQAngle angle_;
    /**
     * optional .CMsgQAngle angle = 2;
     */
    public boolean hasAngle() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional .CMsgQAngle angle = 2;
     */
    public skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgQAngle getAngle() {
      return angle_;
    }
    /**
     * optional .CMsgQAngle angle = 2;
     */
    public skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgQAngleOrBuilder getAngleOrBuilder() {
      return angle_;
    }

    public static final int ENTITY_MSG_FIELD_NUMBER = 3;
    private skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg entityMsg_;
    /**
     * optional .CEntityMsg entity_msg = 3;
     */
    public boolean hasEntityMsg() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional .CEntityMsg entity_msg = 3;
     */
    public skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg getEntityMsg() {
      return entityMsg_;
    }
    /**
     * optional .CEntityMsg entity_msg = 3;
     */
    public skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder getEntityMsgOrBuilder() {
      return entityMsg_;
    }

    private void initFields() {
      relative_ = false;
      angle_ = skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgQAngle.getDefaultInstance();
      entityMsg_ = skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBool(1, relative_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, angle_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(3, entityMsg_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(1, relative_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, angle_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, entityMsg_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageFixAngle parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageFixAngle parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageFixAngle parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageFixAngle parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageFixAngle parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageFixAngle parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageFixAngle parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageFixAngle parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageFixAngle parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageFixAngle parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageFixAngle prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CEntityMessageFixAngle}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CEntityMessageFixAngle)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageFixAngleOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CEntityMessageFixAngle_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CEntityMessageFixAngle_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageFixAngle.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageFixAngle.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageFixAngle.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getAngleFieldBuilder();
          getEntityMsgFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        relative_ = false;
        bitField0_ = (bitField0_ & ~0x00000001);
        if (angleBuilder_ == null) {
          angle_ = skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgQAngle.getDefaultInstance();
        } else {
          angleBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        if (entityMsgBuilder_ == null) {
          entityMsg_ = skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.getDefaultInstance();
        } else {
          entityMsgBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CEntityMessageFixAngle_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageFixAngle getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageFixAngle.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageFixAngle build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageFixAngle result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageFixAngle buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageFixAngle result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageFixAngle(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.relative_ = relative_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (angleBuilder_ == null) {
          result.angle_ = angle_;
        } else {
          result.angle_ = angleBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (entityMsgBuilder_ == null) {
          result.entityMsg_ = entityMsg_;
        } else {
          result.entityMsg_ = entityMsgBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageFixAngle) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageFixAngle)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageFixAngle other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageFixAngle.getDefaultInstance()) return this;
        if (other.hasRelative()) {
          setRelative(other.getRelative());
        }
        if (other.hasAngle()) {
          mergeAngle(other.getAngle());
        }
        if (other.hasEntityMsg()) {
          mergeEntityMsg(other.getEntityMsg());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageFixAngle parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CEntityMessageFixAngle) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private boolean relative_ ;
      /**
       * optional bool relative = 1;
       */
      public boolean hasRelative() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional bool relative = 1;
       */
      public boolean getRelative() {
        return relative_;
      }
      /**
       * optional bool relative = 1;
       */
      public Builder setRelative(boolean value) {
        bitField0_ |= 0x00000001;
        relative_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool relative = 1;
       */
      public Builder clearRelative() {
        bitField0_ = (bitField0_ & ~0x00000001);
        relative_ = false;
        onChanged();
        return this;
      }

      private skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgQAngle angle_ = skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgQAngle.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgQAngle, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgQAngle.Builder, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgQAngleOrBuilder> angleBuilder_;
      /**
       * optional .CMsgQAngle angle = 2;
       */
      public boolean hasAngle() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional .CMsgQAngle angle = 2;
       */
      public skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgQAngle getAngle() {
        if (angleBuilder_ == null) {
          return angle_;
        } else {
          return angleBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgQAngle angle = 2;
       */
      public Builder setAngle(skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgQAngle value) {
        if (angleBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          angle_ = value;
          onChanged();
        } else {
          angleBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgQAngle angle = 2;
       */
      public Builder setAngle(
          skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgQAngle.Builder builderForValue) {
        if (angleBuilder_ == null) {
          angle_ = builderForValue.build();
          onChanged();
        } else {
          angleBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgQAngle angle = 2;
       */
      public Builder mergeAngle(skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgQAngle value) {
        if (angleBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              angle_ != skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgQAngle.getDefaultInstance()) {
            angle_ =
              skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgQAngle.newBuilder(angle_).mergeFrom(value).buildPartial();
          } else {
            angle_ = value;
          }
          onChanged();
        } else {
          angleBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CMsgQAngle angle = 2;
       */
      public Builder clearAngle() {
        if (angleBuilder_ == null) {
          angle_ = skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgQAngle.getDefaultInstance();
          onChanged();
        } else {
          angleBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * optional .CMsgQAngle angle = 2;
       */
      public skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgQAngle.Builder getAngleBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getAngleFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgQAngle angle = 2;
       */
      public skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgQAngleOrBuilder getAngleOrBuilder() {
        if (angleBuilder_ != null) {
          return angleBuilder_.getMessageOrBuilder();
        } else {
          return angle_;
        }
      }
      /**
       * optional .CMsgQAngle angle = 2;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgQAngle, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgQAngle.Builder, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgQAngleOrBuilder> 
          getAngleFieldBuilder() {
        if (angleBuilder_ == null) {
          angleBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgQAngle, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgQAngle.Builder, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgQAngleOrBuilder>(
                  getAngle(),
                  getParentForChildren(),
                  isClean());
          angle_ = null;
        }
        return angleBuilder_;
      }

      private skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg entityMsg_ = skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder> entityMsgBuilder_;
      /**
       * optional .CEntityMsg entity_msg = 3;
       */
      public boolean hasEntityMsg() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional .CEntityMsg entity_msg = 3;
       */
      public skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg getEntityMsg() {
        if (entityMsgBuilder_ == null) {
          return entityMsg_;
        } else {
          return entityMsgBuilder_.getMessage();
        }
      }
      /**
       * optional .CEntityMsg entity_msg = 3;
       */
      public Builder setEntityMsg(skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg value) {
        if (entityMsgBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          entityMsg_ = value;
          onChanged();
        } else {
          entityMsgBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CEntityMsg entity_msg = 3;
       */
      public Builder setEntityMsg(
          skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder builderForValue) {
        if (entityMsgBuilder_ == null) {
          entityMsg_ = builderForValue.build();
          onChanged();
        } else {
          entityMsgBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CEntityMsg entity_msg = 3;
       */
      public Builder mergeEntityMsg(skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg value) {
        if (entityMsgBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004) &&
              entityMsg_ != skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.getDefaultInstance()) {
            entityMsg_ =
              skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.newBuilder(entityMsg_).mergeFrom(value).buildPartial();
          } else {
            entityMsg_ = value;
          }
          onChanged();
        } else {
          entityMsgBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CEntityMsg entity_msg = 3;
       */
      public Builder clearEntityMsg() {
        if (entityMsgBuilder_ == null) {
          entityMsg_ = skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.getDefaultInstance();
          onChanged();
        } else {
          entityMsgBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * optional .CEntityMsg entity_msg = 3;
       */
      public skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder getEntityMsgBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getEntityMsgFieldBuilder().getBuilder();
      }
      /**
       * optional .CEntityMsg entity_msg = 3;
       */
      public skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder getEntityMsgOrBuilder() {
        if (entityMsgBuilder_ != null) {
          return entityMsgBuilder_.getMessageOrBuilder();
        } else {
          return entityMsg_;
        }
      }
      /**
       * optional .CEntityMsg entity_msg = 3;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder> 
          getEntityMsgFieldBuilder() {
        if (entityMsgBuilder_ == null) {
          entityMsgBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsg.Builder, skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.CEntityMsgOrBuilder>(
                  getEntityMsg(),
                  getParentForChildren(),
                  isClean());
          entityMsg_ = null;
        }
        return entityMsgBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CEntityMessageFixAngle)
    }

    static {
      defaultInstance = new CEntityMessageFixAngle(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CEntityMessageFixAngle)
  }

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

    /**
     * optional uint32 camera_type = 1;
     */
    boolean hasCameraType();
    /**
     * optional uint32 camera_type = 1;
     */
    int getCameraType();

    /**
     * optional float duration = 2;
     */
    boolean hasDuration();
    /**
     * optional float duration = 2;
     */
    float getDuration();

    /**
     * optional .CUserMessageCameraTransition.Transition_DataDriven params_data_driven = 3;
     */
    boolean hasParamsDataDriven();
    /**
     * optional .CUserMessageCameraTransition.Transition_DataDriven params_data_driven = 3;
     */
    skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven getParamsDataDriven();
    /**
     * optional .CUserMessageCameraTransition.Transition_DataDriven params_data_driven = 3;
     */
    skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDrivenOrBuilder getParamsDataDrivenOrBuilder();
  }
  /**
   * Protobuf type {@code CUserMessageCameraTransition}
   */
  public static final class CUserMessageCameraTransition extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageCameraTransition)
      CUserMessageCameraTransitionOrBuilder {
    // Use CUserMessageCameraTransition.newBuilder() to construct.
    private CUserMessageCameraTransition(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageCameraTransition(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageCameraTransition defaultInstance;
    public static CUserMessageCameraTransition getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageCameraTransition getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageCameraTransition(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              cameraType_ = input.readUInt32();
              break;
            }
            case 21: {
              bitField0_ |= 0x00000002;
              duration_ = input.readFloat();
              break;
            }
            case 26: {
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) == 0x00000004)) {
                subBuilder = paramsDataDriven_.toBuilder();
              }
              paramsDataDriven_ = input.readMessage(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(paramsDataDriven_);
                paramsDataDriven_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCameraTransition_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCameraTransition_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageCameraTransition parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageCameraTransition(input, extensionRegistry);
      }
    };

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

    public interface Transition_DataDrivenOrBuilder extends
        // @@protoc_insertion_point(interface_extends:CUserMessageCameraTransition.Transition_DataDriven)
        com.google.protobuf.MessageOrBuilder {

      /**
       * optional string filename = 1;
       */
      boolean hasFilename();
      /**
       * optional string filename = 1;
       */
      java.lang.String getFilename();
      /**
       * optional string filename = 1;
       */
      com.google.protobuf.ByteString
          getFilenameBytes();

      /**
       * optional int32 attach_ent_index = 2 [default = -1];
       */
      boolean hasAttachEntIndex();
      /**
       * optional int32 attach_ent_index = 2 [default = -1];
       */
      int getAttachEntIndex();

      /**
       * optional float duration = 3;
       */
      boolean hasDuration();
      /**
       * optional float duration = 3;
       */
      float getDuration();
    }
    /**
     * Protobuf type {@code CUserMessageCameraTransition.Transition_DataDriven}
     */
    public static final class Transition_DataDriven extends
        com.google.protobuf.GeneratedMessage implements
        // @@protoc_insertion_point(message_implements:CUserMessageCameraTransition.Transition_DataDriven)
        Transition_DataDrivenOrBuilder {
      // Use Transition_DataDriven.newBuilder() to construct.
      private Transition_DataDriven(com.google.protobuf.GeneratedMessage.Builder builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private Transition_DataDriven(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

      private static final Transition_DataDriven defaultInstance;
      public static Transition_DataDriven getDefaultInstance() {
        return defaultInstance;
      }

      public Transition_DataDriven getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final com.google.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private Transition_DataDriven(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        initFields();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 10: {
                com.google.protobuf.ByteString bs = input.readBytes();
                bitField0_ |= 0x00000001;
                filename_ = bs;
                break;
              }
              case 16: {
                bitField0_ |= 0x00000002;
                attachEntIndex_ = input.readInt32();
                break;
              }
              case 29: {
                bitField0_ |= 0x00000004;
                duration_ = input.readFloat();
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCameraTransition_Transition_DataDriven_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCameraTransition_Transition_DataDriven_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven.Builder.class);
      }

      public static com.google.protobuf.Parser PARSER =
          new com.google.protobuf.AbstractParser() {
        public Transition_DataDriven parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new Transition_DataDriven(input, extensionRegistry);
        }
      };

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

      private int bitField0_;
      public static final int FILENAME_FIELD_NUMBER = 1;
      private java.lang.Object filename_;
      /**
       * optional string filename = 1;
       */
      public boolean hasFilename() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional string filename = 1;
       */
      public java.lang.String getFilename() {
        java.lang.Object ref = filename_;
        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()) {
            filename_ = s;
          }
          return s;
        }
      }
      /**
       * optional string filename = 1;
       */
      public com.google.protobuf.ByteString
          getFilenameBytes() {
        java.lang.Object ref = filename_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          filename_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int ATTACH_ENT_INDEX_FIELD_NUMBER = 2;
      private int attachEntIndex_;
      /**
       * optional int32 attach_ent_index = 2 [default = -1];
       */
      public boolean hasAttachEntIndex() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional int32 attach_ent_index = 2 [default = -1];
       */
      public int getAttachEntIndex() {
        return attachEntIndex_;
      }

      public static final int DURATION_FIELD_NUMBER = 3;
      private float duration_;
      /**
       * optional float duration = 3;
       */
      public boolean hasDuration() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional float duration = 3;
       */
      public float getDuration() {
        return duration_;
      }

      private void initFields() {
        filename_ = "";
        attachEntIndex_ = -1;
        duration_ = 0F;
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeBytes(1, getFilenameBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeInt32(2, attachEntIndex_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeFloat(3, duration_);
        }
        getUnknownFields().writeTo(output);
      }

      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(1, getFilenameBytes());
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(2, attachEntIndex_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeFloatSize(3, duration_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }

      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }

      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code CUserMessageCameraTransition.Transition_DataDriven}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder implements
          // @@protoc_insertion_point(builder_implements:CUserMessageCameraTransition.Transition_DataDriven)
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDrivenOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCameraTransition_Transition_DataDriven_descriptor;
        }

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCameraTransition_Transition_DataDriven_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven.Builder.class);
        }

        // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          filename_ = "";
          bitField0_ = (bitField0_ & ~0x00000001);
          attachEntIndex_ = -1;
          bitField0_ = (bitField0_ & ~0x00000002);
          duration_ = 0F;
          bitField0_ = (bitField0_ & ~0x00000004);
          return this;
        }

        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCameraTransition_Transition_DataDriven_descriptor;
        }

        public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven getDefaultInstanceForType() {
          return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven.getDefaultInstance();
        }

        public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven build() {
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven buildPartial() {
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.filename_ = filename_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.attachEntIndex_ = attachEntIndex_;
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          result.duration_ = duration_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven) {
            return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven other) {
          if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven.getDefaultInstance()) return this;
          if (other.hasFilename()) {
            bitField0_ |= 0x00000001;
            filename_ = other.filename_;
            onChanged();
          }
          if (other.hasAttachEntIndex()) {
            setAttachEntIndex(other.getAttachEntIndex());
          }
          if (other.hasDuration()) {
            setDuration(other.getDuration());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven) e.getUnfinishedMessage();
            throw e;
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private java.lang.Object filename_ = "";
        /**
         * optional string filename = 1;
         */
        public boolean hasFilename() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * optional string filename = 1;
         */
        public java.lang.String getFilename() {
          java.lang.Object ref = filename_;
          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()) {
              filename_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * optional string filename = 1;
         */
        public com.google.protobuf.ByteString
            getFilenameBytes() {
          java.lang.Object ref = filename_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            filename_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * optional string filename = 1;
         */
        public Builder setFilename(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          filename_ = value;
          onChanged();
          return this;
        }
        /**
         * optional string filename = 1;
         */
        public Builder clearFilename() {
          bitField0_ = (bitField0_ & ~0x00000001);
          filename_ = getDefaultInstance().getFilename();
          onChanged();
          return this;
        }
        /**
         * optional string filename = 1;
         */
        public Builder setFilenameBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          filename_ = value;
          onChanged();
          return this;
        }

        private int attachEntIndex_ = -1;
        /**
         * optional int32 attach_ent_index = 2 [default = -1];
         */
        public boolean hasAttachEntIndex() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * optional int32 attach_ent_index = 2 [default = -1];
         */
        public int getAttachEntIndex() {
          return attachEntIndex_;
        }
        /**
         * optional int32 attach_ent_index = 2 [default = -1];
         */
        public Builder setAttachEntIndex(int value) {
          bitField0_ |= 0x00000002;
          attachEntIndex_ = value;
          onChanged();
          return this;
        }
        /**
         * optional int32 attach_ent_index = 2 [default = -1];
         */
        public Builder clearAttachEntIndex() {
          bitField0_ = (bitField0_ & ~0x00000002);
          attachEntIndex_ = -1;
          onChanged();
          return this;
        }

        private float duration_ ;
        /**
         * optional float duration = 3;
         */
        public boolean hasDuration() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        /**
         * optional float duration = 3;
         */
        public float getDuration() {
          return duration_;
        }
        /**
         * optional float duration = 3;
         */
        public Builder setDuration(float value) {
          bitField0_ |= 0x00000004;
          duration_ = value;
          onChanged();
          return this;
        }
        /**
         * optional float duration = 3;
         */
        public Builder clearDuration() {
          bitField0_ = (bitField0_ & ~0x00000004);
          duration_ = 0F;
          onChanged();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:CUserMessageCameraTransition.Transition_DataDriven)
      }

      static {
        defaultInstance = new Transition_DataDriven(true);
        defaultInstance.initFields();
      }

      // @@protoc_insertion_point(class_scope:CUserMessageCameraTransition.Transition_DataDriven)
    }

    private int bitField0_;
    public static final int CAMERA_TYPE_FIELD_NUMBER = 1;
    private int cameraType_;
    /**
     * optional uint32 camera_type = 1;
     */
    public boolean hasCameraType() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional uint32 camera_type = 1;
     */
    public int getCameraType() {
      return cameraType_;
    }

    public static final int DURATION_FIELD_NUMBER = 2;
    private float duration_;
    /**
     * optional float duration = 2;
     */
    public boolean hasDuration() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional float duration = 2;
     */
    public float getDuration() {
      return duration_;
    }

    public static final int PARAMS_DATA_DRIVEN_FIELD_NUMBER = 3;
    private skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven paramsDataDriven_;
    /**
     * optional .CUserMessageCameraTransition.Transition_DataDriven params_data_driven = 3;
     */
    public boolean hasParamsDataDriven() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional .CUserMessageCameraTransition.Transition_DataDriven params_data_driven = 3;
     */
    public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven getParamsDataDriven() {
      return paramsDataDriven_;
    }
    /**
     * optional .CUserMessageCameraTransition.Transition_DataDriven params_data_driven = 3;
     */
    public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDrivenOrBuilder getParamsDataDrivenOrBuilder() {
      return paramsDataDriven_;
    }

    private void initFields() {
      cameraType_ = 0;
      duration_ = 0F;
      paramsDataDriven_ = skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeUInt32(1, cameraType_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeFloat(2, duration_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(3, paramsDataDriven_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, cameraType_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(2, duration_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, paramsDataDriven_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageCameraTransition}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageCameraTransition)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransitionOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCameraTransition_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCameraTransition_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getParamsDataDrivenFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        cameraType_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        duration_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000002);
        if (paramsDataDrivenBuilder_ == null) {
          paramsDataDriven_ = skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven.getDefaultInstance();
        } else {
          paramsDataDrivenBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCameraTransition_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.cameraType_ = cameraType_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.duration_ = duration_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (paramsDataDrivenBuilder_ == null) {
          result.paramsDataDriven_ = paramsDataDriven_;
        } else {
          result.paramsDataDriven_ = paramsDataDrivenBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.getDefaultInstance()) return this;
        if (other.hasCameraType()) {
          setCameraType(other.getCameraType());
        }
        if (other.hasDuration()) {
          setDuration(other.getDuration());
        }
        if (other.hasParamsDataDriven()) {
          mergeParamsDataDriven(other.getParamsDataDriven());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int cameraType_ ;
      /**
       * optional uint32 camera_type = 1;
       */
      public boolean hasCameraType() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional uint32 camera_type = 1;
       */
      public int getCameraType() {
        return cameraType_;
      }
      /**
       * optional uint32 camera_type = 1;
       */
      public Builder setCameraType(int value) {
        bitField0_ |= 0x00000001;
        cameraType_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 camera_type = 1;
       */
      public Builder clearCameraType() {
        bitField0_ = (bitField0_ & ~0x00000001);
        cameraType_ = 0;
        onChanged();
        return this;
      }

      private float duration_ ;
      /**
       * optional float duration = 2;
       */
      public boolean hasDuration() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional float duration = 2;
       */
      public float getDuration() {
        return duration_;
      }
      /**
       * optional float duration = 2;
       */
      public Builder setDuration(float value) {
        bitField0_ |= 0x00000002;
        duration_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float duration = 2;
       */
      public Builder clearDuration() {
        bitField0_ = (bitField0_ & ~0x00000002);
        duration_ = 0F;
        onChanged();
        return this;
      }

      private skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven paramsDataDriven_ = skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven.Builder, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDrivenOrBuilder> paramsDataDrivenBuilder_;
      /**
       * optional .CUserMessageCameraTransition.Transition_DataDriven params_data_driven = 3;
       */
      public boolean hasParamsDataDriven() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional .CUserMessageCameraTransition.Transition_DataDriven params_data_driven = 3;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven getParamsDataDriven() {
        if (paramsDataDrivenBuilder_ == null) {
          return paramsDataDriven_;
        } else {
          return paramsDataDrivenBuilder_.getMessage();
        }
      }
      /**
       * optional .CUserMessageCameraTransition.Transition_DataDriven params_data_driven = 3;
       */
      public Builder setParamsDataDriven(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven value) {
        if (paramsDataDrivenBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          paramsDataDriven_ = value;
          onChanged();
        } else {
          paramsDataDrivenBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CUserMessageCameraTransition.Transition_DataDriven params_data_driven = 3;
       */
      public Builder setParamsDataDriven(
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven.Builder builderForValue) {
        if (paramsDataDrivenBuilder_ == null) {
          paramsDataDriven_ = builderForValue.build();
          onChanged();
        } else {
          paramsDataDrivenBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CUserMessageCameraTransition.Transition_DataDriven params_data_driven = 3;
       */
      public Builder mergeParamsDataDriven(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven value) {
        if (paramsDataDrivenBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004) &&
              paramsDataDriven_ != skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven.getDefaultInstance()) {
            paramsDataDriven_ =
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven.newBuilder(paramsDataDriven_).mergeFrom(value).buildPartial();
          } else {
            paramsDataDriven_ = value;
          }
          onChanged();
        } else {
          paramsDataDrivenBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * optional .CUserMessageCameraTransition.Transition_DataDriven params_data_driven = 3;
       */
      public Builder clearParamsDataDriven() {
        if (paramsDataDrivenBuilder_ == null) {
          paramsDataDriven_ = skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven.getDefaultInstance();
          onChanged();
        } else {
          paramsDataDrivenBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * optional .CUserMessageCameraTransition.Transition_DataDriven params_data_driven = 3;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven.Builder getParamsDataDrivenBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getParamsDataDrivenFieldBuilder().getBuilder();
      }
      /**
       * optional .CUserMessageCameraTransition.Transition_DataDriven params_data_driven = 3;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDrivenOrBuilder getParamsDataDrivenOrBuilder() {
        if (paramsDataDrivenBuilder_ != null) {
          return paramsDataDrivenBuilder_.getMessageOrBuilder();
        } else {
          return paramsDataDriven_;
        }
      }
      /**
       * optional .CUserMessageCameraTransition.Transition_DataDriven params_data_driven = 3;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven.Builder, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDrivenOrBuilder> 
          getParamsDataDrivenFieldBuilder() {
        if (paramsDataDrivenBuilder_ == null) {
          paramsDataDrivenBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDriven.Builder, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCameraTransition.Transition_DataDrivenOrBuilder>(
                  getParamsDataDriven(),
                  getParentForChildren(),
                  isClean());
          paramsDataDriven_ = null;
        }
        return paramsDataDrivenBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageCameraTransition)
    }

    static {
      defaultInstance = new CUserMessageCameraTransition(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageCameraTransition)
  }

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

    /**
     * optional int32 order_id = 1;
     */
    boolean hasOrderId();
    /**
     * optional int32 order_id = 1;
     */
    int getOrderId();
  }
  /**
   * Protobuf type {@code CUserMsg_HudError}
   */
  public static final class CUserMsg_HudError extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMsg_HudError)
      CUserMsg_HudErrorOrBuilder {
    // Use CUserMsg_HudError.newBuilder() to construct.
    private CUserMsg_HudError(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_HudError(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_HudError defaultInstance;
    public static CUserMsg_HudError getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_HudError getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_HudError(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              orderId_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMsg_HudError_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMsg_HudError_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_HudError.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_HudError.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_HudError parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_HudError(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int ORDER_ID_FIELD_NUMBER = 1;
    private int orderId_;
    /**
     * optional int32 order_id = 1;
     */
    public boolean hasOrderId() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 order_id = 1;
     */
    public int getOrderId() {
      return orderId_;
    }

    private void initFields() {
      orderId_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, orderId_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, orderId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_HudError parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_HudError parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_HudError parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_HudError parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_HudError parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_HudError parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_HudError parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_HudError parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_HudError parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_HudError parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_HudError prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_HudError}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMsg_HudError)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_HudErrorOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMsg_HudError_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMsg_HudError_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_HudError.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_HudError.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_HudError.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        orderId_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMsg_HudError_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_HudError getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_HudError.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_HudError build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_HudError result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_HudError buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_HudError result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_HudError(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.orderId_ = orderId_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_HudError) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_HudError)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_HudError other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_HudError.getDefaultInstance()) return this;
        if (other.hasOrderId()) {
          setOrderId(other.getOrderId());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_HudError parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_HudError) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int orderId_ ;
      /**
       * optional int32 order_id = 1;
       */
      public boolean hasOrderId() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 order_id = 1;
       */
      public int getOrderId() {
        return orderId_;
      }
      /**
       * optional int32 order_id = 1;
       */
      public Builder setOrderId(int value) {
        bitField0_ |= 0x00000001;
        orderId_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 order_id = 1;
       */
      public Builder clearOrderId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        orderId_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_HudError)
    }

    static {
      defaultInstance = new CUserMsg_HudError(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_HudError)
  }

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

    /**
     * optional string event_name = 1;
     */
    boolean hasEventName();
    /**
     * optional string event_name = 1;
     */
    java.lang.String getEventName();
    /**
     * optional string event_name = 1;
     */
    com.google.protobuf.ByteString
        getEventNameBytes();

    /**
     * optional bytes data = 2;
     */
    boolean hasData();
    /**
     * optional bytes data = 2;
     */
    com.google.protobuf.ByteString getData();
  }
  /**
   * Protobuf type {@code CUserMsg_CustomGameEvent}
   */
  public static final class CUserMsg_CustomGameEvent extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMsg_CustomGameEvent)
      CUserMsg_CustomGameEventOrBuilder {
    // Use CUserMsg_CustomGameEvent.newBuilder() to construct.
    private CUserMsg_CustomGameEvent(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMsg_CustomGameEvent(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMsg_CustomGameEvent defaultInstance;
    public static CUserMsg_CustomGameEvent getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMsg_CustomGameEvent getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMsg_CustomGameEvent(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              eventName_ = bs;
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              data_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMsg_CustomGameEvent_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMsg_CustomGameEvent_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_CustomGameEvent.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_CustomGameEvent.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMsg_CustomGameEvent parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMsg_CustomGameEvent(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int EVENT_NAME_FIELD_NUMBER = 1;
    private java.lang.Object eventName_;
    /**
     * optional string event_name = 1;
     */
    public boolean hasEventName() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional string event_name = 1;
     */
    public java.lang.String getEventName() {
      java.lang.Object ref = eventName_;
      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()) {
          eventName_ = s;
        }
        return s;
      }
    }
    /**
     * optional string event_name = 1;
     */
    public com.google.protobuf.ByteString
        getEventNameBytes() {
      java.lang.Object ref = eventName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        eventName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int DATA_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString data_;
    /**
     * optional bytes data = 2;
     */
    public boolean hasData() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional bytes data = 2;
     */
    public com.google.protobuf.ByteString getData() {
      return data_;
    }

    private void initFields() {
      eventName_ = "";
      data_ = com.google.protobuf.ByteString.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getEventNameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, data_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getEventNameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, data_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_CustomGameEvent parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_CustomGameEvent parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_CustomGameEvent parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_CustomGameEvent parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_CustomGameEvent parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_CustomGameEvent parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_CustomGameEvent parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_CustomGameEvent parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_CustomGameEvent parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_CustomGameEvent parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_CustomGameEvent prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMsg_CustomGameEvent}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMsg_CustomGameEvent)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_CustomGameEventOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMsg_CustomGameEvent_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMsg_CustomGameEvent_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_CustomGameEvent.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_CustomGameEvent.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_CustomGameEvent.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        eventName_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        data_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMsg_CustomGameEvent_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_CustomGameEvent getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_CustomGameEvent.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_CustomGameEvent build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_CustomGameEvent result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_CustomGameEvent buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_CustomGameEvent result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_CustomGameEvent(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.eventName_ = eventName_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.data_ = data_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_CustomGameEvent) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_CustomGameEvent)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_CustomGameEvent other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_CustomGameEvent.getDefaultInstance()) return this;
        if (other.hasEventName()) {
          bitField0_ |= 0x00000001;
          eventName_ = other.eventName_;
          onChanged();
        }
        if (other.hasData()) {
          setData(other.getData());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_CustomGameEvent parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMsg_CustomGameEvent) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object eventName_ = "";
      /**
       * optional string event_name = 1;
       */
      public boolean hasEventName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional string event_name = 1;
       */
      public java.lang.String getEventName() {
        java.lang.Object ref = eventName_;
        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()) {
            eventName_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string event_name = 1;
       */
      public com.google.protobuf.ByteString
          getEventNameBytes() {
        java.lang.Object ref = eventName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          eventName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string event_name = 1;
       */
      public Builder setEventName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        eventName_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string event_name = 1;
       */
      public Builder clearEventName() {
        bitField0_ = (bitField0_ & ~0x00000001);
        eventName_ = getDefaultInstance().getEventName();
        onChanged();
        return this;
      }
      /**
       * optional string event_name = 1;
       */
      public Builder setEventNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        eventName_ = value;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * optional bytes data = 2;
       */
      public boolean hasData() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional bytes data = 2;
       */
      public com.google.protobuf.ByteString getData() {
        return data_;
      }
      /**
       * optional bytes data = 2;
       */
      public Builder setData(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        data_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bytes data = 2;
       */
      public Builder clearData() {
        bitField0_ = (bitField0_ & ~0x00000002);
        data_ = getDefaultInstance().getData();
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMsg_CustomGameEvent)
    }

    static {
      defaultInstance = new CUserMsg_CustomGameEvent(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMsg_CustomGameEvent)
  }

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

    /**
     * optional int32 hand_id = 1;
     */
    boolean hasHandId();
    /**
     * optional int32 hand_id = 1;
     */
    int getHandId();

    /**
     * optional float effect_amplitude = 2;
     */
    boolean hasEffectAmplitude();
    /**
     * optional float effect_amplitude = 2;
     */
    float getEffectAmplitude();

    /**
     * optional float effect_frequency = 3;
     */
    boolean hasEffectFrequency();
    /**
     * optional float effect_frequency = 3;
     */
    float getEffectFrequency();

    /**
     * optional float effect_duration = 4;
     */
    boolean hasEffectDuration();
    /**
     * optional float effect_duration = 4;
     */
    float getEffectDuration();
  }
  /**
   * Protobuf type {@code CUserMessageHapticsManagerPulse}
   */
  public static final class CUserMessageHapticsManagerPulse extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageHapticsManagerPulse)
      CUserMessageHapticsManagerPulseOrBuilder {
    // Use CUserMessageHapticsManagerPulse.newBuilder() to construct.
    private CUserMessageHapticsManagerPulse(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageHapticsManagerPulse(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageHapticsManagerPulse defaultInstance;
    public static CUserMessageHapticsManagerPulse getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageHapticsManagerPulse getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageHapticsManagerPulse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              handId_ = input.readInt32();
              break;
            }
            case 21: {
              bitField0_ |= 0x00000002;
              effectAmplitude_ = input.readFloat();
              break;
            }
            case 29: {
              bitField0_ |= 0x00000004;
              effectFrequency_ = input.readFloat();
              break;
            }
            case 37: {
              bitField0_ |= 0x00000008;
              effectDuration_ = input.readFloat();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageHapticsManagerPulse_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageHapticsManagerPulse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerPulse.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerPulse.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageHapticsManagerPulse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageHapticsManagerPulse(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int HAND_ID_FIELD_NUMBER = 1;
    private int handId_;
    /**
     * optional int32 hand_id = 1;
     */
    public boolean hasHandId() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 hand_id = 1;
     */
    public int getHandId() {
      return handId_;
    }

    public static final int EFFECT_AMPLITUDE_FIELD_NUMBER = 2;
    private float effectAmplitude_;
    /**
     * optional float effect_amplitude = 2;
     */
    public boolean hasEffectAmplitude() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional float effect_amplitude = 2;
     */
    public float getEffectAmplitude() {
      return effectAmplitude_;
    }

    public static final int EFFECT_FREQUENCY_FIELD_NUMBER = 3;
    private float effectFrequency_;
    /**
     * optional float effect_frequency = 3;
     */
    public boolean hasEffectFrequency() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional float effect_frequency = 3;
     */
    public float getEffectFrequency() {
      return effectFrequency_;
    }

    public static final int EFFECT_DURATION_FIELD_NUMBER = 4;
    private float effectDuration_;
    /**
     * optional float effect_duration = 4;
     */
    public boolean hasEffectDuration() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional float effect_duration = 4;
     */
    public float getEffectDuration() {
      return effectDuration_;
    }

    private void initFields() {
      handId_ = 0;
      effectAmplitude_ = 0F;
      effectFrequency_ = 0F;
      effectDuration_ = 0F;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, handId_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeFloat(2, effectAmplitude_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeFloat(3, effectFrequency_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeFloat(4, effectDuration_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, handId_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(2, effectAmplitude_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(3, effectFrequency_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(4, effectDuration_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerPulse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerPulse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerPulse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerPulse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerPulse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerPulse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerPulse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerPulse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerPulse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerPulse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerPulse prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageHapticsManagerPulse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageHapticsManagerPulse)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerPulseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageHapticsManagerPulse_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageHapticsManagerPulse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerPulse.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerPulse.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerPulse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        handId_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        effectAmplitude_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000002);
        effectFrequency_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000004);
        effectDuration_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageHapticsManagerPulse_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerPulse getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerPulse.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerPulse build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerPulse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerPulse buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerPulse result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerPulse(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.handId_ = handId_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.effectAmplitude_ = effectAmplitude_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.effectFrequency_ = effectFrequency_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.effectDuration_ = effectDuration_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerPulse) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerPulse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerPulse other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerPulse.getDefaultInstance()) return this;
        if (other.hasHandId()) {
          setHandId(other.getHandId());
        }
        if (other.hasEffectAmplitude()) {
          setEffectAmplitude(other.getEffectAmplitude());
        }
        if (other.hasEffectFrequency()) {
          setEffectFrequency(other.getEffectFrequency());
        }
        if (other.hasEffectDuration()) {
          setEffectDuration(other.getEffectDuration());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerPulse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerPulse) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int handId_ ;
      /**
       * optional int32 hand_id = 1;
       */
      public boolean hasHandId() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 hand_id = 1;
       */
      public int getHandId() {
        return handId_;
      }
      /**
       * optional int32 hand_id = 1;
       */
      public Builder setHandId(int value) {
        bitField0_ |= 0x00000001;
        handId_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 hand_id = 1;
       */
      public Builder clearHandId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        handId_ = 0;
        onChanged();
        return this;
      }

      private float effectAmplitude_ ;
      /**
       * optional float effect_amplitude = 2;
       */
      public boolean hasEffectAmplitude() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional float effect_amplitude = 2;
       */
      public float getEffectAmplitude() {
        return effectAmplitude_;
      }
      /**
       * optional float effect_amplitude = 2;
       */
      public Builder setEffectAmplitude(float value) {
        bitField0_ |= 0x00000002;
        effectAmplitude_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float effect_amplitude = 2;
       */
      public Builder clearEffectAmplitude() {
        bitField0_ = (bitField0_ & ~0x00000002);
        effectAmplitude_ = 0F;
        onChanged();
        return this;
      }

      private float effectFrequency_ ;
      /**
       * optional float effect_frequency = 3;
       */
      public boolean hasEffectFrequency() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional float effect_frequency = 3;
       */
      public float getEffectFrequency() {
        return effectFrequency_;
      }
      /**
       * optional float effect_frequency = 3;
       */
      public Builder setEffectFrequency(float value) {
        bitField0_ |= 0x00000004;
        effectFrequency_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float effect_frequency = 3;
       */
      public Builder clearEffectFrequency() {
        bitField0_ = (bitField0_ & ~0x00000004);
        effectFrequency_ = 0F;
        onChanged();
        return this;
      }

      private float effectDuration_ ;
      /**
       * optional float effect_duration = 4;
       */
      public boolean hasEffectDuration() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional float effect_duration = 4;
       */
      public float getEffectDuration() {
        return effectDuration_;
      }
      /**
       * optional float effect_duration = 4;
       */
      public Builder setEffectDuration(float value) {
        bitField0_ |= 0x00000008;
        effectDuration_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float effect_duration = 4;
       */
      public Builder clearEffectDuration() {
        bitField0_ = (bitField0_ & ~0x00000008);
        effectDuration_ = 0F;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageHapticsManagerPulse)
    }

    static {
      defaultInstance = new CUserMessageHapticsManagerPulse(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageHapticsManagerPulse)
  }

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

    /**
     * optional int32 hand_id = 1;
     */
    boolean hasHandId();
    /**
     * optional int32 hand_id = 1;
     */
    int getHandId();

    /**
     * optional uint32 effect_name_hash_code = 2;
     */
    boolean hasEffectNameHashCode();
    /**
     * optional uint32 effect_name_hash_code = 2;
     */
    int getEffectNameHashCode();

    /**
     * optional float effect_scale = 3;
     */
    boolean hasEffectScale();
    /**
     * optional float effect_scale = 3;
     */
    float getEffectScale();
  }
  /**
   * Protobuf type {@code CUserMessageHapticsManagerEffect}
   */
  public static final class CUserMessageHapticsManagerEffect extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageHapticsManagerEffect)
      CUserMessageHapticsManagerEffectOrBuilder {
    // Use CUserMessageHapticsManagerEffect.newBuilder() to construct.
    private CUserMessageHapticsManagerEffect(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageHapticsManagerEffect(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageHapticsManagerEffect defaultInstance;
    public static CUserMessageHapticsManagerEffect getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageHapticsManagerEffect getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageHapticsManagerEffect(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              handId_ = input.readInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              effectNameHashCode_ = input.readUInt32();
              break;
            }
            case 29: {
              bitField0_ |= 0x00000004;
              effectScale_ = input.readFloat();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageHapticsManagerEffect_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageHapticsManagerEffect_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerEffect.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerEffect.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageHapticsManagerEffect parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageHapticsManagerEffect(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int HAND_ID_FIELD_NUMBER = 1;
    private int handId_;
    /**
     * optional int32 hand_id = 1;
     */
    public boolean hasHandId() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 hand_id = 1;
     */
    public int getHandId() {
      return handId_;
    }

    public static final int EFFECT_NAME_HASH_CODE_FIELD_NUMBER = 2;
    private int effectNameHashCode_;
    /**
     * optional uint32 effect_name_hash_code = 2;
     */
    public boolean hasEffectNameHashCode() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional uint32 effect_name_hash_code = 2;
     */
    public int getEffectNameHashCode() {
      return effectNameHashCode_;
    }

    public static final int EFFECT_SCALE_FIELD_NUMBER = 3;
    private float effectScale_;
    /**
     * optional float effect_scale = 3;
     */
    public boolean hasEffectScale() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional float effect_scale = 3;
     */
    public float getEffectScale() {
      return effectScale_;
    }

    private void initFields() {
      handId_ = 0;
      effectNameHashCode_ = 0;
      effectScale_ = 0F;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, handId_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeUInt32(2, effectNameHashCode_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeFloat(3, effectScale_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, handId_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, effectNameHashCode_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(3, effectScale_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerEffect parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerEffect parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerEffect parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerEffect parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerEffect parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerEffect parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerEffect parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerEffect parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerEffect parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerEffect parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerEffect prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageHapticsManagerEffect}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageHapticsManagerEffect)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerEffectOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageHapticsManagerEffect_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageHapticsManagerEffect_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerEffect.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerEffect.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerEffect.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        handId_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        effectNameHashCode_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        effectScale_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageHapticsManagerEffect_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerEffect getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerEffect.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerEffect build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerEffect result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerEffect buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerEffect result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerEffect(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.handId_ = handId_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.effectNameHashCode_ = effectNameHashCode_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.effectScale_ = effectScale_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerEffect) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerEffect)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerEffect other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerEffect.getDefaultInstance()) return this;
        if (other.hasHandId()) {
          setHandId(other.getHandId());
        }
        if (other.hasEffectNameHashCode()) {
          setEffectNameHashCode(other.getEffectNameHashCode());
        }
        if (other.hasEffectScale()) {
          setEffectScale(other.getEffectScale());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerEffect parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageHapticsManagerEffect) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int handId_ ;
      /**
       * optional int32 hand_id = 1;
       */
      public boolean hasHandId() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 hand_id = 1;
       */
      public int getHandId() {
        return handId_;
      }
      /**
       * optional int32 hand_id = 1;
       */
      public Builder setHandId(int value) {
        bitField0_ |= 0x00000001;
        handId_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 hand_id = 1;
       */
      public Builder clearHandId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        handId_ = 0;
        onChanged();
        return this;
      }

      private int effectNameHashCode_ ;
      /**
       * optional uint32 effect_name_hash_code = 2;
       */
      public boolean hasEffectNameHashCode() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional uint32 effect_name_hash_code = 2;
       */
      public int getEffectNameHashCode() {
        return effectNameHashCode_;
      }
      /**
       * optional uint32 effect_name_hash_code = 2;
       */
      public Builder setEffectNameHashCode(int value) {
        bitField0_ |= 0x00000002;
        effectNameHashCode_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 effect_name_hash_code = 2;
       */
      public Builder clearEffectNameHashCode() {
        bitField0_ = (bitField0_ & ~0x00000002);
        effectNameHashCode_ = 0;
        onChanged();
        return this;
      }

      private float effectScale_ ;
      /**
       * optional float effect_scale = 3;
       */
      public boolean hasEffectScale() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional float effect_scale = 3;
       */
      public float getEffectScale() {
        return effectScale_;
      }
      /**
       * optional float effect_scale = 3;
       */
      public Builder setEffectScale(float value) {
        bitField0_ |= 0x00000004;
        effectScale_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float effect_scale = 3;
       */
      public Builder clearEffectScale() {
        bitField0_ = (bitField0_ & ~0x00000004);
        effectScale_ = 0F;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageHapticsManagerEffect)
    }

    static {
      defaultInstance = new CUserMessageHapticsManagerEffect(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageHapticsManagerEffect)
  }

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

    /**
     * optional int32 entity_index = 1;
     */
    boolean hasEntityIndex();
    /**
     * optional int32 entity_index = 1;
     */
    int getEntityIndex();

    /**
     * optional bytes data = 2;
     */
    boolean hasData();
    /**
     * optional bytes data = 2;
     */
    com.google.protobuf.ByteString getData();
  }
  /**
   * Protobuf type {@code CUserMessageAnimStateGraphState}
   */
  public static final class CUserMessageAnimStateGraphState extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageAnimStateGraphState)
      CUserMessageAnimStateGraphStateOrBuilder {
    // Use CUserMessageAnimStateGraphState.newBuilder() to construct.
    private CUserMessageAnimStateGraphState(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageAnimStateGraphState(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageAnimStateGraphState defaultInstance;
    public static CUserMessageAnimStateGraphState getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageAnimStateGraphState getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageAnimStateGraphState(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              entityIndex_ = input.readInt32();
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              data_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageAnimStateGraphState_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageAnimStateGraphState_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAnimStateGraphState.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAnimStateGraphState.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageAnimStateGraphState parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageAnimStateGraphState(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int ENTITY_INDEX_FIELD_NUMBER = 1;
    private int entityIndex_;
    /**
     * optional int32 entity_index = 1;
     */
    public boolean hasEntityIndex() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 entity_index = 1;
     */
    public int getEntityIndex() {
      return entityIndex_;
    }

    public static final int DATA_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString data_;
    /**
     * optional bytes data = 2;
     */
    public boolean hasData() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional bytes data = 2;
     */
    public com.google.protobuf.ByteString getData() {
      return data_;
    }

    private void initFields() {
      entityIndex_ = 0;
      data_ = com.google.protobuf.ByteString.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, entityIndex_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, data_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, entityIndex_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, data_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAnimStateGraphState parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAnimStateGraphState parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAnimStateGraphState parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAnimStateGraphState parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAnimStateGraphState parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAnimStateGraphState parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAnimStateGraphState parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAnimStateGraphState parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAnimStateGraphState parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAnimStateGraphState parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAnimStateGraphState prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageAnimStateGraphState}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageAnimStateGraphState)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAnimStateGraphStateOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageAnimStateGraphState_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageAnimStateGraphState_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAnimStateGraphState.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAnimStateGraphState.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAnimStateGraphState.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        entityIndex_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        data_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageAnimStateGraphState_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAnimStateGraphState getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAnimStateGraphState.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAnimStateGraphState build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAnimStateGraphState result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAnimStateGraphState buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAnimStateGraphState result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAnimStateGraphState(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.entityIndex_ = entityIndex_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.data_ = data_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAnimStateGraphState) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAnimStateGraphState)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAnimStateGraphState other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAnimStateGraphState.getDefaultInstance()) return this;
        if (other.hasEntityIndex()) {
          setEntityIndex(other.getEntityIndex());
        }
        if (other.hasData()) {
          setData(other.getData());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAnimStateGraphState parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageAnimStateGraphState) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int entityIndex_ ;
      /**
       * optional int32 entity_index = 1;
       */
      public boolean hasEntityIndex() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 entity_index = 1;
       */
      public int getEntityIndex() {
        return entityIndex_;
      }
      /**
       * optional int32 entity_index = 1;
       */
      public Builder setEntityIndex(int value) {
        bitField0_ |= 0x00000001;
        entityIndex_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 entity_index = 1;
       */
      public Builder clearEntityIndex() {
        bitField0_ = (bitField0_ & ~0x00000001);
        entityIndex_ = 0;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * optional bytes data = 2;
       */
      public boolean hasData() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional bytes data = 2;
       */
      public com.google.protobuf.ByteString getData() {
        return data_;
      }
      /**
       * optional bytes data = 2;
       */
      public Builder setData(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        data_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bytes data = 2;
       */
      public Builder clearData() {
        bitField0_ = (bitField0_ & ~0x00000002);
        data_ = getDefaultInstance().getData();
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageAnimStateGraphState)
    }

    static {
      defaultInstance = new CUserMessageAnimStateGraphState(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageAnimStateGraphState)
  }

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

    /**
     * optional int32 player_slot = 1 [default = -1];
     */
    boolean hasPlayerSlot();
    /**
     * optional int32 player_slot = 1 [default = -1];
     */
    int getPlayerSlot();

    /**
     * optional .CUserMessageCommandQueueState.command_queue_info_t command_queue_info = 2;
     */
    boolean hasCommandQueueInfo();
    /**
     * optional .CUserMessageCommandQueueState.command_queue_info_t command_queue_info = 2;
     */
    skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t getCommandQueueInfo();
    /**
     * optional .CUserMessageCommandQueueState.command_queue_info_t command_queue_info = 2;
     */
    skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_tOrBuilder getCommandQueueInfoOrBuilder();
  }
  /**
   * Protobuf type {@code CUserMessageCommandQueueState}
   */
  public static final class CUserMessageCommandQueueState extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageCommandQueueState)
      CUserMessageCommandQueueStateOrBuilder {
    // Use CUserMessageCommandQueueState.newBuilder() to construct.
    private CUserMessageCommandQueueState(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageCommandQueueState(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageCommandQueueState defaultInstance;
    public static CUserMessageCommandQueueState getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageCommandQueueState getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageCommandQueueState(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              playerSlot_ = input.readInt32();
              break;
            }
            case 18: {
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = commandQueueInfo_.toBuilder();
              }
              commandQueueInfo_ = input.readMessage(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(commandQueueInfo_);
                commandQueueInfo_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCommandQueueState_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCommandQueueState_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageCommandQueueState parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageCommandQueueState(input, extensionRegistry);
      }
    };

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

    public interface command_queue_info_tOrBuilder extends
        // @@protoc_insertion_point(interface_extends:CUserMessageCommandQueueState.command_queue_info_t)
        com.google.protobuf.MessageOrBuilder {

      /**
       * optional uint32 commands_queued = 1;
       */
      boolean hasCommandsQueued();
      /**
       * optional uint32 commands_queued = 1;
       */
      int getCommandsQueued();

      /**
       * optional uint32 command_queue_desired_size = 2;
       */
      boolean hasCommandQueueDesiredSize();
      /**
       * optional uint32 command_queue_desired_size = 2;
       */
      int getCommandQueueDesiredSize();

      /**
       * optional uint32 starved_command_ticks = 3;
       */
      boolean hasStarvedCommandTicks();
      /**
       * optional uint32 starved_command_ticks = 3;
       */
      int getStarvedCommandTicks();

      /**
       * optional int32 time_dilation_percent = 4;
       */
      boolean hasTimeDilationPercent();
      /**
       * optional int32 time_dilation_percent = 4;
       */
      int getTimeDilationPercent();
    }
    /**
     * Protobuf type {@code CUserMessageCommandQueueState.command_queue_info_t}
     */
    public static final class command_queue_info_t extends
        com.google.protobuf.GeneratedMessage implements
        // @@protoc_insertion_point(message_implements:CUserMessageCommandQueueState.command_queue_info_t)
        command_queue_info_tOrBuilder {
      // Use command_queue_info_t.newBuilder() to construct.
      private command_queue_info_t(com.google.protobuf.GeneratedMessage.Builder builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private command_queue_info_t(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

      private static final command_queue_info_t defaultInstance;
      public static command_queue_info_t getDefaultInstance() {
        return defaultInstance;
      }

      public command_queue_info_t getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final com.google.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private command_queue_info_t(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        initFields();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 8: {
                bitField0_ |= 0x00000001;
                commandsQueued_ = input.readUInt32();
                break;
              }
              case 16: {
                bitField0_ |= 0x00000002;
                commandQueueDesiredSize_ = input.readUInt32();
                break;
              }
              case 24: {
                bitField0_ |= 0x00000004;
                starvedCommandTicks_ = input.readUInt32();
                break;
              }
              case 32: {
                bitField0_ |= 0x00000008;
                timeDilationPercent_ = input.readInt32();
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCommandQueueState_command_queue_info_t_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCommandQueueState_command_queue_info_t_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t.Builder.class);
      }

      public static com.google.protobuf.Parser PARSER =
          new com.google.protobuf.AbstractParser() {
        public command_queue_info_t parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new command_queue_info_t(input, extensionRegistry);
        }
      };

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

      private int bitField0_;
      public static final int COMMANDS_QUEUED_FIELD_NUMBER = 1;
      private int commandsQueued_;
      /**
       * optional uint32 commands_queued = 1;
       */
      public boolean hasCommandsQueued() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional uint32 commands_queued = 1;
       */
      public int getCommandsQueued() {
        return commandsQueued_;
      }

      public static final int COMMAND_QUEUE_DESIRED_SIZE_FIELD_NUMBER = 2;
      private int commandQueueDesiredSize_;
      /**
       * optional uint32 command_queue_desired_size = 2;
       */
      public boolean hasCommandQueueDesiredSize() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional uint32 command_queue_desired_size = 2;
       */
      public int getCommandQueueDesiredSize() {
        return commandQueueDesiredSize_;
      }

      public static final int STARVED_COMMAND_TICKS_FIELD_NUMBER = 3;
      private int starvedCommandTicks_;
      /**
       * optional uint32 starved_command_ticks = 3;
       */
      public boolean hasStarvedCommandTicks() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional uint32 starved_command_ticks = 3;
       */
      public int getStarvedCommandTicks() {
        return starvedCommandTicks_;
      }

      public static final int TIME_DILATION_PERCENT_FIELD_NUMBER = 4;
      private int timeDilationPercent_;
      /**
       * optional int32 time_dilation_percent = 4;
       */
      public boolean hasTimeDilationPercent() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional int32 time_dilation_percent = 4;
       */
      public int getTimeDilationPercent() {
        return timeDilationPercent_;
      }

      private void initFields() {
        commandsQueued_ = 0;
        commandQueueDesiredSize_ = 0;
        starvedCommandTicks_ = 0;
        timeDilationPercent_ = 0;
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeUInt32(1, commandsQueued_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeUInt32(2, commandQueueDesiredSize_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeUInt32(3, starvedCommandTicks_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          output.writeInt32(4, timeDilationPercent_);
        }
        getUnknownFields().writeTo(output);
      }

      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(1, commandsQueued_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(2, commandQueueDesiredSize_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(3, starvedCommandTicks_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(4, timeDilationPercent_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }

      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }

      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code CUserMessageCommandQueueState.command_queue_info_t}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder implements
          // @@protoc_insertion_point(builder_implements:CUserMessageCommandQueueState.command_queue_info_t)
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_tOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCommandQueueState_command_queue_info_t_descriptor;
        }

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCommandQueueState_command_queue_info_t_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t.Builder.class);
        }

        // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          commandsQueued_ = 0;
          bitField0_ = (bitField0_ & ~0x00000001);
          commandQueueDesiredSize_ = 0;
          bitField0_ = (bitField0_ & ~0x00000002);
          starvedCommandTicks_ = 0;
          bitField0_ = (bitField0_ & ~0x00000004);
          timeDilationPercent_ = 0;
          bitField0_ = (bitField0_ & ~0x00000008);
          return this;
        }

        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCommandQueueState_command_queue_info_t_descriptor;
        }

        public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t getDefaultInstanceForType() {
          return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t.getDefaultInstance();
        }

        public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t build() {
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t buildPartial() {
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.commandsQueued_ = commandsQueued_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.commandQueueDesiredSize_ = commandQueueDesiredSize_;
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          result.starvedCommandTicks_ = starvedCommandTicks_;
          if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
            to_bitField0_ |= 0x00000008;
          }
          result.timeDilationPercent_ = timeDilationPercent_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t) {
            return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t other) {
          if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t.getDefaultInstance()) return this;
          if (other.hasCommandsQueued()) {
            setCommandsQueued(other.getCommandsQueued());
          }
          if (other.hasCommandQueueDesiredSize()) {
            setCommandQueueDesiredSize(other.getCommandQueueDesiredSize());
          }
          if (other.hasStarvedCommandTicks()) {
            setStarvedCommandTicks(other.getStarvedCommandTicks());
          }
          if (other.hasTimeDilationPercent()) {
            setTimeDilationPercent(other.getTimeDilationPercent());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t) e.getUnfinishedMessage();
            throw e;
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private int commandsQueued_ ;
        /**
         * optional uint32 commands_queued = 1;
         */
        public boolean hasCommandsQueued() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * optional uint32 commands_queued = 1;
         */
        public int getCommandsQueued() {
          return commandsQueued_;
        }
        /**
         * optional uint32 commands_queued = 1;
         */
        public Builder setCommandsQueued(int value) {
          bitField0_ |= 0x00000001;
          commandsQueued_ = value;
          onChanged();
          return this;
        }
        /**
         * optional uint32 commands_queued = 1;
         */
        public Builder clearCommandsQueued() {
          bitField0_ = (bitField0_ & ~0x00000001);
          commandsQueued_ = 0;
          onChanged();
          return this;
        }

        private int commandQueueDesiredSize_ ;
        /**
         * optional uint32 command_queue_desired_size = 2;
         */
        public boolean hasCommandQueueDesiredSize() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * optional uint32 command_queue_desired_size = 2;
         */
        public int getCommandQueueDesiredSize() {
          return commandQueueDesiredSize_;
        }
        /**
         * optional uint32 command_queue_desired_size = 2;
         */
        public Builder setCommandQueueDesiredSize(int value) {
          bitField0_ |= 0x00000002;
          commandQueueDesiredSize_ = value;
          onChanged();
          return this;
        }
        /**
         * optional uint32 command_queue_desired_size = 2;
         */
        public Builder clearCommandQueueDesiredSize() {
          bitField0_ = (bitField0_ & ~0x00000002);
          commandQueueDesiredSize_ = 0;
          onChanged();
          return this;
        }

        private int starvedCommandTicks_ ;
        /**
         * optional uint32 starved_command_ticks = 3;
         */
        public boolean hasStarvedCommandTicks() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        /**
         * optional uint32 starved_command_ticks = 3;
         */
        public int getStarvedCommandTicks() {
          return starvedCommandTicks_;
        }
        /**
         * optional uint32 starved_command_ticks = 3;
         */
        public Builder setStarvedCommandTicks(int value) {
          bitField0_ |= 0x00000004;
          starvedCommandTicks_ = value;
          onChanged();
          return this;
        }
        /**
         * optional uint32 starved_command_ticks = 3;
         */
        public Builder clearStarvedCommandTicks() {
          bitField0_ = (bitField0_ & ~0x00000004);
          starvedCommandTicks_ = 0;
          onChanged();
          return this;
        }

        private int timeDilationPercent_ ;
        /**
         * optional int32 time_dilation_percent = 4;
         */
        public boolean hasTimeDilationPercent() {
          return ((bitField0_ & 0x00000008) == 0x00000008);
        }
        /**
         * optional int32 time_dilation_percent = 4;
         */
        public int getTimeDilationPercent() {
          return timeDilationPercent_;
        }
        /**
         * optional int32 time_dilation_percent = 4;
         */
        public Builder setTimeDilationPercent(int value) {
          bitField0_ |= 0x00000008;
          timeDilationPercent_ = value;
          onChanged();
          return this;
        }
        /**
         * optional int32 time_dilation_percent = 4;
         */
        public Builder clearTimeDilationPercent() {
          bitField0_ = (bitField0_ & ~0x00000008);
          timeDilationPercent_ = 0;
          onChanged();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:CUserMessageCommandQueueState.command_queue_info_t)
      }

      static {
        defaultInstance = new command_queue_info_t(true);
        defaultInstance.initFields();
      }

      // @@protoc_insertion_point(class_scope:CUserMessageCommandQueueState.command_queue_info_t)
    }

    private int bitField0_;
    public static final int PLAYER_SLOT_FIELD_NUMBER = 1;
    private int playerSlot_;
    /**
     * optional int32 player_slot = 1 [default = -1];
     */
    public boolean hasPlayerSlot() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 player_slot = 1 [default = -1];
     */
    public int getPlayerSlot() {
      return playerSlot_;
    }

    public static final int COMMAND_QUEUE_INFO_FIELD_NUMBER = 2;
    private skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t commandQueueInfo_;
    /**
     * optional .CUserMessageCommandQueueState.command_queue_info_t command_queue_info = 2;
     */
    public boolean hasCommandQueueInfo() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional .CUserMessageCommandQueueState.command_queue_info_t command_queue_info = 2;
     */
    public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t getCommandQueueInfo() {
      return commandQueueInfo_;
    }
    /**
     * optional .CUserMessageCommandQueueState.command_queue_info_t command_queue_info = 2;
     */
    public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_tOrBuilder getCommandQueueInfoOrBuilder() {
      return commandQueueInfo_;
    }

    private void initFields() {
      playerSlot_ = -1;
      commandQueueInfo_ = skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, playerSlot_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, commandQueueInfo_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, playerSlot_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, commandQueueInfo_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageCommandQueueState}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageCommandQueueState)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueStateOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCommandQueueState_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCommandQueueState_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getCommandQueueInfoFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        playerSlot_ = -1;
        bitField0_ = (bitField0_ & ~0x00000001);
        if (commandQueueInfoBuilder_ == null) {
          commandQueueInfo_ = skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t.getDefaultInstance();
        } else {
          commandQueueInfoBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageCommandQueueState_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.playerSlot_ = playerSlot_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (commandQueueInfoBuilder_ == null) {
          result.commandQueueInfo_ = commandQueueInfo_;
        } else {
          result.commandQueueInfo_ = commandQueueInfoBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.getDefaultInstance()) return this;
        if (other.hasPlayerSlot()) {
          setPlayerSlot(other.getPlayerSlot());
        }
        if (other.hasCommandQueueInfo()) {
          mergeCommandQueueInfo(other.getCommandQueueInfo());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int playerSlot_ = -1;
      /**
       * optional int32 player_slot = 1 [default = -1];
       */
      public boolean hasPlayerSlot() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 player_slot = 1 [default = -1];
       */
      public int getPlayerSlot() {
        return playerSlot_;
      }
      /**
       * optional int32 player_slot = 1 [default = -1];
       */
      public Builder setPlayerSlot(int value) {
        bitField0_ |= 0x00000001;
        playerSlot_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 player_slot = 1 [default = -1];
       */
      public Builder clearPlayerSlot() {
        bitField0_ = (bitField0_ & ~0x00000001);
        playerSlot_ = -1;
        onChanged();
        return this;
      }

      private skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t commandQueueInfo_ = skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t.Builder, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_tOrBuilder> commandQueueInfoBuilder_;
      /**
       * optional .CUserMessageCommandQueueState.command_queue_info_t command_queue_info = 2;
       */
      public boolean hasCommandQueueInfo() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional .CUserMessageCommandQueueState.command_queue_info_t command_queue_info = 2;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t getCommandQueueInfo() {
        if (commandQueueInfoBuilder_ == null) {
          return commandQueueInfo_;
        } else {
          return commandQueueInfoBuilder_.getMessage();
        }
      }
      /**
       * optional .CUserMessageCommandQueueState.command_queue_info_t command_queue_info = 2;
       */
      public Builder setCommandQueueInfo(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t value) {
        if (commandQueueInfoBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          commandQueueInfo_ = value;
          onChanged();
        } else {
          commandQueueInfoBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CUserMessageCommandQueueState.command_queue_info_t command_queue_info = 2;
       */
      public Builder setCommandQueueInfo(
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t.Builder builderForValue) {
        if (commandQueueInfoBuilder_ == null) {
          commandQueueInfo_ = builderForValue.build();
          onChanged();
        } else {
          commandQueueInfoBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CUserMessageCommandQueueState.command_queue_info_t command_queue_info = 2;
       */
      public Builder mergeCommandQueueInfo(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t value) {
        if (commandQueueInfoBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              commandQueueInfo_ != skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t.getDefaultInstance()) {
            commandQueueInfo_ =
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t.newBuilder(commandQueueInfo_).mergeFrom(value).buildPartial();
          } else {
            commandQueueInfo_ = value;
          }
          onChanged();
        } else {
          commandQueueInfoBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * optional .CUserMessageCommandQueueState.command_queue_info_t command_queue_info = 2;
       */
      public Builder clearCommandQueueInfo() {
        if (commandQueueInfoBuilder_ == null) {
          commandQueueInfo_ = skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t.getDefaultInstance();
          onChanged();
        } else {
          commandQueueInfoBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * optional .CUserMessageCommandQueueState.command_queue_info_t command_queue_info = 2;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t.Builder getCommandQueueInfoBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getCommandQueueInfoFieldBuilder().getBuilder();
      }
      /**
       * optional .CUserMessageCommandQueueState.command_queue_info_t command_queue_info = 2;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_tOrBuilder getCommandQueueInfoOrBuilder() {
        if (commandQueueInfoBuilder_ != null) {
          return commandQueueInfoBuilder_.getMessageOrBuilder();
        } else {
          return commandQueueInfo_;
        }
      }
      /**
       * optional .CUserMessageCommandQueueState.command_queue_info_t command_queue_info = 2;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t.Builder, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_tOrBuilder> 
          getCommandQueueInfoFieldBuilder() {
        if (commandQueueInfoBuilder_ == null) {
          commandQueueInfoBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_t.Builder, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageCommandQueueState.command_queue_info_tOrBuilder>(
                  getCommandQueueInfo(),
                  getParentForChildren(),
                  isClean());
          commandQueueInfo_ = null;
        }
        return commandQueueInfoBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageCommandQueueState)
    }

    static {
      defaultInstance = new CUserMessageCommandQueueState(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageCommandQueueState)
  }

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

    /**
     * optional int32 target_world_panel = 1;
     */
    boolean hasTargetWorldPanel();
    /**
     * optional int32 target_world_panel = 1;
     */
    int getTargetWorldPanel();

    /**
     * optional string css_classes = 2;
     */
    boolean hasCssClasses();
    /**
     * optional string css_classes = 2;
     */
    java.lang.String getCssClasses();
    /**
     * optional string css_classes = 2;
     */
    com.google.protobuf.ByteString
        getCssClassesBytes();

    /**
     * optional bool is_add = 3;
     */
    boolean hasIsAdd();
    /**
     * optional bool is_add = 3;
     */
    boolean getIsAdd();
  }
  /**
   * Protobuf type {@code CUserMessageUpdateCssClasses}
   */
  public static final class CUserMessageUpdateCssClasses extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageUpdateCssClasses)
      CUserMessageUpdateCssClassesOrBuilder {
    // Use CUserMessageUpdateCssClasses.newBuilder() to construct.
    private CUserMessageUpdateCssClasses(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageUpdateCssClasses(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageUpdateCssClasses defaultInstance;
    public static CUserMessageUpdateCssClasses getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageUpdateCssClasses getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageUpdateCssClasses(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              targetWorldPanel_ = input.readInt32();
              break;
            }
            case 18: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000002;
              cssClasses_ = bs;
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              isAdd_ = input.readBool();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageUpdateCssClasses_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageUpdateCssClasses_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageUpdateCssClasses.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageUpdateCssClasses.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageUpdateCssClasses parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageUpdateCssClasses(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int TARGET_WORLD_PANEL_FIELD_NUMBER = 1;
    private int targetWorldPanel_;
    /**
     * optional int32 target_world_panel = 1;
     */
    public boolean hasTargetWorldPanel() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 target_world_panel = 1;
     */
    public int getTargetWorldPanel() {
      return targetWorldPanel_;
    }

    public static final int CSS_CLASSES_FIELD_NUMBER = 2;
    private java.lang.Object cssClasses_;
    /**
     * optional string css_classes = 2;
     */
    public boolean hasCssClasses() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional string css_classes = 2;
     */
    public java.lang.String getCssClasses() {
      java.lang.Object ref = cssClasses_;
      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()) {
          cssClasses_ = s;
        }
        return s;
      }
    }
    /**
     * optional string css_classes = 2;
     */
    public com.google.protobuf.ByteString
        getCssClassesBytes() {
      java.lang.Object ref = cssClasses_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        cssClasses_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int IS_ADD_FIELD_NUMBER = 3;
    private boolean isAdd_;
    /**
     * optional bool is_add = 3;
     */
    public boolean hasIsAdd() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional bool is_add = 3;
     */
    public boolean getIsAdd() {
      return isAdd_;
    }

    private void initFields() {
      targetWorldPanel_ = 0;
      cssClasses_ = "";
      isAdd_ = false;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, targetWorldPanel_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, getCssClassesBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBool(3, isAdd_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, targetWorldPanel_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, getCssClassesBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(3, isAdd_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageUpdateCssClasses parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageUpdateCssClasses parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageUpdateCssClasses parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageUpdateCssClasses parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageUpdateCssClasses parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageUpdateCssClasses parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageUpdateCssClasses parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageUpdateCssClasses parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageUpdateCssClasses parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageUpdateCssClasses parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageUpdateCssClasses prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageUpdateCssClasses}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageUpdateCssClasses)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageUpdateCssClassesOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageUpdateCssClasses_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageUpdateCssClasses_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageUpdateCssClasses.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageUpdateCssClasses.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageUpdateCssClasses.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        targetWorldPanel_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        cssClasses_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        isAdd_ = false;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageUpdateCssClasses_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageUpdateCssClasses getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageUpdateCssClasses.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageUpdateCssClasses build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageUpdateCssClasses result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageUpdateCssClasses buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageUpdateCssClasses result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageUpdateCssClasses(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.targetWorldPanel_ = targetWorldPanel_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.cssClasses_ = cssClasses_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.isAdd_ = isAdd_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageUpdateCssClasses) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageUpdateCssClasses)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageUpdateCssClasses other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageUpdateCssClasses.getDefaultInstance()) return this;
        if (other.hasTargetWorldPanel()) {
          setTargetWorldPanel(other.getTargetWorldPanel());
        }
        if (other.hasCssClasses()) {
          bitField0_ |= 0x00000002;
          cssClasses_ = other.cssClasses_;
          onChanged();
        }
        if (other.hasIsAdd()) {
          setIsAdd(other.getIsAdd());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageUpdateCssClasses parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageUpdateCssClasses) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int targetWorldPanel_ ;
      /**
       * optional int32 target_world_panel = 1;
       */
      public boolean hasTargetWorldPanel() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 target_world_panel = 1;
       */
      public int getTargetWorldPanel() {
        return targetWorldPanel_;
      }
      /**
       * optional int32 target_world_panel = 1;
       */
      public Builder setTargetWorldPanel(int value) {
        bitField0_ |= 0x00000001;
        targetWorldPanel_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 target_world_panel = 1;
       */
      public Builder clearTargetWorldPanel() {
        bitField0_ = (bitField0_ & ~0x00000001);
        targetWorldPanel_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object cssClasses_ = "";
      /**
       * optional string css_classes = 2;
       */
      public boolean hasCssClasses() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional string css_classes = 2;
       */
      public java.lang.String getCssClasses() {
        java.lang.Object ref = cssClasses_;
        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()) {
            cssClasses_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string css_classes = 2;
       */
      public com.google.protobuf.ByteString
          getCssClassesBytes() {
        java.lang.Object ref = cssClasses_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          cssClasses_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string css_classes = 2;
       */
      public Builder setCssClasses(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        cssClasses_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string css_classes = 2;
       */
      public Builder clearCssClasses() {
        bitField0_ = (bitField0_ & ~0x00000002);
        cssClasses_ = getDefaultInstance().getCssClasses();
        onChanged();
        return this;
      }
      /**
       * optional string css_classes = 2;
       */
      public Builder setCssClassesBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        cssClasses_ = value;
        onChanged();
        return this;
      }

      private boolean isAdd_ ;
      /**
       * optional bool is_add = 3;
       */
      public boolean hasIsAdd() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional bool is_add = 3;
       */
      public boolean getIsAdd() {
        return isAdd_;
      }
      /**
       * optional bool is_add = 3;
       */
      public Builder setIsAdd(boolean value) {
        bitField0_ |= 0x00000004;
        isAdd_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool is_add = 3;
       */
      public Builder clearIsAdd() {
        bitField0_ = (bitField0_ & ~0x00000004);
        isAdd_ = false;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageUpdateCssClasses)
    }

    static {
      defaultInstance = new CUserMessageUpdateCssClasses(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageUpdateCssClasses)
  }

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

    /**
     * optional float frame_time = 1;
     */
    boolean hasFrameTime();
    /**
     * optional float frame_time = 1;
     */
    float getFrameTime();
  }
  /**
   * Protobuf type {@code CUserMessageServerFrameTime}
   */
  public static final class CUserMessageServerFrameTime extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageServerFrameTime)
      CUserMessageServerFrameTimeOrBuilder {
    // Use CUserMessageServerFrameTime.newBuilder() to construct.
    private CUserMessageServerFrameTime(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageServerFrameTime(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageServerFrameTime defaultInstance;
    public static CUserMessageServerFrameTime getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageServerFrameTime getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageServerFrameTime(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 13: {
              bitField0_ |= 0x00000001;
              frameTime_ = input.readFloat();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageServerFrameTime_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageServerFrameTime_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageServerFrameTime.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageServerFrameTime.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageServerFrameTime parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageServerFrameTime(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int FRAME_TIME_FIELD_NUMBER = 1;
    private float frameTime_;
    /**
     * optional float frame_time = 1;
     */
    public boolean hasFrameTime() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional float frame_time = 1;
     */
    public float getFrameTime() {
      return frameTime_;
    }

    private void initFields() {
      frameTime_ = 0F;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeFloat(1, frameTime_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(1, frameTime_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageServerFrameTime parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageServerFrameTime parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageServerFrameTime parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageServerFrameTime parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageServerFrameTime parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageServerFrameTime parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageServerFrameTime parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageServerFrameTime parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageServerFrameTime parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageServerFrameTime parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageServerFrameTime prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageServerFrameTime}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageServerFrameTime)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageServerFrameTimeOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageServerFrameTime_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageServerFrameTime_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageServerFrameTime.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageServerFrameTime.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageServerFrameTime.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        frameTime_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageServerFrameTime_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageServerFrameTime getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageServerFrameTime.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageServerFrameTime build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageServerFrameTime result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageServerFrameTime buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageServerFrameTime result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageServerFrameTime(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.frameTime_ = frameTime_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageServerFrameTime) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageServerFrameTime)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageServerFrameTime other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageServerFrameTime.getDefaultInstance()) return this;
        if (other.hasFrameTime()) {
          setFrameTime(other.getFrameTime());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageServerFrameTime parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageServerFrameTime) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private float frameTime_ ;
      /**
       * optional float frame_time = 1;
       */
      public boolean hasFrameTime() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional float frame_time = 1;
       */
      public float getFrameTime() {
        return frameTime_;
      }
      /**
       * optional float frame_time = 1;
       */
      public Builder setFrameTime(float value) {
        bitField0_ |= 0x00000001;
        frameTime_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float frame_time = 1;
       */
      public Builder clearFrameTime() {
        bitField0_ = (bitField0_ & ~0x00000001);
        frameTime_ = 0F;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageServerFrameTime)
    }

    static {
      defaultInstance = new CUserMessageServerFrameTime(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageServerFrameTime)
  }

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

    /**
     * optional float distance = 1;
     */
    boolean hasDistance();
    /**
     * optional float distance = 1;
     */
    float getDistance();
  }
  /**
   * Protobuf type {@code CUserMessageLagCompensationError}
   */
  public static final class CUserMessageLagCompensationError extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageLagCompensationError)
      CUserMessageLagCompensationErrorOrBuilder {
    // Use CUserMessageLagCompensationError.newBuilder() to construct.
    private CUserMessageLagCompensationError(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageLagCompensationError(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageLagCompensationError defaultInstance;
    public static CUserMessageLagCompensationError getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageLagCompensationError getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageLagCompensationError(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 13: {
              bitField0_ |= 0x00000001;
              distance_ = input.readFloat();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageLagCompensationError_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageLagCompensationError_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageLagCompensationError.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageLagCompensationError.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageLagCompensationError parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageLagCompensationError(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int DISTANCE_FIELD_NUMBER = 1;
    private float distance_;
    /**
     * optional float distance = 1;
     */
    public boolean hasDistance() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional float distance = 1;
     */
    public float getDistance() {
      return distance_;
    }

    private void initFields() {
      distance_ = 0F;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeFloat(1, distance_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(1, distance_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageLagCompensationError parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageLagCompensationError parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageLagCompensationError parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageLagCompensationError parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageLagCompensationError parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageLagCompensationError parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageLagCompensationError parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageLagCompensationError parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageLagCompensationError parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageLagCompensationError parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageLagCompensationError prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageLagCompensationError}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageLagCompensationError)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageLagCompensationErrorOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageLagCompensationError_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageLagCompensationError_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageLagCompensationError.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageLagCompensationError.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageLagCompensationError.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        distance_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageLagCompensationError_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageLagCompensationError getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageLagCompensationError.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageLagCompensationError build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageLagCompensationError result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageLagCompensationError buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageLagCompensationError result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageLagCompensationError(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.distance_ = distance_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageLagCompensationError) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageLagCompensationError)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageLagCompensationError other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageLagCompensationError.getDefaultInstance()) return this;
        if (other.hasDistance()) {
          setDistance(other.getDistance());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageLagCompensationError parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageLagCompensationError) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private float distance_ ;
      /**
       * optional float distance = 1;
       */
      public boolean hasDistance() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional float distance = 1;
       */
      public float getDistance() {
        return distance_;
      }
      /**
       * optional float distance = 1;
       */
      public Builder setDistance(float value) {
        bitField0_ |= 0x00000001;
        distance_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float distance = 1;
       */
      public Builder clearDistance() {
        bitField0_ = (bitField0_ & ~0x00000001);
        distance_ = 0F;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageLagCompensationError)
    }

    static {
      defaultInstance = new CUserMessageLagCompensationError(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageLagCompensationError)
  }

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

    /**
     * optional string dll_action = 1;
     */
    boolean hasDllAction();
    /**
     * optional string dll_action = 1;
     */
    java.lang.String getDllAction();
    /**
     * optional string dll_action = 1;
     */
    com.google.protobuf.ByteString
        getDllActionBytes();

    /**
     * optional bool full_report = 2;
     */
    boolean hasFullReport();
    /**
     * optional bool full_report = 2;
     */
    boolean getFullReport();
  }
  /**
   * Protobuf type {@code CUserMessageRequestDllStatus}
   */
  public static final class CUserMessageRequestDllStatus extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageRequestDllStatus)
      CUserMessageRequestDllStatusOrBuilder {
    // Use CUserMessageRequestDllStatus.newBuilder() to construct.
    private CUserMessageRequestDllStatus(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageRequestDllStatus(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageRequestDllStatus defaultInstance;
    public static CUserMessageRequestDllStatus getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageRequestDllStatus getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageRequestDllStatus(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              dllAction_ = bs;
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              fullReport_ = input.readBool();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageRequestDllStatus_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageRequestDllStatus_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestDllStatus.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestDllStatus.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageRequestDllStatus parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageRequestDllStatus(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int DLL_ACTION_FIELD_NUMBER = 1;
    private java.lang.Object dllAction_;
    /**
     * optional string dll_action = 1;
     */
    public boolean hasDllAction() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional string dll_action = 1;
     */
    public java.lang.String getDllAction() {
      java.lang.Object ref = dllAction_;
      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()) {
          dllAction_ = s;
        }
        return s;
      }
    }
    /**
     * optional string dll_action = 1;
     */
    public com.google.protobuf.ByteString
        getDllActionBytes() {
      java.lang.Object ref = dllAction_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        dllAction_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int FULL_REPORT_FIELD_NUMBER = 2;
    private boolean fullReport_;
    /**
     * optional bool full_report = 2;
     */
    public boolean hasFullReport() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional bool full_report = 2;
     */
    public boolean getFullReport() {
      return fullReport_;
    }

    private void initFields() {
      dllAction_ = "";
      fullReport_ = false;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getDllActionBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBool(2, fullReport_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getDllActionBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(2, fullReport_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestDllStatus parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestDllStatus parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestDllStatus parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestDllStatus parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestDllStatus parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestDllStatus parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestDllStatus parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestDllStatus parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestDllStatus parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestDllStatus parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestDllStatus prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageRequestDllStatus}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageRequestDllStatus)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestDllStatusOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageRequestDllStatus_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageRequestDllStatus_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestDllStatus.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestDllStatus.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestDllStatus.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        dllAction_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        fullReport_ = false;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageRequestDllStatus_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestDllStatus getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestDllStatus.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestDllStatus build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestDllStatus result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestDllStatus buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestDllStatus result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestDllStatus(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.dllAction_ = dllAction_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.fullReport_ = fullReport_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestDllStatus) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestDllStatus)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestDllStatus other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestDllStatus.getDefaultInstance()) return this;
        if (other.hasDllAction()) {
          bitField0_ |= 0x00000001;
          dllAction_ = other.dllAction_;
          onChanged();
        }
        if (other.hasFullReport()) {
          setFullReport(other.getFullReport());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestDllStatus parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestDllStatus) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object dllAction_ = "";
      /**
       * optional string dll_action = 1;
       */
      public boolean hasDllAction() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional string dll_action = 1;
       */
      public java.lang.String getDllAction() {
        java.lang.Object ref = dllAction_;
        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()) {
            dllAction_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string dll_action = 1;
       */
      public com.google.protobuf.ByteString
          getDllActionBytes() {
        java.lang.Object ref = dllAction_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          dllAction_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string dll_action = 1;
       */
      public Builder setDllAction(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        dllAction_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string dll_action = 1;
       */
      public Builder clearDllAction() {
        bitField0_ = (bitField0_ & ~0x00000001);
        dllAction_ = getDefaultInstance().getDllAction();
        onChanged();
        return this;
      }
      /**
       * optional string dll_action = 1;
       */
      public Builder setDllActionBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        dllAction_ = value;
        onChanged();
        return this;
      }

      private boolean fullReport_ ;
      /**
       * optional bool full_report = 2;
       */
      public boolean hasFullReport() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional bool full_report = 2;
       */
      public boolean getFullReport() {
        return fullReport_;
      }
      /**
       * optional bool full_report = 2;
       */
      public Builder setFullReport(boolean value) {
        bitField0_ |= 0x00000002;
        fullReport_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool full_report = 2;
       */
      public Builder clearFullReport() {
        bitField0_ = (bitField0_ & ~0x00000002);
        fullReport_ = false;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageRequestDllStatus)
    }

    static {
      defaultInstance = new CUserMessageRequestDllStatus(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageRequestDllStatus)
  }

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

    /**
     * optional int32 util1 = 2;
     */
    boolean hasUtil1();
    /**
     * optional int32 util1 = 2;
     */
    int getUtil1();

    /**
     * optional int32 util2 = 3;
     */
    boolean hasUtil2();
    /**
     * optional int32 util2 = 3;
     */
    int getUtil2();

    /**
     * optional int32 util3 = 4;
     */
    boolean hasUtil3();
    /**
     * optional int32 util3 = 4;
     */
    int getUtil3();

    /**
     * optional int32 util4 = 5;
     */
    boolean hasUtil4();
    /**
     * optional int32 util4 = 5;
     */
    int getUtil4();

    /**
     * optional int32 util5 = 6;
     */
    boolean hasUtil5();
    /**
     * optional int32 util5 = 6;
     */
    int getUtil5();
  }
  /**
   * Protobuf type {@code CUserMessageRequestUtilAction}
   */
  public static final class CUserMessageRequestUtilAction extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageRequestUtilAction)
      CUserMessageRequestUtilActionOrBuilder {
    // Use CUserMessageRequestUtilAction.newBuilder() to construct.
    private CUserMessageRequestUtilAction(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageRequestUtilAction(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageRequestUtilAction defaultInstance;
    public static CUserMessageRequestUtilAction getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageRequestUtilAction getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageRequestUtilAction(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 16: {
              bitField0_ |= 0x00000001;
              util1_ = input.readInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000002;
              util2_ = input.readInt32();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000004;
              util3_ = input.readInt32();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000008;
              util4_ = input.readInt32();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000010;
              util5_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageRequestUtilAction_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageRequestUtilAction_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestUtilAction.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestUtilAction.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageRequestUtilAction parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageRequestUtilAction(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int UTIL1_FIELD_NUMBER = 2;
    private int util1_;
    /**
     * optional int32 util1 = 2;
     */
    public boolean hasUtil1() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 util1 = 2;
     */
    public int getUtil1() {
      return util1_;
    }

    public static final int UTIL2_FIELD_NUMBER = 3;
    private int util2_;
    /**
     * optional int32 util2 = 3;
     */
    public boolean hasUtil2() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional int32 util2 = 3;
     */
    public int getUtil2() {
      return util2_;
    }

    public static final int UTIL3_FIELD_NUMBER = 4;
    private int util3_;
    /**
     * optional int32 util3 = 4;
     */
    public boolean hasUtil3() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional int32 util3 = 4;
     */
    public int getUtil3() {
      return util3_;
    }

    public static final int UTIL4_FIELD_NUMBER = 5;
    private int util4_;
    /**
     * optional int32 util4 = 5;
     */
    public boolean hasUtil4() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional int32 util4 = 5;
     */
    public int getUtil4() {
      return util4_;
    }

    public static final int UTIL5_FIELD_NUMBER = 6;
    private int util5_;
    /**
     * optional int32 util5 = 6;
     */
    public boolean hasUtil5() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional int32 util5 = 6;
     */
    public int getUtil5() {
      return util5_;
    }

    private void initFields() {
      util1_ = 0;
      util2_ = 0;
      util3_ = 0;
      util4_ = 0;
      util5_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(2, util1_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(3, util2_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt32(4, util3_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeInt32(5, util4_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeInt32(6, util5_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, util1_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, util2_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(4, util3_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(5, util4_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(6, util5_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestUtilAction parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestUtilAction parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestUtilAction parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestUtilAction parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestUtilAction parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestUtilAction parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestUtilAction parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestUtilAction parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestUtilAction parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestUtilAction parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestUtilAction prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageRequestUtilAction}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageRequestUtilAction)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestUtilActionOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageRequestUtilAction_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageRequestUtilAction_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestUtilAction.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestUtilAction.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestUtilAction.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        util1_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        util2_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        util3_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        util4_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        util5_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageRequestUtilAction_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestUtilAction getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestUtilAction.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestUtilAction build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestUtilAction result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestUtilAction buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestUtilAction result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestUtilAction(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.util1_ = util1_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.util2_ = util2_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.util3_ = util3_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.util4_ = util4_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.util5_ = util5_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestUtilAction) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestUtilAction)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestUtilAction other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestUtilAction.getDefaultInstance()) return this;
        if (other.hasUtil1()) {
          setUtil1(other.getUtil1());
        }
        if (other.hasUtil2()) {
          setUtil2(other.getUtil2());
        }
        if (other.hasUtil3()) {
          setUtil3(other.getUtil3());
        }
        if (other.hasUtil4()) {
          setUtil4(other.getUtil4());
        }
        if (other.hasUtil5()) {
          setUtil5(other.getUtil5());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestUtilAction parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestUtilAction) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int util1_ ;
      /**
       * optional int32 util1 = 2;
       */
      public boolean hasUtil1() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 util1 = 2;
       */
      public int getUtil1() {
        return util1_;
      }
      /**
       * optional int32 util1 = 2;
       */
      public Builder setUtil1(int value) {
        bitField0_ |= 0x00000001;
        util1_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 util1 = 2;
       */
      public Builder clearUtil1() {
        bitField0_ = (bitField0_ & ~0x00000001);
        util1_ = 0;
        onChanged();
        return this;
      }

      private int util2_ ;
      /**
       * optional int32 util2 = 3;
       */
      public boolean hasUtil2() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional int32 util2 = 3;
       */
      public int getUtil2() {
        return util2_;
      }
      /**
       * optional int32 util2 = 3;
       */
      public Builder setUtil2(int value) {
        bitField0_ |= 0x00000002;
        util2_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 util2 = 3;
       */
      public Builder clearUtil2() {
        bitField0_ = (bitField0_ & ~0x00000002);
        util2_ = 0;
        onChanged();
        return this;
      }

      private int util3_ ;
      /**
       * optional int32 util3 = 4;
       */
      public boolean hasUtil3() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional int32 util3 = 4;
       */
      public int getUtil3() {
        return util3_;
      }
      /**
       * optional int32 util3 = 4;
       */
      public Builder setUtil3(int value) {
        bitField0_ |= 0x00000004;
        util3_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 util3 = 4;
       */
      public Builder clearUtil3() {
        bitField0_ = (bitField0_ & ~0x00000004);
        util3_ = 0;
        onChanged();
        return this;
      }

      private int util4_ ;
      /**
       * optional int32 util4 = 5;
       */
      public boolean hasUtil4() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional int32 util4 = 5;
       */
      public int getUtil4() {
        return util4_;
      }
      /**
       * optional int32 util4 = 5;
       */
      public Builder setUtil4(int value) {
        bitField0_ |= 0x00000008;
        util4_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 util4 = 5;
       */
      public Builder clearUtil4() {
        bitField0_ = (bitField0_ & ~0x00000008);
        util4_ = 0;
        onChanged();
        return this;
      }

      private int util5_ ;
      /**
       * optional int32 util5 = 6;
       */
      public boolean hasUtil5() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional int32 util5 = 6;
       */
      public int getUtil5() {
        return util5_;
      }
      /**
       * optional int32 util5 = 6;
       */
      public Builder setUtil5(int value) {
        bitField0_ |= 0x00000010;
        util5_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 util5 = 6;
       */
      public Builder clearUtil5() {
        bitField0_ = (bitField0_ & ~0x00000010);
        util5_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageRequestUtilAction)
    }

    static {
      defaultInstance = new CUserMessageRequestUtilAction(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageRequestUtilAction)
  }

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

    /**
     * optional fixed32 crc = 1;
     */
    boolean hasCrc();
    /**
     * optional fixed32 crc = 1;
     */
    int getCrc();

    /**
     * optional int32 item_count = 2;
     */
    boolean hasItemCount();
    /**
     * optional int32 item_count = 2;
     */
    int getItemCount();

    /**
     * optional fixed32 crc2 = 3;
     */
    boolean hasCrc2();
    /**
     * optional fixed32 crc2 = 3;
     */
    int getCrc2();

    /**
     * optional int32 item_count2 = 4;
     */
    boolean hasItemCount2();
    /**
     * optional int32 item_count2 = 4;
     */
    int getItemCount2();

    /**
     * repeated int32 crc_part = 5;
     */
    java.util.List getCrcPartList();
    /**
     * repeated int32 crc_part = 5;
     */
    int getCrcPartCount();
    /**
     * repeated int32 crc_part = 5;
     */
    int getCrcPart(int index);

    /**
     * repeated int32 crc_part2 = 6;
     */
    java.util.List getCrcPart2List();
    /**
     * repeated int32 crc_part2 = 6;
     */
    int getCrcPart2Count();
    /**
     * repeated int32 crc_part2 = 6;
     */
    int getCrcPart2(int index);

    /**
     * optional int32 client_timestamp = 7;
     */
    boolean hasClientTimestamp();
    /**
     * optional int32 client_timestamp = 7;
     */
    int getClientTimestamp();

    /**
     * optional int32 platform = 8;
     */
    boolean hasPlatform();
    /**
     * optional int32 platform = 8;
     */
    int getPlatform();

    /**
     * repeated .CUserMessage_UtilMsg_Response.ItemDetail itemdetails = 9;
     */
    java.util.List 
        getItemdetailsList();
    /**
     * repeated .CUserMessage_UtilMsg_Response.ItemDetail itemdetails = 9;
     */
    skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail getItemdetails(int index);
    /**
     * repeated .CUserMessage_UtilMsg_Response.ItemDetail itemdetails = 9;
     */
    int getItemdetailsCount();
    /**
     * repeated .CUserMessage_UtilMsg_Response.ItemDetail itemdetails = 9;
     */
    java.util.List 
        getItemdetailsOrBuilderList();
    /**
     * repeated .CUserMessage_UtilMsg_Response.ItemDetail itemdetails = 9;
     */
    skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetailOrBuilder getItemdetailsOrBuilder(
        int index);

    /**
     * optional int32 itemgroup = 10;
     */
    boolean hasItemgroup();
    /**
     * optional int32 itemgroup = 10;
     */
    int getItemgroup();

    /**
     * optional int32 total_count = 11;
     */
    boolean hasTotalCount();
    /**
     * optional int32 total_count = 11;
     */
    int getTotalCount();

    /**
     * optional int32 total_count2 = 12;
     */
    boolean hasTotalCount2();
    /**
     * optional int32 total_count2 = 12;
     */
    int getTotalCount2();
  }
  /**
   * Protobuf type {@code CUserMessage_UtilMsg_Response}
   */
  public static final class CUserMessage_UtilMsg_Response extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessage_UtilMsg_Response)
      CUserMessage_UtilMsg_ResponseOrBuilder {
    // Use CUserMessage_UtilMsg_Response.newBuilder() to construct.
    private CUserMessage_UtilMsg_Response(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessage_UtilMsg_Response(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessage_UtilMsg_Response defaultInstance;
    public static CUserMessage_UtilMsg_Response getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessage_UtilMsg_Response getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessage_UtilMsg_Response(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 13: {
              bitField0_ |= 0x00000001;
              crc_ = input.readFixed32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              itemCount_ = input.readInt32();
              break;
            }
            case 29: {
              bitField0_ |= 0x00000004;
              crc2_ = input.readFixed32();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              itemCount2_ = input.readInt32();
              break;
            }
            case 40: {
              if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
                crcPart_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000010;
              }
              crcPart_.add(input.readInt32());
              break;
            }
            case 42: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000010) == 0x00000010) && input.getBytesUntilLimit() > 0) {
                crcPart_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000010;
              }
              while (input.getBytesUntilLimit() > 0) {
                crcPart_.add(input.readInt32());
              }
              input.popLimit(limit);
              break;
            }
            case 48: {
              if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
                crcPart2_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000020;
              }
              crcPart2_.add(input.readInt32());
              break;
            }
            case 50: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) {
                crcPart2_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000020;
              }
              while (input.getBytesUntilLimit() > 0) {
                crcPart2_.add(input.readInt32());
              }
              input.popLimit(limit);
              break;
            }
            case 56: {
              bitField0_ |= 0x00000010;
              clientTimestamp_ = input.readInt32();
              break;
            }
            case 64: {
              bitField0_ |= 0x00000020;
              platform_ = input.readInt32();
              break;
            }
            case 74: {
              if (!((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
                itemdetails_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000100;
              }
              itemdetails_.add(input.readMessage(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail.PARSER, extensionRegistry));
              break;
            }
            case 80: {
              bitField0_ |= 0x00000040;
              itemgroup_ = input.readInt32();
              break;
            }
            case 88: {
              bitField0_ |= 0x00000080;
              totalCount_ = input.readInt32();
              break;
            }
            case 96: {
              bitField0_ |= 0x00000100;
              totalCount2_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
          crcPart_ = java.util.Collections.unmodifiableList(crcPart_);
        }
        if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
          crcPart2_ = java.util.Collections.unmodifiableList(crcPart2_);
        }
        if (((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
          itemdetails_ = java.util.Collections.unmodifiableList(itemdetails_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_UtilMsg_Response_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_UtilMsg_Response_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessage_UtilMsg_Response parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessage_UtilMsg_Response(input, extensionRegistry);
      }
    };

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

    public interface ItemDetailOrBuilder extends
        // @@protoc_insertion_point(interface_extends:CUserMessage_UtilMsg_Response.ItemDetail)
        com.google.protobuf.MessageOrBuilder {

      /**
       * optional int32 index = 1;
       */
      boolean hasIndex();
      /**
       * optional int32 index = 1;
       */
      int getIndex();

      /**
       * optional int32 hash = 2;
       */
      boolean hasHash();
      /**
       * optional int32 hash = 2;
       */
      int getHash();

      /**
       * optional int32 crc = 3;
       */
      boolean hasCrc();
      /**
       * optional int32 crc = 3;
       */
      int getCrc();

      /**
       * optional string name = 4;
       */
      boolean hasName();
      /**
       * optional string name = 4;
       */
      java.lang.String getName();
      /**
       * optional string name = 4;
       */
      com.google.protobuf.ByteString
          getNameBytes();
    }
    /**
     * Protobuf type {@code CUserMessage_UtilMsg_Response.ItemDetail}
     */
    public static final class ItemDetail extends
        com.google.protobuf.GeneratedMessage implements
        // @@protoc_insertion_point(message_implements:CUserMessage_UtilMsg_Response.ItemDetail)
        ItemDetailOrBuilder {
      // Use ItemDetail.newBuilder() to construct.
      private ItemDetail(com.google.protobuf.GeneratedMessage.Builder builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private ItemDetail(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

      private static final ItemDetail defaultInstance;
      public static ItemDetail getDefaultInstance() {
        return defaultInstance;
      }

      public ItemDetail getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final com.google.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private ItemDetail(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        initFields();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 8: {
                bitField0_ |= 0x00000001;
                index_ = input.readInt32();
                break;
              }
              case 16: {
                bitField0_ |= 0x00000002;
                hash_ = input.readInt32();
                break;
              }
              case 24: {
                bitField0_ |= 0x00000004;
                crc_ = input.readInt32();
                break;
              }
              case 34: {
                com.google.protobuf.ByteString bs = input.readBytes();
                bitField0_ |= 0x00000008;
                name_ = bs;
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_UtilMsg_Response_ItemDetail_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_UtilMsg_Response_ItemDetail_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail.Builder.class);
      }

      public static com.google.protobuf.Parser PARSER =
          new com.google.protobuf.AbstractParser() {
        public ItemDetail parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new ItemDetail(input, extensionRegistry);
        }
      };

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

      private int bitField0_;
      public static final int INDEX_FIELD_NUMBER = 1;
      private int index_;
      /**
       * optional int32 index = 1;
       */
      public boolean hasIndex() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 index = 1;
       */
      public int getIndex() {
        return index_;
      }

      public static final int HASH_FIELD_NUMBER = 2;
      private int hash_;
      /**
       * optional int32 hash = 2;
       */
      public boolean hasHash() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional int32 hash = 2;
       */
      public int getHash() {
        return hash_;
      }

      public static final int CRC_FIELD_NUMBER = 3;
      private int crc_;
      /**
       * optional int32 crc = 3;
       */
      public boolean hasCrc() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional int32 crc = 3;
       */
      public int getCrc() {
        return crc_;
      }

      public static final int NAME_FIELD_NUMBER = 4;
      private java.lang.Object name_;
      /**
       * optional string name = 4;
       */
      public boolean hasName() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional string name = 4;
       */
      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 = 4;
       */
      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 void initFields() {
        index_ = 0;
        hash_ = 0;
        crc_ = 0;
        name_ = "";
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeInt32(1, index_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeInt32(2, hash_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeInt32(3, crc_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          output.writeBytes(4, getNameBytes());
        }
        getUnknownFields().writeTo(output);
      }

      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(1, index_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(2, hash_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(3, crc_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(4, getNameBytes());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }

      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }

      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code CUserMessage_UtilMsg_Response.ItemDetail}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder implements
          // @@protoc_insertion_point(builder_implements:CUserMessage_UtilMsg_Response.ItemDetail)
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetailOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_UtilMsg_Response_ItemDetail_descriptor;
        }

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_UtilMsg_Response_ItemDetail_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail.Builder.class);
        }

        // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          index_ = 0;
          bitField0_ = (bitField0_ & ~0x00000001);
          hash_ = 0;
          bitField0_ = (bitField0_ & ~0x00000002);
          crc_ = 0;
          bitField0_ = (bitField0_ & ~0x00000004);
          name_ = "";
          bitField0_ = (bitField0_ & ~0x00000008);
          return this;
        }

        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_UtilMsg_Response_ItemDetail_descriptor;
        }

        public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail getDefaultInstanceForType() {
          return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail.getDefaultInstance();
        }

        public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail build() {
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail buildPartial() {
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.index_ = index_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.hash_ = hash_;
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          result.crc_ = crc_;
          if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
            to_bitField0_ |= 0x00000008;
          }
          result.name_ = name_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail) {
            return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail other) {
          if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail.getDefaultInstance()) return this;
          if (other.hasIndex()) {
            setIndex(other.getIndex());
          }
          if (other.hasHash()) {
            setHash(other.getHash());
          }
          if (other.hasCrc()) {
            setCrc(other.getCrc());
          }
          if (other.hasName()) {
            bitField0_ |= 0x00000008;
            name_ = other.name_;
            onChanged();
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail) e.getUnfinishedMessage();
            throw e;
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private int index_ ;
        /**
         * optional int32 index = 1;
         */
        public boolean hasIndex() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * optional int32 index = 1;
         */
        public int getIndex() {
          return index_;
        }
        /**
         * optional int32 index = 1;
         */
        public Builder setIndex(int value) {
          bitField0_ |= 0x00000001;
          index_ = value;
          onChanged();
          return this;
        }
        /**
         * optional int32 index = 1;
         */
        public Builder clearIndex() {
          bitField0_ = (bitField0_ & ~0x00000001);
          index_ = 0;
          onChanged();
          return this;
        }

        private int hash_ ;
        /**
         * optional int32 hash = 2;
         */
        public boolean hasHash() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * optional int32 hash = 2;
         */
        public int getHash() {
          return hash_;
        }
        /**
         * optional int32 hash = 2;
         */
        public Builder setHash(int value) {
          bitField0_ |= 0x00000002;
          hash_ = value;
          onChanged();
          return this;
        }
        /**
         * optional int32 hash = 2;
         */
        public Builder clearHash() {
          bitField0_ = (bitField0_ & ~0x00000002);
          hash_ = 0;
          onChanged();
          return this;
        }

        private int crc_ ;
        /**
         * optional int32 crc = 3;
         */
        public boolean hasCrc() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        /**
         * optional int32 crc = 3;
         */
        public int getCrc() {
          return crc_;
        }
        /**
         * optional int32 crc = 3;
         */
        public Builder setCrc(int value) {
          bitField0_ |= 0x00000004;
          crc_ = value;
          onChanged();
          return this;
        }
        /**
         * optional int32 crc = 3;
         */
        public Builder clearCrc() {
          bitField0_ = (bitField0_ & ~0x00000004);
          crc_ = 0;
          onChanged();
          return this;
        }

        private java.lang.Object name_ = "";
        /**
         * optional string name = 4;
         */
        public boolean hasName() {
          return ((bitField0_ & 0x00000008) == 0x00000008);
        }
        /**
         * optional string name = 4;
         */
        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 = 4;
         */
        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 = 4;
         */
        public Builder setName(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
          name_ = value;
          onChanged();
          return this;
        }
        /**
         * optional string name = 4;
         */
        public Builder clearName() {
          bitField0_ = (bitField0_ & ~0x00000008);
          name_ = getDefaultInstance().getName();
          onChanged();
          return this;
        }
        /**
         * optional string name = 4;
         */
        public Builder setNameBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
          name_ = value;
          onChanged();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:CUserMessage_UtilMsg_Response.ItemDetail)
      }

      static {
        defaultInstance = new ItemDetail(true);
        defaultInstance.initFields();
      }

      // @@protoc_insertion_point(class_scope:CUserMessage_UtilMsg_Response.ItemDetail)
    }

    private int bitField0_;
    public static final int CRC_FIELD_NUMBER = 1;
    private int crc_;
    /**
     * optional fixed32 crc = 1;
     */
    public boolean hasCrc() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional fixed32 crc = 1;
     */
    public int getCrc() {
      return crc_;
    }

    public static final int ITEM_COUNT_FIELD_NUMBER = 2;
    private int itemCount_;
    /**
     * optional int32 item_count = 2;
     */
    public boolean hasItemCount() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional int32 item_count = 2;
     */
    public int getItemCount() {
      return itemCount_;
    }

    public static final int CRC2_FIELD_NUMBER = 3;
    private int crc2_;
    /**
     * optional fixed32 crc2 = 3;
     */
    public boolean hasCrc2() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional fixed32 crc2 = 3;
     */
    public int getCrc2() {
      return crc2_;
    }

    public static final int ITEM_COUNT2_FIELD_NUMBER = 4;
    private int itemCount2_;
    /**
     * optional int32 item_count2 = 4;
     */
    public boolean hasItemCount2() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional int32 item_count2 = 4;
     */
    public int getItemCount2() {
      return itemCount2_;
    }

    public static final int CRC_PART_FIELD_NUMBER = 5;
    private java.util.List crcPart_;
    /**
     * repeated int32 crc_part = 5;
     */
    public java.util.List
        getCrcPartList() {
      return crcPart_;
    }
    /**
     * repeated int32 crc_part = 5;
     */
    public int getCrcPartCount() {
      return crcPart_.size();
    }
    /**
     * repeated int32 crc_part = 5;
     */
    public int getCrcPart(int index) {
      return crcPart_.get(index);
    }

    public static final int CRC_PART2_FIELD_NUMBER = 6;
    private java.util.List crcPart2_;
    /**
     * repeated int32 crc_part2 = 6;
     */
    public java.util.List
        getCrcPart2List() {
      return crcPart2_;
    }
    /**
     * repeated int32 crc_part2 = 6;
     */
    public int getCrcPart2Count() {
      return crcPart2_.size();
    }
    /**
     * repeated int32 crc_part2 = 6;
     */
    public int getCrcPart2(int index) {
      return crcPart2_.get(index);
    }

    public static final int CLIENT_TIMESTAMP_FIELD_NUMBER = 7;
    private int clientTimestamp_;
    /**
     * optional int32 client_timestamp = 7;
     */
    public boolean hasClientTimestamp() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional int32 client_timestamp = 7;
     */
    public int getClientTimestamp() {
      return clientTimestamp_;
    }

    public static final int PLATFORM_FIELD_NUMBER = 8;
    private int platform_;
    /**
     * optional int32 platform = 8;
     */
    public boolean hasPlatform() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * optional int32 platform = 8;
     */
    public int getPlatform() {
      return platform_;
    }

    public static final int ITEMDETAILS_FIELD_NUMBER = 9;
    private java.util.List itemdetails_;
    /**
     * repeated .CUserMessage_UtilMsg_Response.ItemDetail itemdetails = 9;
     */
    public java.util.List getItemdetailsList() {
      return itemdetails_;
    }
    /**
     * repeated .CUserMessage_UtilMsg_Response.ItemDetail itemdetails = 9;
     */
    public java.util.List 
        getItemdetailsOrBuilderList() {
      return itemdetails_;
    }
    /**
     * repeated .CUserMessage_UtilMsg_Response.ItemDetail itemdetails = 9;
     */
    public int getItemdetailsCount() {
      return itemdetails_.size();
    }
    /**
     * repeated .CUserMessage_UtilMsg_Response.ItemDetail itemdetails = 9;
     */
    public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail getItemdetails(int index) {
      return itemdetails_.get(index);
    }
    /**
     * repeated .CUserMessage_UtilMsg_Response.ItemDetail itemdetails = 9;
     */
    public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetailOrBuilder getItemdetailsOrBuilder(
        int index) {
      return itemdetails_.get(index);
    }

    public static final int ITEMGROUP_FIELD_NUMBER = 10;
    private int itemgroup_;
    /**
     * optional int32 itemgroup = 10;
     */
    public boolean hasItemgroup() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * optional int32 itemgroup = 10;
     */
    public int getItemgroup() {
      return itemgroup_;
    }

    public static final int TOTAL_COUNT_FIELD_NUMBER = 11;
    private int totalCount_;
    /**
     * optional int32 total_count = 11;
     */
    public boolean hasTotalCount() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * optional int32 total_count = 11;
     */
    public int getTotalCount() {
      return totalCount_;
    }

    public static final int TOTAL_COUNT2_FIELD_NUMBER = 12;
    private int totalCount2_;
    /**
     * optional int32 total_count2 = 12;
     */
    public boolean hasTotalCount2() {
      return ((bitField0_ & 0x00000100) == 0x00000100);
    }
    /**
     * optional int32 total_count2 = 12;
     */
    public int getTotalCount2() {
      return totalCount2_;
    }

    private void initFields() {
      crc_ = 0;
      itemCount_ = 0;
      crc2_ = 0;
      itemCount2_ = 0;
      crcPart_ = java.util.Collections.emptyList();
      crcPart2_ = java.util.Collections.emptyList();
      clientTimestamp_ = 0;
      platform_ = 0;
      itemdetails_ = java.util.Collections.emptyList();
      itemgroup_ = 0;
      totalCount_ = 0;
      totalCount2_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeFixed32(1, crc_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, itemCount_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeFixed32(3, crc2_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeInt32(4, itemCount2_);
      }
      for (int i = 0; i < crcPart_.size(); i++) {
        output.writeInt32(5, crcPart_.get(i));
      }
      for (int i = 0; i < crcPart2_.size(); i++) {
        output.writeInt32(6, crcPart2_.get(i));
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeInt32(7, clientTimestamp_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeInt32(8, platform_);
      }
      for (int i = 0; i < itemdetails_.size(); i++) {
        output.writeMessage(9, itemdetails_.get(i));
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeInt32(10, itemgroup_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeInt32(11, totalCount_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        output.writeInt32(12, totalCount2_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(1, crc_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, itemCount_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(3, crc2_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(4, itemCount2_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < crcPart_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeInt32SizeNoTag(crcPart_.get(i));
        }
        size += dataSize;
        size += 1 * getCrcPartList().size();
      }
      {
        int dataSize = 0;
        for (int i = 0; i < crcPart2_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeInt32SizeNoTag(crcPart2_.get(i));
        }
        size += dataSize;
        size += 1 * getCrcPart2List().size();
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(7, clientTimestamp_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(8, platform_);
      }
      for (int i = 0; i < itemdetails_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(9, itemdetails_.get(i));
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(10, itemgroup_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(11, totalCount_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(12, totalCount2_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessage_UtilMsg_Response}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessage_UtilMsg_Response)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_ResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_UtilMsg_Response_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_UtilMsg_Response_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getItemdetailsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        crc_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        itemCount_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        crc2_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        itemCount2_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        crcPart_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000010);
        crcPart2_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000020);
        clientTimestamp_ = 0;
        bitField0_ = (bitField0_ & ~0x00000040);
        platform_ = 0;
        bitField0_ = (bitField0_ & ~0x00000080);
        if (itemdetailsBuilder_ == null) {
          itemdetails_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000100);
        } else {
          itemdetailsBuilder_.clear();
        }
        itemgroup_ = 0;
        bitField0_ = (bitField0_ & ~0x00000200);
        totalCount_ = 0;
        bitField0_ = (bitField0_ & ~0x00000400);
        totalCount2_ = 0;
        bitField0_ = (bitField0_ & ~0x00000800);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_UtilMsg_Response_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.crc_ = crc_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.itemCount_ = itemCount_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.crc2_ = crc2_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.itemCount2_ = itemCount2_;
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          crcPart_ = java.util.Collections.unmodifiableList(crcPart_);
          bitField0_ = (bitField0_ & ~0x00000010);
        }
        result.crcPart_ = crcPart_;
        if (((bitField0_ & 0x00000020) == 0x00000020)) {
          crcPart2_ = java.util.Collections.unmodifiableList(crcPart2_);
          bitField0_ = (bitField0_ & ~0x00000020);
        }
        result.crcPart2_ = crcPart2_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000010;
        }
        result.clientTimestamp_ = clientTimestamp_;
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000020;
        }
        result.platform_ = platform_;
        if (itemdetailsBuilder_ == null) {
          if (((bitField0_ & 0x00000100) == 0x00000100)) {
            itemdetails_ = java.util.Collections.unmodifiableList(itemdetails_);
            bitField0_ = (bitField0_ & ~0x00000100);
          }
          result.itemdetails_ = itemdetails_;
        } else {
          result.itemdetails_ = itemdetailsBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
          to_bitField0_ |= 0x00000040;
        }
        result.itemgroup_ = itemgroup_;
        if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
          to_bitField0_ |= 0x00000080;
        }
        result.totalCount_ = totalCount_;
        if (((from_bitField0_ & 0x00000800) == 0x00000800)) {
          to_bitField0_ |= 0x00000100;
        }
        result.totalCount2_ = totalCount2_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.getDefaultInstance()) return this;
        if (other.hasCrc()) {
          setCrc(other.getCrc());
        }
        if (other.hasItemCount()) {
          setItemCount(other.getItemCount());
        }
        if (other.hasCrc2()) {
          setCrc2(other.getCrc2());
        }
        if (other.hasItemCount2()) {
          setItemCount2(other.getItemCount2());
        }
        if (!other.crcPart_.isEmpty()) {
          if (crcPart_.isEmpty()) {
            crcPart_ = other.crcPart_;
            bitField0_ = (bitField0_ & ~0x00000010);
          } else {
            ensureCrcPartIsMutable();
            crcPart_.addAll(other.crcPart_);
          }
          onChanged();
        }
        if (!other.crcPart2_.isEmpty()) {
          if (crcPart2_.isEmpty()) {
            crcPart2_ = other.crcPart2_;
            bitField0_ = (bitField0_ & ~0x00000020);
          } else {
            ensureCrcPart2IsMutable();
            crcPart2_.addAll(other.crcPart2_);
          }
          onChanged();
        }
        if (other.hasClientTimestamp()) {
          setClientTimestamp(other.getClientTimestamp());
        }
        if (other.hasPlatform()) {
          setPlatform(other.getPlatform());
        }
        if (itemdetailsBuilder_ == null) {
          if (!other.itemdetails_.isEmpty()) {
            if (itemdetails_.isEmpty()) {
              itemdetails_ = other.itemdetails_;
              bitField0_ = (bitField0_ & ~0x00000100);
            } else {
              ensureItemdetailsIsMutable();
              itemdetails_.addAll(other.itemdetails_);
            }
            onChanged();
          }
        } else {
          if (!other.itemdetails_.isEmpty()) {
            if (itemdetailsBuilder_.isEmpty()) {
              itemdetailsBuilder_.dispose();
              itemdetailsBuilder_ = null;
              itemdetails_ = other.itemdetails_;
              bitField0_ = (bitField0_ & ~0x00000100);
              itemdetailsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getItemdetailsFieldBuilder() : null;
            } else {
              itemdetailsBuilder_.addAllMessages(other.itemdetails_);
            }
          }
        }
        if (other.hasItemgroup()) {
          setItemgroup(other.getItemgroup());
        }
        if (other.hasTotalCount()) {
          setTotalCount(other.getTotalCount());
        }
        if (other.hasTotalCount2()) {
          setTotalCount2(other.getTotalCount2());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int crc_ ;
      /**
       * optional fixed32 crc = 1;
       */
      public boolean hasCrc() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional fixed32 crc = 1;
       */
      public int getCrc() {
        return crc_;
      }
      /**
       * optional fixed32 crc = 1;
       */
      public Builder setCrc(int value) {
        bitField0_ |= 0x00000001;
        crc_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed32 crc = 1;
       */
      public Builder clearCrc() {
        bitField0_ = (bitField0_ & ~0x00000001);
        crc_ = 0;
        onChanged();
        return this;
      }

      private int itemCount_ ;
      /**
       * optional int32 item_count = 2;
       */
      public boolean hasItemCount() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional int32 item_count = 2;
       */
      public int getItemCount() {
        return itemCount_;
      }
      /**
       * optional int32 item_count = 2;
       */
      public Builder setItemCount(int value) {
        bitField0_ |= 0x00000002;
        itemCount_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 item_count = 2;
       */
      public Builder clearItemCount() {
        bitField0_ = (bitField0_ & ~0x00000002);
        itemCount_ = 0;
        onChanged();
        return this;
      }

      private int crc2_ ;
      /**
       * optional fixed32 crc2 = 3;
       */
      public boolean hasCrc2() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional fixed32 crc2 = 3;
       */
      public int getCrc2() {
        return crc2_;
      }
      /**
       * optional fixed32 crc2 = 3;
       */
      public Builder setCrc2(int value) {
        bitField0_ |= 0x00000004;
        crc2_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed32 crc2 = 3;
       */
      public Builder clearCrc2() {
        bitField0_ = (bitField0_ & ~0x00000004);
        crc2_ = 0;
        onChanged();
        return this;
      }

      private int itemCount2_ ;
      /**
       * optional int32 item_count2 = 4;
       */
      public boolean hasItemCount2() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional int32 item_count2 = 4;
       */
      public int getItemCount2() {
        return itemCount2_;
      }
      /**
       * optional int32 item_count2 = 4;
       */
      public Builder setItemCount2(int value) {
        bitField0_ |= 0x00000008;
        itemCount2_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 item_count2 = 4;
       */
      public Builder clearItemCount2() {
        bitField0_ = (bitField0_ & ~0x00000008);
        itemCount2_ = 0;
        onChanged();
        return this;
      }

      private java.util.List crcPart_ = java.util.Collections.emptyList();
      private void ensureCrcPartIsMutable() {
        if (!((bitField0_ & 0x00000010) == 0x00000010)) {
          crcPart_ = new java.util.ArrayList(crcPart_);
          bitField0_ |= 0x00000010;
         }
      }
      /**
       * repeated int32 crc_part = 5;
       */
      public java.util.List
          getCrcPartList() {
        return java.util.Collections.unmodifiableList(crcPart_);
      }
      /**
       * repeated int32 crc_part = 5;
       */
      public int getCrcPartCount() {
        return crcPart_.size();
      }
      /**
       * repeated int32 crc_part = 5;
       */
      public int getCrcPart(int index) {
        return crcPart_.get(index);
      }
      /**
       * repeated int32 crc_part = 5;
       */
      public Builder setCrcPart(
          int index, int value) {
        ensureCrcPartIsMutable();
        crcPart_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated int32 crc_part = 5;
       */
      public Builder addCrcPart(int value) {
        ensureCrcPartIsMutable();
        crcPart_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated int32 crc_part = 5;
       */
      public Builder addAllCrcPart(
          java.lang.Iterable values) {
        ensureCrcPartIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, crcPart_);
        onChanged();
        return this;
      }
      /**
       * repeated int32 crc_part = 5;
       */
      public Builder clearCrcPart() {
        crcPart_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000010);
        onChanged();
        return this;
      }

      private java.util.List crcPart2_ = java.util.Collections.emptyList();
      private void ensureCrcPart2IsMutable() {
        if (!((bitField0_ & 0x00000020) == 0x00000020)) {
          crcPart2_ = new java.util.ArrayList(crcPart2_);
          bitField0_ |= 0x00000020;
         }
      }
      /**
       * repeated int32 crc_part2 = 6;
       */
      public java.util.List
          getCrcPart2List() {
        return java.util.Collections.unmodifiableList(crcPart2_);
      }
      /**
       * repeated int32 crc_part2 = 6;
       */
      public int getCrcPart2Count() {
        return crcPart2_.size();
      }
      /**
       * repeated int32 crc_part2 = 6;
       */
      public int getCrcPart2(int index) {
        return crcPart2_.get(index);
      }
      /**
       * repeated int32 crc_part2 = 6;
       */
      public Builder setCrcPart2(
          int index, int value) {
        ensureCrcPart2IsMutable();
        crcPart2_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated int32 crc_part2 = 6;
       */
      public Builder addCrcPart2(int value) {
        ensureCrcPart2IsMutable();
        crcPart2_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated int32 crc_part2 = 6;
       */
      public Builder addAllCrcPart2(
          java.lang.Iterable values) {
        ensureCrcPart2IsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, crcPart2_);
        onChanged();
        return this;
      }
      /**
       * repeated int32 crc_part2 = 6;
       */
      public Builder clearCrcPart2() {
        crcPart2_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000020);
        onChanged();
        return this;
      }

      private int clientTimestamp_ ;
      /**
       * optional int32 client_timestamp = 7;
       */
      public boolean hasClientTimestamp() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * optional int32 client_timestamp = 7;
       */
      public int getClientTimestamp() {
        return clientTimestamp_;
      }
      /**
       * optional int32 client_timestamp = 7;
       */
      public Builder setClientTimestamp(int value) {
        bitField0_ |= 0x00000040;
        clientTimestamp_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 client_timestamp = 7;
       */
      public Builder clearClientTimestamp() {
        bitField0_ = (bitField0_ & ~0x00000040);
        clientTimestamp_ = 0;
        onChanged();
        return this;
      }

      private int platform_ ;
      /**
       * optional int32 platform = 8;
       */
      public boolean hasPlatform() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * optional int32 platform = 8;
       */
      public int getPlatform() {
        return platform_;
      }
      /**
       * optional int32 platform = 8;
       */
      public Builder setPlatform(int value) {
        bitField0_ |= 0x00000080;
        platform_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 platform = 8;
       */
      public Builder clearPlatform() {
        bitField0_ = (bitField0_ & ~0x00000080);
        platform_ = 0;
        onChanged();
        return this;
      }

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

      private com.google.protobuf.RepeatedFieldBuilder<
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail.Builder, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetailOrBuilder> itemdetailsBuilder_;

      /**
       * repeated .CUserMessage_UtilMsg_Response.ItemDetail itemdetails = 9;
       */
      public java.util.List getItemdetailsList() {
        if (itemdetailsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(itemdetails_);
        } else {
          return itemdetailsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CUserMessage_UtilMsg_Response.ItemDetail itemdetails = 9;
       */
      public int getItemdetailsCount() {
        if (itemdetailsBuilder_ == null) {
          return itemdetails_.size();
        } else {
          return itemdetailsBuilder_.getCount();
        }
      }
      /**
       * repeated .CUserMessage_UtilMsg_Response.ItemDetail itemdetails = 9;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail getItemdetails(int index) {
        if (itemdetailsBuilder_ == null) {
          return itemdetails_.get(index);
        } else {
          return itemdetailsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CUserMessage_UtilMsg_Response.ItemDetail itemdetails = 9;
       */
      public Builder setItemdetails(
          int index, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail value) {
        if (itemdetailsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureItemdetailsIsMutable();
          itemdetails_.set(index, value);
          onChanged();
        } else {
          itemdetailsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CUserMessage_UtilMsg_Response.ItemDetail itemdetails = 9;
       */
      public Builder setItemdetails(
          int index, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail.Builder builderForValue) {
        if (itemdetailsBuilder_ == null) {
          ensureItemdetailsIsMutable();
          itemdetails_.set(index, builderForValue.build());
          onChanged();
        } else {
          itemdetailsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CUserMessage_UtilMsg_Response.ItemDetail itemdetails = 9;
       */
      public Builder addItemdetails(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail value) {
        if (itemdetailsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureItemdetailsIsMutable();
          itemdetails_.add(value);
          onChanged();
        } else {
          itemdetailsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CUserMessage_UtilMsg_Response.ItemDetail itemdetails = 9;
       */
      public Builder addItemdetails(
          int index, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail value) {
        if (itemdetailsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureItemdetailsIsMutable();
          itemdetails_.add(index, value);
          onChanged();
        } else {
          itemdetailsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CUserMessage_UtilMsg_Response.ItemDetail itemdetails = 9;
       */
      public Builder addItemdetails(
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail.Builder builderForValue) {
        if (itemdetailsBuilder_ == null) {
          ensureItemdetailsIsMutable();
          itemdetails_.add(builderForValue.build());
          onChanged();
        } else {
          itemdetailsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CUserMessage_UtilMsg_Response.ItemDetail itemdetails = 9;
       */
      public Builder addItemdetails(
          int index, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail.Builder builderForValue) {
        if (itemdetailsBuilder_ == null) {
          ensureItemdetailsIsMutable();
          itemdetails_.add(index, builderForValue.build());
          onChanged();
        } else {
          itemdetailsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CUserMessage_UtilMsg_Response.ItemDetail itemdetails = 9;
       */
      public Builder addAllItemdetails(
          java.lang.Iterable values) {
        if (itemdetailsBuilder_ == null) {
          ensureItemdetailsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, itemdetails_);
          onChanged();
        } else {
          itemdetailsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CUserMessage_UtilMsg_Response.ItemDetail itemdetails = 9;
       */
      public Builder clearItemdetails() {
        if (itemdetailsBuilder_ == null) {
          itemdetails_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000100);
          onChanged();
        } else {
          itemdetailsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CUserMessage_UtilMsg_Response.ItemDetail itemdetails = 9;
       */
      public Builder removeItemdetails(int index) {
        if (itemdetailsBuilder_ == null) {
          ensureItemdetailsIsMutable();
          itemdetails_.remove(index);
          onChanged();
        } else {
          itemdetailsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CUserMessage_UtilMsg_Response.ItemDetail itemdetails = 9;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail.Builder getItemdetailsBuilder(
          int index) {
        return getItemdetailsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CUserMessage_UtilMsg_Response.ItemDetail itemdetails = 9;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetailOrBuilder getItemdetailsOrBuilder(
          int index) {
        if (itemdetailsBuilder_ == null) {
          return itemdetails_.get(index);  } else {
          return itemdetailsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CUserMessage_UtilMsg_Response.ItemDetail itemdetails = 9;
       */
      public java.util.List 
           getItemdetailsOrBuilderList() {
        if (itemdetailsBuilder_ != null) {
          return itemdetailsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(itemdetails_);
        }
      }
      /**
       * repeated .CUserMessage_UtilMsg_Response.ItemDetail itemdetails = 9;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail.Builder addItemdetailsBuilder() {
        return getItemdetailsFieldBuilder().addBuilder(
            skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail.getDefaultInstance());
      }
      /**
       * repeated .CUserMessage_UtilMsg_Response.ItemDetail itemdetails = 9;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail.Builder addItemdetailsBuilder(
          int index) {
        return getItemdetailsFieldBuilder().addBuilder(
            index, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail.getDefaultInstance());
      }
      /**
       * repeated .CUserMessage_UtilMsg_Response.ItemDetail itemdetails = 9;
       */
      public java.util.List 
           getItemdetailsBuilderList() {
        return getItemdetailsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail.Builder, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetailOrBuilder> 
          getItemdetailsFieldBuilder() {
        if (itemdetailsBuilder_ == null) {
          itemdetailsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetail.Builder, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_UtilMsg_Response.ItemDetailOrBuilder>(
                  itemdetails_,
                  ((bitField0_ & 0x00000100) == 0x00000100),
                  getParentForChildren(),
                  isClean());
          itemdetails_ = null;
        }
        return itemdetailsBuilder_;
      }

      private int itemgroup_ ;
      /**
       * optional int32 itemgroup = 10;
       */
      public boolean hasItemgroup() {
        return ((bitField0_ & 0x00000200) == 0x00000200);
      }
      /**
       * optional int32 itemgroup = 10;
       */
      public int getItemgroup() {
        return itemgroup_;
      }
      /**
       * optional int32 itemgroup = 10;
       */
      public Builder setItemgroup(int value) {
        bitField0_ |= 0x00000200;
        itemgroup_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 itemgroup = 10;
       */
      public Builder clearItemgroup() {
        bitField0_ = (bitField0_ & ~0x00000200);
        itemgroup_ = 0;
        onChanged();
        return this;
      }

      private int totalCount_ ;
      /**
       * optional int32 total_count = 11;
       */
      public boolean hasTotalCount() {
        return ((bitField0_ & 0x00000400) == 0x00000400);
      }
      /**
       * optional int32 total_count = 11;
       */
      public int getTotalCount() {
        return totalCount_;
      }
      /**
       * optional int32 total_count = 11;
       */
      public Builder setTotalCount(int value) {
        bitField0_ |= 0x00000400;
        totalCount_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 total_count = 11;
       */
      public Builder clearTotalCount() {
        bitField0_ = (bitField0_ & ~0x00000400);
        totalCount_ = 0;
        onChanged();
        return this;
      }

      private int totalCount2_ ;
      /**
       * optional int32 total_count2 = 12;
       */
      public boolean hasTotalCount2() {
        return ((bitField0_ & 0x00000800) == 0x00000800);
      }
      /**
       * optional int32 total_count2 = 12;
       */
      public int getTotalCount2() {
        return totalCount2_;
      }
      /**
       * optional int32 total_count2 = 12;
       */
      public Builder setTotalCount2(int value) {
        bitField0_ |= 0x00000800;
        totalCount2_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 total_count2 = 12;
       */
      public Builder clearTotalCount2() {
        bitField0_ = (bitField0_ & ~0x00000800);
        totalCount2_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessage_UtilMsg_Response)
    }

    static {
      defaultInstance = new CUserMessage_UtilMsg_Response(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessage_UtilMsg_Response)
  }

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

    /**
     * optional string file_report = 1;
     */
    boolean hasFileReport();
    /**
     * optional string file_report = 1;
     */
    java.lang.String getFileReport();
    /**
     * optional string file_report = 1;
     */
    com.google.protobuf.ByteString
        getFileReportBytes();

    /**
     * optional string command_line = 2;
     */
    boolean hasCommandLine();
    /**
     * optional string command_line = 2;
     */
    java.lang.String getCommandLine();
    /**
     * optional string command_line = 2;
     */
    com.google.protobuf.ByteString
        getCommandLineBytes();

    /**
     * optional uint32 total_files = 3;
     */
    boolean hasTotalFiles();
    /**
     * optional uint32 total_files = 3;
     */
    int getTotalFiles();

    /**
     * optional uint32 process_id = 4;
     */
    boolean hasProcessId();
    /**
     * optional uint32 process_id = 4;
     */
    int getProcessId();

    /**
     * optional int32 osversion = 5;
     */
    boolean hasOsversion();
    /**
     * optional int32 osversion = 5;
     */
    int getOsversion();

    /**
     * optional uint64 client_time = 6;
     */
    boolean hasClientTime();
    /**
     * optional uint64 client_time = 6;
     */
    long getClientTime();

    /**
     * repeated .CUserMessage_DllStatus.CVDiagnostic diagnostics = 7;
     */
    java.util.List 
        getDiagnosticsList();
    /**
     * repeated .CUserMessage_DllStatus.CVDiagnostic diagnostics = 7;
     */
    skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic getDiagnostics(int index);
    /**
     * repeated .CUserMessage_DllStatus.CVDiagnostic diagnostics = 7;
     */
    int getDiagnosticsCount();
    /**
     * repeated .CUserMessage_DllStatus.CVDiagnostic diagnostics = 7;
     */
    java.util.List 
        getDiagnosticsOrBuilderList();
    /**
     * repeated .CUserMessage_DllStatus.CVDiagnostic diagnostics = 7;
     */
    skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnosticOrBuilder getDiagnosticsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code CUserMessage_DllStatus}
   */
  public static final class CUserMessage_DllStatus extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessage_DllStatus)
      CUserMessage_DllStatusOrBuilder {
    // Use CUserMessage_DllStatus.newBuilder() to construct.
    private CUserMessage_DllStatus(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessage_DllStatus(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessage_DllStatus defaultInstance;
    public static CUserMessage_DllStatus getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessage_DllStatus getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessage_DllStatus(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              fileReport_ = bs;
              break;
            }
            case 18: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000002;
              commandLine_ = bs;
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              totalFiles_ = input.readUInt32();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              processId_ = input.readUInt32();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              osversion_ = input.readInt32();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000020;
              clientTime_ = input.readUInt64();
              break;
            }
            case 58: {
              if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
                diagnostics_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000040;
              }
              diagnostics_.add(input.readMessage(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic.PARSER, extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
          diagnostics_ = java.util.Collections.unmodifiableList(diagnostics_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_DllStatus_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_DllStatus_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessage_DllStatus parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessage_DllStatus(input, extensionRegistry);
      }
    };

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

    public interface CVDiagnosticOrBuilder extends
        // @@protoc_insertion_point(interface_extends:CUserMessage_DllStatus.CVDiagnostic)
        com.google.protobuf.MessageOrBuilder {

      /**
       * optional uint32 id = 1;
       */
      boolean hasId();
      /**
       * optional uint32 id = 1;
       */
      int getId();

      /**
       * optional uint32 extended = 2;
       */
      boolean hasExtended();
      /**
       * optional uint32 extended = 2;
       */
      int getExtended();

      /**
       * optional uint64 value = 3;
       */
      boolean hasValue();
      /**
       * optional uint64 value = 3;
       */
      long getValue();

      /**
       * optional string string_value = 4;
       */
      boolean hasStringValue();
      /**
       * optional string string_value = 4;
       */
      java.lang.String getStringValue();
      /**
       * optional string string_value = 4;
       */
      com.google.protobuf.ByteString
          getStringValueBytes();
    }
    /**
     * Protobuf type {@code CUserMessage_DllStatus.CVDiagnostic}
     */
    public static final class CVDiagnostic extends
        com.google.protobuf.GeneratedMessage implements
        // @@protoc_insertion_point(message_implements:CUserMessage_DllStatus.CVDiagnostic)
        CVDiagnosticOrBuilder {
      // Use CVDiagnostic.newBuilder() to construct.
      private CVDiagnostic(com.google.protobuf.GeneratedMessage.Builder builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private CVDiagnostic(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

      private static final CVDiagnostic defaultInstance;
      public static CVDiagnostic getDefaultInstance() {
        return defaultInstance;
      }

      public CVDiagnostic getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final com.google.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private CVDiagnostic(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        initFields();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 8: {
                bitField0_ |= 0x00000001;
                id_ = input.readUInt32();
                break;
              }
              case 16: {
                bitField0_ |= 0x00000002;
                extended_ = input.readUInt32();
                break;
              }
              case 24: {
                bitField0_ |= 0x00000004;
                value_ = input.readUInt64();
                break;
              }
              case 34: {
                com.google.protobuf.ByteString bs = input.readBytes();
                bitField0_ |= 0x00000008;
                stringValue_ = bs;
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_DllStatus_CVDiagnostic_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_DllStatus_CVDiagnostic_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic.Builder.class);
      }

      public static com.google.protobuf.Parser PARSER =
          new com.google.protobuf.AbstractParser() {
        public CVDiagnostic parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new CVDiagnostic(input, extensionRegistry);
        }
      };

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

      private int bitField0_;
      public static final int ID_FIELD_NUMBER = 1;
      private int id_;
      /**
       * optional uint32 id = 1;
       */
      public boolean hasId() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional uint32 id = 1;
       */
      public int getId() {
        return id_;
      }

      public static final int EXTENDED_FIELD_NUMBER = 2;
      private int extended_;
      /**
       * optional uint32 extended = 2;
       */
      public boolean hasExtended() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional uint32 extended = 2;
       */
      public int getExtended() {
        return extended_;
      }

      public static final int VALUE_FIELD_NUMBER = 3;
      private long value_;
      /**
       * optional uint64 value = 3;
       */
      public boolean hasValue() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional uint64 value = 3;
       */
      public long getValue() {
        return value_;
      }

      public static final int STRING_VALUE_FIELD_NUMBER = 4;
      private java.lang.Object stringValue_;
      /**
       * optional string string_value = 4;
       */
      public boolean hasStringValue() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional string string_value = 4;
       */
      public java.lang.String getStringValue() {
        java.lang.Object ref = stringValue_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            stringValue_ = s;
          }
          return s;
        }
      }
      /**
       * optional string string_value = 4;
       */
      public com.google.protobuf.ByteString
          getStringValueBytes() {
        java.lang.Object ref = stringValue_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          stringValue_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      private void initFields() {
        id_ = 0;
        extended_ = 0;
        value_ = 0L;
        stringValue_ = "";
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeUInt32(1, id_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeUInt32(2, extended_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeUInt64(3, value_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          output.writeBytes(4, getStringValueBytes());
        }
        getUnknownFields().writeTo(output);
      }

      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(1, id_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt32Size(2, extended_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeUInt64Size(3, value_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(4, getStringValueBytes());
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }

      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }

      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code CUserMessage_DllStatus.CVDiagnostic}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder implements
          // @@protoc_insertion_point(builder_implements:CUserMessage_DllStatus.CVDiagnostic)
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnosticOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_DllStatus_CVDiagnostic_descriptor;
        }

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_DllStatus_CVDiagnostic_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic.Builder.class);
        }

        // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          id_ = 0;
          bitField0_ = (bitField0_ & ~0x00000001);
          extended_ = 0;
          bitField0_ = (bitField0_ & ~0x00000002);
          value_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000004);
          stringValue_ = "";
          bitField0_ = (bitField0_ & ~0x00000008);
          return this;
        }

        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_DllStatus_CVDiagnostic_descriptor;
        }

        public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic getDefaultInstanceForType() {
          return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic.getDefaultInstance();
        }

        public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic build() {
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic buildPartial() {
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.id_ = id_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.extended_ = extended_;
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          result.value_ = value_;
          if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
            to_bitField0_ |= 0x00000008;
          }
          result.stringValue_ = stringValue_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic) {
            return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic other) {
          if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic.getDefaultInstance()) return this;
          if (other.hasId()) {
            setId(other.getId());
          }
          if (other.hasExtended()) {
            setExtended(other.getExtended());
          }
          if (other.hasValue()) {
            setValue(other.getValue());
          }
          if (other.hasStringValue()) {
            bitField0_ |= 0x00000008;
            stringValue_ = other.stringValue_;
            onChanged();
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic) e.getUnfinishedMessage();
            throw e;
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private int id_ ;
        /**
         * optional uint32 id = 1;
         */
        public boolean hasId() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * optional uint32 id = 1;
         */
        public int getId() {
          return id_;
        }
        /**
         * optional uint32 id = 1;
         */
        public Builder setId(int value) {
          bitField0_ |= 0x00000001;
          id_ = value;
          onChanged();
          return this;
        }
        /**
         * optional uint32 id = 1;
         */
        public Builder clearId() {
          bitField0_ = (bitField0_ & ~0x00000001);
          id_ = 0;
          onChanged();
          return this;
        }

        private int extended_ ;
        /**
         * optional uint32 extended = 2;
         */
        public boolean hasExtended() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * optional uint32 extended = 2;
         */
        public int getExtended() {
          return extended_;
        }
        /**
         * optional uint32 extended = 2;
         */
        public Builder setExtended(int value) {
          bitField0_ |= 0x00000002;
          extended_ = value;
          onChanged();
          return this;
        }
        /**
         * optional uint32 extended = 2;
         */
        public Builder clearExtended() {
          bitField0_ = (bitField0_ & ~0x00000002);
          extended_ = 0;
          onChanged();
          return this;
        }

        private long value_ ;
        /**
         * optional uint64 value = 3;
         */
        public boolean hasValue() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        /**
         * optional uint64 value = 3;
         */
        public long getValue() {
          return value_;
        }
        /**
         * optional uint64 value = 3;
         */
        public Builder setValue(long value) {
          bitField0_ |= 0x00000004;
          value_ = value;
          onChanged();
          return this;
        }
        /**
         * optional uint64 value = 3;
         */
        public Builder clearValue() {
          bitField0_ = (bitField0_ & ~0x00000004);
          value_ = 0L;
          onChanged();
          return this;
        }

        private java.lang.Object stringValue_ = "";
        /**
         * optional string string_value = 4;
         */
        public boolean hasStringValue() {
          return ((bitField0_ & 0x00000008) == 0x00000008);
        }
        /**
         * optional string string_value = 4;
         */
        public java.lang.String getStringValue() {
          java.lang.Object ref = stringValue_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            if (bs.isValidUtf8()) {
              stringValue_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * optional string string_value = 4;
         */
        public com.google.protobuf.ByteString
            getStringValueBytes() {
          java.lang.Object ref = stringValue_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            stringValue_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * optional string string_value = 4;
         */
        public Builder setStringValue(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
          stringValue_ = value;
          onChanged();
          return this;
        }
        /**
         * optional string string_value = 4;
         */
        public Builder clearStringValue() {
          bitField0_ = (bitField0_ & ~0x00000008);
          stringValue_ = getDefaultInstance().getStringValue();
          onChanged();
          return this;
        }
        /**
         * optional string string_value = 4;
         */
        public Builder setStringValueBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
          stringValue_ = value;
          onChanged();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:CUserMessage_DllStatus.CVDiagnostic)
      }

      static {
        defaultInstance = new CVDiagnostic(true);
        defaultInstance.initFields();
      }

      // @@protoc_insertion_point(class_scope:CUserMessage_DllStatus.CVDiagnostic)
    }

    private int bitField0_;
    public static final int FILE_REPORT_FIELD_NUMBER = 1;
    private java.lang.Object fileReport_;
    /**
     * optional string file_report = 1;
     */
    public boolean hasFileReport() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional string file_report = 1;
     */
    public java.lang.String getFileReport() {
      java.lang.Object ref = fileReport_;
      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()) {
          fileReport_ = s;
        }
        return s;
      }
    }
    /**
     * optional string file_report = 1;
     */
    public com.google.protobuf.ByteString
        getFileReportBytes() {
      java.lang.Object ref = fileReport_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        fileReport_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int COMMAND_LINE_FIELD_NUMBER = 2;
    private java.lang.Object commandLine_;
    /**
     * optional string command_line = 2;
     */
    public boolean hasCommandLine() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional string command_line = 2;
     */
    public java.lang.String getCommandLine() {
      java.lang.Object ref = commandLine_;
      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()) {
          commandLine_ = s;
        }
        return s;
      }
    }
    /**
     * optional string command_line = 2;
     */
    public com.google.protobuf.ByteString
        getCommandLineBytes() {
      java.lang.Object ref = commandLine_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        commandLine_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int TOTAL_FILES_FIELD_NUMBER = 3;
    private int totalFiles_;
    /**
     * optional uint32 total_files = 3;
     */
    public boolean hasTotalFiles() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional uint32 total_files = 3;
     */
    public int getTotalFiles() {
      return totalFiles_;
    }

    public static final int PROCESS_ID_FIELD_NUMBER = 4;
    private int processId_;
    /**
     * optional uint32 process_id = 4;
     */
    public boolean hasProcessId() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional uint32 process_id = 4;
     */
    public int getProcessId() {
      return processId_;
    }

    public static final int OSVERSION_FIELD_NUMBER = 5;
    private int osversion_;
    /**
     * optional int32 osversion = 5;
     */
    public boolean hasOsversion() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional int32 osversion = 5;
     */
    public int getOsversion() {
      return osversion_;
    }

    public static final int CLIENT_TIME_FIELD_NUMBER = 6;
    private long clientTime_;
    /**
     * optional uint64 client_time = 6;
     */
    public boolean hasClientTime() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * optional uint64 client_time = 6;
     */
    public long getClientTime() {
      return clientTime_;
    }

    public static final int DIAGNOSTICS_FIELD_NUMBER = 7;
    private java.util.List diagnostics_;
    /**
     * repeated .CUserMessage_DllStatus.CVDiagnostic diagnostics = 7;
     */
    public java.util.List getDiagnosticsList() {
      return diagnostics_;
    }
    /**
     * repeated .CUserMessage_DllStatus.CVDiagnostic diagnostics = 7;
     */
    public java.util.List 
        getDiagnosticsOrBuilderList() {
      return diagnostics_;
    }
    /**
     * repeated .CUserMessage_DllStatus.CVDiagnostic diagnostics = 7;
     */
    public int getDiagnosticsCount() {
      return diagnostics_.size();
    }
    /**
     * repeated .CUserMessage_DllStatus.CVDiagnostic diagnostics = 7;
     */
    public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic getDiagnostics(int index) {
      return diagnostics_.get(index);
    }
    /**
     * repeated .CUserMessage_DllStatus.CVDiagnostic diagnostics = 7;
     */
    public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnosticOrBuilder getDiagnosticsOrBuilder(
        int index) {
      return diagnostics_.get(index);
    }

    private void initFields() {
      fileReport_ = "";
      commandLine_ = "";
      totalFiles_ = 0;
      processId_ = 0;
      osversion_ = 0;
      clientTime_ = 0L;
      diagnostics_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getFileReportBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, getCommandLineBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeUInt32(3, totalFiles_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeUInt32(4, processId_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeInt32(5, osversion_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeUInt64(6, clientTime_);
      }
      for (int i = 0; i < diagnostics_.size(); i++) {
        output.writeMessage(7, diagnostics_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getFileReportBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, getCommandLineBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(3, totalFiles_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, processId_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(5, osversion_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(6, clientTime_);
      }
      for (int i = 0; i < diagnostics_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(7, diagnostics_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessage_DllStatus}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessage_DllStatus)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatusOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_DllStatus_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_DllStatus_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getDiagnosticsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        fileReport_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        commandLine_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        totalFiles_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        processId_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        osversion_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        clientTime_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000020);
        if (diagnosticsBuilder_ == null) {
          diagnostics_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000040);
        } else {
          diagnosticsBuilder_.clear();
        }
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_DllStatus_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.fileReport_ = fileReport_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.commandLine_ = commandLine_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.totalFiles_ = totalFiles_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.processId_ = processId_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.osversion_ = osversion_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.clientTime_ = clientTime_;
        if (diagnosticsBuilder_ == null) {
          if (((bitField0_ & 0x00000040) == 0x00000040)) {
            diagnostics_ = java.util.Collections.unmodifiableList(diagnostics_);
            bitField0_ = (bitField0_ & ~0x00000040);
          }
          result.diagnostics_ = diagnostics_;
        } else {
          result.diagnostics_ = diagnosticsBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.getDefaultInstance()) return this;
        if (other.hasFileReport()) {
          bitField0_ |= 0x00000001;
          fileReport_ = other.fileReport_;
          onChanged();
        }
        if (other.hasCommandLine()) {
          bitField0_ |= 0x00000002;
          commandLine_ = other.commandLine_;
          onChanged();
        }
        if (other.hasTotalFiles()) {
          setTotalFiles(other.getTotalFiles());
        }
        if (other.hasProcessId()) {
          setProcessId(other.getProcessId());
        }
        if (other.hasOsversion()) {
          setOsversion(other.getOsversion());
        }
        if (other.hasClientTime()) {
          setClientTime(other.getClientTime());
        }
        if (diagnosticsBuilder_ == null) {
          if (!other.diagnostics_.isEmpty()) {
            if (diagnostics_.isEmpty()) {
              diagnostics_ = other.diagnostics_;
              bitField0_ = (bitField0_ & ~0x00000040);
            } else {
              ensureDiagnosticsIsMutable();
              diagnostics_.addAll(other.diagnostics_);
            }
            onChanged();
          }
        } else {
          if (!other.diagnostics_.isEmpty()) {
            if (diagnosticsBuilder_.isEmpty()) {
              diagnosticsBuilder_.dispose();
              diagnosticsBuilder_ = null;
              diagnostics_ = other.diagnostics_;
              bitField0_ = (bitField0_ & ~0x00000040);
              diagnosticsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getDiagnosticsFieldBuilder() : null;
            } else {
              diagnosticsBuilder_.addAllMessages(other.diagnostics_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object fileReport_ = "";
      /**
       * optional string file_report = 1;
       */
      public boolean hasFileReport() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional string file_report = 1;
       */
      public java.lang.String getFileReport() {
        java.lang.Object ref = fileReport_;
        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()) {
            fileReport_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string file_report = 1;
       */
      public com.google.protobuf.ByteString
          getFileReportBytes() {
        java.lang.Object ref = fileReport_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          fileReport_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string file_report = 1;
       */
      public Builder setFileReport(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        fileReport_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string file_report = 1;
       */
      public Builder clearFileReport() {
        bitField0_ = (bitField0_ & ~0x00000001);
        fileReport_ = getDefaultInstance().getFileReport();
        onChanged();
        return this;
      }
      /**
       * optional string file_report = 1;
       */
      public Builder setFileReportBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        fileReport_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object commandLine_ = "";
      /**
       * optional string command_line = 2;
       */
      public boolean hasCommandLine() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional string command_line = 2;
       */
      public java.lang.String getCommandLine() {
        java.lang.Object ref = commandLine_;
        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()) {
            commandLine_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string command_line = 2;
       */
      public com.google.protobuf.ByteString
          getCommandLineBytes() {
        java.lang.Object ref = commandLine_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          commandLine_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string command_line = 2;
       */
      public Builder setCommandLine(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        commandLine_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string command_line = 2;
       */
      public Builder clearCommandLine() {
        bitField0_ = (bitField0_ & ~0x00000002);
        commandLine_ = getDefaultInstance().getCommandLine();
        onChanged();
        return this;
      }
      /**
       * optional string command_line = 2;
       */
      public Builder setCommandLineBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        commandLine_ = value;
        onChanged();
        return this;
      }

      private int totalFiles_ ;
      /**
       * optional uint32 total_files = 3;
       */
      public boolean hasTotalFiles() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional uint32 total_files = 3;
       */
      public int getTotalFiles() {
        return totalFiles_;
      }
      /**
       * optional uint32 total_files = 3;
       */
      public Builder setTotalFiles(int value) {
        bitField0_ |= 0x00000004;
        totalFiles_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 total_files = 3;
       */
      public Builder clearTotalFiles() {
        bitField0_ = (bitField0_ & ~0x00000004);
        totalFiles_ = 0;
        onChanged();
        return this;
      }

      private int processId_ ;
      /**
       * optional uint32 process_id = 4;
       */
      public boolean hasProcessId() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional uint32 process_id = 4;
       */
      public int getProcessId() {
        return processId_;
      }
      /**
       * optional uint32 process_id = 4;
       */
      public Builder setProcessId(int value) {
        bitField0_ |= 0x00000008;
        processId_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint32 process_id = 4;
       */
      public Builder clearProcessId() {
        bitField0_ = (bitField0_ & ~0x00000008);
        processId_ = 0;
        onChanged();
        return this;
      }

      private int osversion_ ;
      /**
       * optional int32 osversion = 5;
       */
      public boolean hasOsversion() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional int32 osversion = 5;
       */
      public int getOsversion() {
        return osversion_;
      }
      /**
       * optional int32 osversion = 5;
       */
      public Builder setOsversion(int value) {
        bitField0_ |= 0x00000010;
        osversion_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 osversion = 5;
       */
      public Builder clearOsversion() {
        bitField0_ = (bitField0_ & ~0x00000010);
        osversion_ = 0;
        onChanged();
        return this;
      }

      private long clientTime_ ;
      /**
       * optional uint64 client_time = 6;
       */
      public boolean hasClientTime() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional uint64 client_time = 6;
       */
      public long getClientTime() {
        return clientTime_;
      }
      /**
       * optional uint64 client_time = 6;
       */
      public Builder setClientTime(long value) {
        bitField0_ |= 0x00000020;
        clientTime_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint64 client_time = 6;
       */
      public Builder clearClientTime() {
        bitField0_ = (bitField0_ & ~0x00000020);
        clientTime_ = 0L;
        onChanged();
        return this;
      }

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

      private com.google.protobuf.RepeatedFieldBuilder<
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic.Builder, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnosticOrBuilder> diagnosticsBuilder_;

      /**
       * repeated .CUserMessage_DllStatus.CVDiagnostic diagnostics = 7;
       */
      public java.util.List getDiagnosticsList() {
        if (diagnosticsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(diagnostics_);
        } else {
          return diagnosticsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CUserMessage_DllStatus.CVDiagnostic diagnostics = 7;
       */
      public int getDiagnosticsCount() {
        if (diagnosticsBuilder_ == null) {
          return diagnostics_.size();
        } else {
          return diagnosticsBuilder_.getCount();
        }
      }
      /**
       * repeated .CUserMessage_DllStatus.CVDiagnostic diagnostics = 7;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic getDiagnostics(int index) {
        if (diagnosticsBuilder_ == null) {
          return diagnostics_.get(index);
        } else {
          return diagnosticsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CUserMessage_DllStatus.CVDiagnostic diagnostics = 7;
       */
      public Builder setDiagnostics(
          int index, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic value) {
        if (diagnosticsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDiagnosticsIsMutable();
          diagnostics_.set(index, value);
          onChanged();
        } else {
          diagnosticsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CUserMessage_DllStatus.CVDiagnostic diagnostics = 7;
       */
      public Builder setDiagnostics(
          int index, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic.Builder builderForValue) {
        if (diagnosticsBuilder_ == null) {
          ensureDiagnosticsIsMutable();
          diagnostics_.set(index, builderForValue.build());
          onChanged();
        } else {
          diagnosticsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CUserMessage_DllStatus.CVDiagnostic diagnostics = 7;
       */
      public Builder addDiagnostics(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic value) {
        if (diagnosticsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDiagnosticsIsMutable();
          diagnostics_.add(value);
          onChanged();
        } else {
          diagnosticsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CUserMessage_DllStatus.CVDiagnostic diagnostics = 7;
       */
      public Builder addDiagnostics(
          int index, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic value) {
        if (diagnosticsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDiagnosticsIsMutable();
          diagnostics_.add(index, value);
          onChanged();
        } else {
          diagnosticsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CUserMessage_DllStatus.CVDiagnostic diagnostics = 7;
       */
      public Builder addDiagnostics(
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic.Builder builderForValue) {
        if (diagnosticsBuilder_ == null) {
          ensureDiagnosticsIsMutable();
          diagnostics_.add(builderForValue.build());
          onChanged();
        } else {
          diagnosticsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CUserMessage_DllStatus.CVDiagnostic diagnostics = 7;
       */
      public Builder addDiagnostics(
          int index, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic.Builder builderForValue) {
        if (diagnosticsBuilder_ == null) {
          ensureDiagnosticsIsMutable();
          diagnostics_.add(index, builderForValue.build());
          onChanged();
        } else {
          diagnosticsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CUserMessage_DllStatus.CVDiagnostic diagnostics = 7;
       */
      public Builder addAllDiagnostics(
          java.lang.Iterable values) {
        if (diagnosticsBuilder_ == null) {
          ensureDiagnosticsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, diagnostics_);
          onChanged();
        } else {
          diagnosticsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CUserMessage_DllStatus.CVDiagnostic diagnostics = 7;
       */
      public Builder clearDiagnostics() {
        if (diagnosticsBuilder_ == null) {
          diagnostics_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000040);
          onChanged();
        } else {
          diagnosticsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CUserMessage_DllStatus.CVDiagnostic diagnostics = 7;
       */
      public Builder removeDiagnostics(int index) {
        if (diagnosticsBuilder_ == null) {
          ensureDiagnosticsIsMutable();
          diagnostics_.remove(index);
          onChanged();
        } else {
          diagnosticsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CUserMessage_DllStatus.CVDiagnostic diagnostics = 7;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic.Builder getDiagnosticsBuilder(
          int index) {
        return getDiagnosticsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CUserMessage_DllStatus.CVDiagnostic diagnostics = 7;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnosticOrBuilder getDiagnosticsOrBuilder(
          int index) {
        if (diagnosticsBuilder_ == null) {
          return diagnostics_.get(index);  } else {
          return diagnosticsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CUserMessage_DllStatus.CVDiagnostic diagnostics = 7;
       */
      public java.util.List 
           getDiagnosticsOrBuilderList() {
        if (diagnosticsBuilder_ != null) {
          return diagnosticsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(diagnostics_);
        }
      }
      /**
       * repeated .CUserMessage_DllStatus.CVDiagnostic diagnostics = 7;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic.Builder addDiagnosticsBuilder() {
        return getDiagnosticsFieldBuilder().addBuilder(
            skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic.getDefaultInstance());
      }
      /**
       * repeated .CUserMessage_DllStatus.CVDiagnostic diagnostics = 7;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic.Builder addDiagnosticsBuilder(
          int index) {
        return getDiagnosticsFieldBuilder().addBuilder(
            index, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic.getDefaultInstance());
      }
      /**
       * repeated .CUserMessage_DllStatus.CVDiagnostic diagnostics = 7;
       */
      public java.util.List 
           getDiagnosticsBuilderList() {
        return getDiagnosticsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic.Builder, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnosticOrBuilder> 
          getDiagnosticsFieldBuilder() {
        if (diagnosticsBuilder_ == null) {
          diagnosticsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnostic.Builder, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_DllStatus.CVDiagnosticOrBuilder>(
                  diagnostics_,
                  ((bitField0_ & 0x00000040) == 0x00000040),
                  getParentForChildren(),
                  isClean());
          diagnostics_ = null;
        }
        return diagnosticsBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessage_DllStatus)
    }

    static {
      defaultInstance = new CUserMessage_DllStatus(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessage_DllStatus)
  }

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

    /**
     * optional int32 inventory = 1;
     */
    boolean hasInventory();
    /**
     * optional int32 inventory = 1;
     */
    int getInventory();

    /**
     * optional int32 offset = 2;
     */
    boolean hasOffset();
    /**
     * optional int32 offset = 2;
     */
    int getOffset();

    /**
     * optional int32 options = 3;
     */
    boolean hasOptions();
    /**
     * optional int32 options = 3;
     */
    int getOptions();
  }
  /**
   * Protobuf type {@code CUserMessageRequestInventory}
   */
  public static final class CUserMessageRequestInventory extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessageRequestInventory)
      CUserMessageRequestInventoryOrBuilder {
    // Use CUserMessageRequestInventory.newBuilder() to construct.
    private CUserMessageRequestInventory(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessageRequestInventory(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessageRequestInventory defaultInstance;
    public static CUserMessageRequestInventory getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessageRequestInventory getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessageRequestInventory(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              inventory_ = input.readInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              offset_ = input.readInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              options_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageRequestInventory_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageRequestInventory_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestInventory.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestInventory.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessageRequestInventory parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessageRequestInventory(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int INVENTORY_FIELD_NUMBER = 1;
    private int inventory_;
    /**
     * optional int32 inventory = 1;
     */
    public boolean hasInventory() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 inventory = 1;
     */
    public int getInventory() {
      return inventory_;
    }

    public static final int OFFSET_FIELD_NUMBER = 2;
    private int offset_;
    /**
     * optional int32 offset = 2;
     */
    public boolean hasOffset() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional int32 offset = 2;
     */
    public int getOffset() {
      return offset_;
    }

    public static final int OPTIONS_FIELD_NUMBER = 3;
    private int options_;
    /**
     * optional int32 options = 3;
     */
    public boolean hasOptions() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional int32 options = 3;
     */
    public int getOptions() {
      return options_;
    }

    private void initFields() {
      inventory_ = 0;
      offset_ = 0;
      options_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, inventory_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, offset_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt32(3, options_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, inventory_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, offset_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, options_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestInventory parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestInventory parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestInventory parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestInventory parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestInventory parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestInventory parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestInventory parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestInventory parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestInventory parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestInventory parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestInventory prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessageRequestInventory}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessageRequestInventory)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestInventoryOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageRequestInventory_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageRequestInventory_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestInventory.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestInventory.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestInventory.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        inventory_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        offset_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        options_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessageRequestInventory_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestInventory getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestInventory.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestInventory build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestInventory result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestInventory buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestInventory result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestInventory(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.inventory_ = inventory_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.offset_ = offset_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.options_ = options_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestInventory) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestInventory)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestInventory other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestInventory.getDefaultInstance()) return this;
        if (other.hasInventory()) {
          setInventory(other.getInventory());
        }
        if (other.hasOffset()) {
          setOffset(other.getOffset());
        }
        if (other.hasOptions()) {
          setOptions(other.getOptions());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestInventory parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessageRequestInventory) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int inventory_ ;
      /**
       * optional int32 inventory = 1;
       */
      public boolean hasInventory() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 inventory = 1;
       */
      public int getInventory() {
        return inventory_;
      }
      /**
       * optional int32 inventory = 1;
       */
      public Builder setInventory(int value) {
        bitField0_ |= 0x00000001;
        inventory_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 inventory = 1;
       */
      public Builder clearInventory() {
        bitField0_ = (bitField0_ & ~0x00000001);
        inventory_ = 0;
        onChanged();
        return this;
      }

      private int offset_ ;
      /**
       * optional int32 offset = 2;
       */
      public boolean hasOffset() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional int32 offset = 2;
       */
      public int getOffset() {
        return offset_;
      }
      /**
       * optional int32 offset = 2;
       */
      public Builder setOffset(int value) {
        bitField0_ |= 0x00000002;
        offset_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 offset = 2;
       */
      public Builder clearOffset() {
        bitField0_ = (bitField0_ & ~0x00000002);
        offset_ = 0;
        onChanged();
        return this;
      }

      private int options_ ;
      /**
       * optional int32 options = 3;
       */
      public boolean hasOptions() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional int32 options = 3;
       */
      public int getOptions() {
        return options_;
      }
      /**
       * optional int32 options = 3;
       */
      public Builder setOptions(int value) {
        bitField0_ |= 0x00000004;
        options_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 options = 3;
       */
      public Builder clearOptions() {
        bitField0_ = (bitField0_ & ~0x00000004);
        options_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessageRequestInventory)
    }

    static {
      defaultInstance = new CUserMessageRequestInventory(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessageRequestInventory)
  }

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

    /**
     * optional fixed32 crc = 1;
     */
    boolean hasCrc();
    /**
     * optional fixed32 crc = 1;
     */
    int getCrc();

    /**
     * optional int32 item_count = 2;
     */
    boolean hasItemCount();
    /**
     * optional int32 item_count = 2;
     */
    int getItemCount();

    /**
     * optional int32 osversion = 5;
     */
    boolean hasOsversion();
    /**
     * optional int32 osversion = 5;
     */
    int getOsversion();

    /**
     * optional int32 perf_time = 6;
     */
    boolean hasPerfTime();
    /**
     * optional int32 perf_time = 6;
     */
    int getPerfTime();

    /**
     * optional int32 client_timestamp = 7;
     */
    boolean hasClientTimestamp();
    /**
     * optional int32 client_timestamp = 7;
     */
    int getClientTimestamp();

    /**
     * optional int32 platform = 8;
     */
    boolean hasPlatform();
    /**
     * optional int32 platform = 8;
     */
    int getPlatform();

    /**
     * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories = 9;
     */
    java.util.List 
        getInventoriesList();
    /**
     * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories = 9;
     */
    skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail getInventories(int index);
    /**
     * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories = 9;
     */
    int getInventoriesCount();
    /**
     * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories = 9;
     */
    java.util.List 
        getInventoriesOrBuilderList();
    /**
     * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories = 9;
     */
    skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetailOrBuilder getInventoriesOrBuilder(
        int index);

    /**
     * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories2 = 10;
     */
    java.util.List 
        getInventories2List();
    /**
     * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories2 = 10;
     */
    skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail getInventories2(int index);
    /**
     * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories2 = 10;
     */
    int getInventories2Count();
    /**
     * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories2 = 10;
     */
    java.util.List 
        getInventories2OrBuilderList();
    /**
     * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories2 = 10;
     */
    skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetailOrBuilder getInventories2OrBuilder(
        int index);

    /**
     * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories3 = 14;
     */
    java.util.List 
        getInventories3List();
    /**
     * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories3 = 14;
     */
    skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail getInventories3(int index);
    /**
     * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories3 = 14;
     */
    int getInventories3Count();
    /**
     * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories3 = 14;
     */
    java.util.List 
        getInventories3OrBuilderList();
    /**
     * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories3 = 14;
     */
    skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetailOrBuilder getInventories3OrBuilder(
        int index);

    /**
     * optional int32 inv_type = 11;
     */
    boolean hasInvType();
    /**
     * optional int32 inv_type = 11;
     */
    int getInvType();

    /**
     * optional int32 build_version = 12;
     */
    boolean hasBuildVersion();
    /**
     * optional int32 build_version = 12;
     */
    int getBuildVersion();

    /**
     * optional int32 instance = 13;
     */
    boolean hasInstance();
    /**
     * optional int32 instance = 13;
     */
    int getInstance();

    /**
     * optional int64 start_time = 15;
     */
    boolean hasStartTime();
    /**
     * optional int64 start_time = 15;
     */
    long getStartTime();
  }
  /**
   * Protobuf type {@code CUserMessage_Inventory_Response}
   */
  public static final class CUserMessage_Inventory_Response extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessage_Inventory_Response)
      CUserMessage_Inventory_ResponseOrBuilder {
    // Use CUserMessage_Inventory_Response.newBuilder() to construct.
    private CUserMessage_Inventory_Response(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessage_Inventory_Response(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessage_Inventory_Response defaultInstance;
    public static CUserMessage_Inventory_Response getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessage_Inventory_Response getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessage_Inventory_Response(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 13: {
              bitField0_ |= 0x00000001;
              crc_ = input.readFixed32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              itemCount_ = input.readInt32();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000004;
              osversion_ = input.readInt32();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000008;
              perfTime_ = input.readInt32();
              break;
            }
            case 56: {
              bitField0_ |= 0x00000010;
              clientTimestamp_ = input.readInt32();
              break;
            }
            case 64: {
              bitField0_ |= 0x00000020;
              platform_ = input.readInt32();
              break;
            }
            case 74: {
              if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
                inventories_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000040;
              }
              inventories_.add(input.readMessage(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.PARSER, extensionRegistry));
              break;
            }
            case 82: {
              if (!((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
                inventories2_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000080;
              }
              inventories2_.add(input.readMessage(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.PARSER, extensionRegistry));
              break;
            }
            case 88: {
              bitField0_ |= 0x00000040;
              invType_ = input.readInt32();
              break;
            }
            case 96: {
              bitField0_ |= 0x00000080;
              buildVersion_ = input.readInt32();
              break;
            }
            case 104: {
              bitField0_ |= 0x00000100;
              instance_ = input.readInt32();
              break;
            }
            case 114: {
              if (!((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
                inventories3_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000100;
              }
              inventories3_.add(input.readMessage(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.PARSER, extensionRegistry));
              break;
            }
            case 120: {
              bitField0_ |= 0x00000200;
              startTime_ = input.readInt64();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
          inventories_ = java.util.Collections.unmodifiableList(inventories_);
        }
        if (((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
          inventories2_ = java.util.Collections.unmodifiableList(inventories2_);
        }
        if (((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
          inventories3_ = java.util.Collections.unmodifiableList(inventories3_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_Inventory_Response_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_Inventory_Response_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessage_Inventory_Response parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessage_Inventory_Response(input, extensionRegistry);
      }
    };

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

    public interface InventoryDetailOrBuilder extends
        // @@protoc_insertion_point(interface_extends:CUserMessage_Inventory_Response.InventoryDetail)
        com.google.protobuf.MessageOrBuilder {

      /**
       * optional int32 index = 1;
       */
      boolean hasIndex();
      /**
       * optional int32 index = 1;
       */
      int getIndex();

      /**
       * optional int64 primary = 2;
       */
      boolean hasPrimary();
      /**
       * optional int64 primary = 2;
       */
      long getPrimary();

      /**
       * optional int64 offset = 3;
       */
      boolean hasOffset();
      /**
       * optional int64 offset = 3;
       */
      long getOffset();

      /**
       * optional int64 first = 4;
       */
      boolean hasFirst();
      /**
       * optional int64 first = 4;
       */
      long getFirst();

      /**
       * optional int64 base = 5;
       */
      boolean hasBase();
      /**
       * optional int64 base = 5;
       */
      long getBase();

      /**
       * optional string name = 6;
       */
      boolean hasName();
      /**
       * optional string name = 6;
       */
      java.lang.String getName();
      /**
       * optional string name = 6;
       */
      com.google.protobuf.ByteString
          getNameBytes();

      /**
       * optional string base_name = 7;
       */
      boolean hasBaseName();
      /**
       * optional string base_name = 7;
       */
      java.lang.String getBaseName();
      /**
       * optional string base_name = 7;
       */
      com.google.protobuf.ByteString
          getBaseNameBytes();

      /**
       * optional int32 base_detail = 8;
       */
      boolean hasBaseDetail();
      /**
       * optional int32 base_detail = 8;
       */
      int getBaseDetail();

      /**
       * optional int32 base_time = 9;
       */
      boolean hasBaseTime();
      /**
       * optional int32 base_time = 9;
       */
      int getBaseTime();

      /**
       * optional int32 base_hash = 10;
       */
      boolean hasBaseHash();
      /**
       * optional int32 base_hash = 10;
       */
      int getBaseHash();
    }
    /**
     * Protobuf type {@code CUserMessage_Inventory_Response.InventoryDetail}
     */
    public static final class InventoryDetail extends
        com.google.protobuf.GeneratedMessage implements
        // @@protoc_insertion_point(message_implements:CUserMessage_Inventory_Response.InventoryDetail)
        InventoryDetailOrBuilder {
      // Use InventoryDetail.newBuilder() to construct.
      private InventoryDetail(com.google.protobuf.GeneratedMessage.Builder builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private InventoryDetail(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

      private static final InventoryDetail defaultInstance;
      public static InventoryDetail getDefaultInstance() {
        return defaultInstance;
      }

      public InventoryDetail getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final com.google.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private InventoryDetail(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        initFields();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 8: {
                bitField0_ |= 0x00000001;
                index_ = input.readInt32();
                break;
              }
              case 16: {
                bitField0_ |= 0x00000002;
                primary_ = input.readInt64();
                break;
              }
              case 24: {
                bitField0_ |= 0x00000004;
                offset_ = input.readInt64();
                break;
              }
              case 32: {
                bitField0_ |= 0x00000008;
                first_ = input.readInt64();
                break;
              }
              case 40: {
                bitField0_ |= 0x00000010;
                base_ = input.readInt64();
                break;
              }
              case 50: {
                com.google.protobuf.ByteString bs = input.readBytes();
                bitField0_ |= 0x00000020;
                name_ = bs;
                break;
              }
              case 58: {
                com.google.protobuf.ByteString bs = input.readBytes();
                bitField0_ |= 0x00000040;
                baseName_ = bs;
                break;
              }
              case 64: {
                bitField0_ |= 0x00000080;
                baseDetail_ = input.readInt32();
                break;
              }
              case 72: {
                bitField0_ |= 0x00000100;
                baseTime_ = input.readInt32();
                break;
              }
              case 80: {
                bitField0_ |= 0x00000200;
                baseHash_ = input.readInt32();
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_Inventory_Response_InventoryDetail_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_Inventory_Response_InventoryDetail_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.Builder.class);
      }

      public static com.google.protobuf.Parser PARSER =
          new com.google.protobuf.AbstractParser() {
        public InventoryDetail parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new InventoryDetail(input, extensionRegistry);
        }
      };

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

      private int bitField0_;
      public static final int INDEX_FIELD_NUMBER = 1;
      private int index_;
      /**
       * optional int32 index = 1;
       */
      public boolean hasIndex() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 index = 1;
       */
      public int getIndex() {
        return index_;
      }

      public static final int PRIMARY_FIELD_NUMBER = 2;
      private long primary_;
      /**
       * optional int64 primary = 2;
       */
      public boolean hasPrimary() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional int64 primary = 2;
       */
      public long getPrimary() {
        return primary_;
      }

      public static final int OFFSET_FIELD_NUMBER = 3;
      private long offset_;
      /**
       * optional int64 offset = 3;
       */
      public boolean hasOffset() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional int64 offset = 3;
       */
      public long getOffset() {
        return offset_;
      }

      public static final int FIRST_FIELD_NUMBER = 4;
      private long first_;
      /**
       * optional int64 first = 4;
       */
      public boolean hasFirst() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional int64 first = 4;
       */
      public long getFirst() {
        return first_;
      }

      public static final int BASE_FIELD_NUMBER = 5;
      private long base_;
      /**
       * optional int64 base = 5;
       */
      public boolean hasBase() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional int64 base = 5;
       */
      public long getBase() {
        return base_;
      }

      public static final int NAME_FIELD_NUMBER = 6;
      private java.lang.Object name_;
      /**
       * optional string name = 6;
       */
      public boolean hasName() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional string name = 6;
       */
      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 = 6;
       */
      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 BASE_NAME_FIELD_NUMBER = 7;
      private java.lang.Object baseName_;
      /**
       * optional string base_name = 7;
       */
      public boolean hasBaseName() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * optional string base_name = 7;
       */
      public java.lang.String getBaseName() {
        java.lang.Object ref = baseName_;
        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()) {
            baseName_ = s;
          }
          return s;
        }
      }
      /**
       * optional string base_name = 7;
       */
      public com.google.protobuf.ByteString
          getBaseNameBytes() {
        java.lang.Object ref = baseName_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          baseName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int BASE_DETAIL_FIELD_NUMBER = 8;
      private int baseDetail_;
      /**
       * optional int32 base_detail = 8;
       */
      public boolean hasBaseDetail() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * optional int32 base_detail = 8;
       */
      public int getBaseDetail() {
        return baseDetail_;
      }

      public static final int BASE_TIME_FIELD_NUMBER = 9;
      private int baseTime_;
      /**
       * optional int32 base_time = 9;
       */
      public boolean hasBaseTime() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      /**
       * optional int32 base_time = 9;
       */
      public int getBaseTime() {
        return baseTime_;
      }

      public static final int BASE_HASH_FIELD_NUMBER = 10;
      private int baseHash_;
      /**
       * optional int32 base_hash = 10;
       */
      public boolean hasBaseHash() {
        return ((bitField0_ & 0x00000200) == 0x00000200);
      }
      /**
       * optional int32 base_hash = 10;
       */
      public int getBaseHash() {
        return baseHash_;
      }

      private void initFields() {
        index_ = 0;
        primary_ = 0L;
        offset_ = 0L;
        first_ = 0L;
        base_ = 0L;
        name_ = "";
        baseName_ = "";
        baseDetail_ = 0;
        baseTime_ = 0;
        baseHash_ = 0;
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeInt32(1, index_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeInt64(2, primary_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeInt64(3, offset_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          output.writeInt64(4, first_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          output.writeInt64(5, base_);
        }
        if (((bitField0_ & 0x00000020) == 0x00000020)) {
          output.writeBytes(6, getNameBytes());
        }
        if (((bitField0_ & 0x00000040) == 0x00000040)) {
          output.writeBytes(7, getBaseNameBytes());
        }
        if (((bitField0_ & 0x00000080) == 0x00000080)) {
          output.writeInt32(8, baseDetail_);
        }
        if (((bitField0_ & 0x00000100) == 0x00000100)) {
          output.writeInt32(9, baseTime_);
        }
        if (((bitField0_ & 0x00000200) == 0x00000200)) {
          output.writeInt32(10, baseHash_);
        }
        getUnknownFields().writeTo(output);
      }

      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(1, index_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt64Size(2, primary_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt64Size(3, offset_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt64Size(4, first_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt64Size(5, base_);
        }
        if (((bitField0_ & 0x00000020) == 0x00000020)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(6, getNameBytes());
        }
        if (((bitField0_ & 0x00000040) == 0x00000040)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(7, getBaseNameBytes());
        }
        if (((bitField0_ & 0x00000080) == 0x00000080)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(8, baseDetail_);
        }
        if (((bitField0_ & 0x00000100) == 0x00000100)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(9, baseTime_);
        }
        if (((bitField0_ & 0x00000200) == 0x00000200)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(10, baseHash_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }

      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }

      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code CUserMessage_Inventory_Response.InventoryDetail}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder implements
          // @@protoc_insertion_point(builder_implements:CUserMessage_Inventory_Response.InventoryDetail)
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetailOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_Inventory_Response_InventoryDetail_descriptor;
        }

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_Inventory_Response_InventoryDetail_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.Builder.class);
        }

        // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          index_ = 0;
          bitField0_ = (bitField0_ & ~0x00000001);
          primary_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000002);
          offset_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000004);
          first_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000008);
          base_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000010);
          name_ = "";
          bitField0_ = (bitField0_ & ~0x00000020);
          baseName_ = "";
          bitField0_ = (bitField0_ & ~0x00000040);
          baseDetail_ = 0;
          bitField0_ = (bitField0_ & ~0x00000080);
          baseTime_ = 0;
          bitField0_ = (bitField0_ & ~0x00000100);
          baseHash_ = 0;
          bitField0_ = (bitField0_ & ~0x00000200);
          return this;
        }

        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_Inventory_Response_InventoryDetail_descriptor;
        }

        public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail getDefaultInstanceForType() {
          return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.getDefaultInstance();
        }

        public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail build() {
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail buildPartial() {
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.index_ = index_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.primary_ = primary_;
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          result.offset_ = offset_;
          if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
            to_bitField0_ |= 0x00000008;
          }
          result.first_ = first_;
          if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
            to_bitField0_ |= 0x00000010;
          }
          result.base_ = base_;
          if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
            to_bitField0_ |= 0x00000020;
          }
          result.name_ = name_;
          if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
            to_bitField0_ |= 0x00000040;
          }
          result.baseName_ = baseName_;
          if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
            to_bitField0_ |= 0x00000080;
          }
          result.baseDetail_ = baseDetail_;
          if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
            to_bitField0_ |= 0x00000100;
          }
          result.baseTime_ = baseTime_;
          if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
            to_bitField0_ |= 0x00000200;
          }
          result.baseHash_ = baseHash_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail) {
            return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail other) {
          if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.getDefaultInstance()) return this;
          if (other.hasIndex()) {
            setIndex(other.getIndex());
          }
          if (other.hasPrimary()) {
            setPrimary(other.getPrimary());
          }
          if (other.hasOffset()) {
            setOffset(other.getOffset());
          }
          if (other.hasFirst()) {
            setFirst(other.getFirst());
          }
          if (other.hasBase()) {
            setBase(other.getBase());
          }
          if (other.hasName()) {
            bitField0_ |= 0x00000020;
            name_ = other.name_;
            onChanged();
          }
          if (other.hasBaseName()) {
            bitField0_ |= 0x00000040;
            baseName_ = other.baseName_;
            onChanged();
          }
          if (other.hasBaseDetail()) {
            setBaseDetail(other.getBaseDetail());
          }
          if (other.hasBaseTime()) {
            setBaseTime(other.getBaseTime());
          }
          if (other.hasBaseHash()) {
            setBaseHash(other.getBaseHash());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail) e.getUnfinishedMessage();
            throw e;
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        private int index_ ;
        /**
         * optional int32 index = 1;
         */
        public boolean hasIndex() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * optional int32 index = 1;
         */
        public int getIndex() {
          return index_;
        }
        /**
         * optional int32 index = 1;
         */
        public Builder setIndex(int value) {
          bitField0_ |= 0x00000001;
          index_ = value;
          onChanged();
          return this;
        }
        /**
         * optional int32 index = 1;
         */
        public Builder clearIndex() {
          bitField0_ = (bitField0_ & ~0x00000001);
          index_ = 0;
          onChanged();
          return this;
        }

        private long primary_ ;
        /**
         * optional int64 primary = 2;
         */
        public boolean hasPrimary() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * optional int64 primary = 2;
         */
        public long getPrimary() {
          return primary_;
        }
        /**
         * optional int64 primary = 2;
         */
        public Builder setPrimary(long value) {
          bitField0_ |= 0x00000002;
          primary_ = value;
          onChanged();
          return this;
        }
        /**
         * optional int64 primary = 2;
         */
        public Builder clearPrimary() {
          bitField0_ = (bitField0_ & ~0x00000002);
          primary_ = 0L;
          onChanged();
          return this;
        }

        private long offset_ ;
        /**
         * optional int64 offset = 3;
         */
        public boolean hasOffset() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        /**
         * optional int64 offset = 3;
         */
        public long getOffset() {
          return offset_;
        }
        /**
         * optional int64 offset = 3;
         */
        public Builder setOffset(long value) {
          bitField0_ |= 0x00000004;
          offset_ = value;
          onChanged();
          return this;
        }
        /**
         * optional int64 offset = 3;
         */
        public Builder clearOffset() {
          bitField0_ = (bitField0_ & ~0x00000004);
          offset_ = 0L;
          onChanged();
          return this;
        }

        private long first_ ;
        /**
         * optional int64 first = 4;
         */
        public boolean hasFirst() {
          return ((bitField0_ & 0x00000008) == 0x00000008);
        }
        /**
         * optional int64 first = 4;
         */
        public long getFirst() {
          return first_;
        }
        /**
         * optional int64 first = 4;
         */
        public Builder setFirst(long value) {
          bitField0_ |= 0x00000008;
          first_ = value;
          onChanged();
          return this;
        }
        /**
         * optional int64 first = 4;
         */
        public Builder clearFirst() {
          bitField0_ = (bitField0_ & ~0x00000008);
          first_ = 0L;
          onChanged();
          return this;
        }

        private long base_ ;
        /**
         * optional int64 base = 5;
         */
        public boolean hasBase() {
          return ((bitField0_ & 0x00000010) == 0x00000010);
        }
        /**
         * optional int64 base = 5;
         */
        public long getBase() {
          return base_;
        }
        /**
         * optional int64 base = 5;
         */
        public Builder setBase(long value) {
          bitField0_ |= 0x00000010;
          base_ = value;
          onChanged();
          return this;
        }
        /**
         * optional int64 base = 5;
         */
        public Builder clearBase() {
          bitField0_ = (bitField0_ & ~0x00000010);
          base_ = 0L;
          onChanged();
          return this;
        }

        private java.lang.Object name_ = "";
        /**
         * optional string name = 6;
         */
        public boolean hasName() {
          return ((bitField0_ & 0x00000020) == 0x00000020);
        }
        /**
         * optional string name = 6;
         */
        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 = 6;
         */
        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 = 6;
         */
        public Builder setName(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
          name_ = value;
          onChanged();
          return this;
        }
        /**
         * optional string name = 6;
         */
        public Builder clearName() {
          bitField0_ = (bitField0_ & ~0x00000020);
          name_ = getDefaultInstance().getName();
          onChanged();
          return this;
        }
        /**
         * optional string name = 6;
         */
        public Builder setNameBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
          name_ = value;
          onChanged();
          return this;
        }

        private java.lang.Object baseName_ = "";
        /**
         * optional string base_name = 7;
         */
        public boolean hasBaseName() {
          return ((bitField0_ & 0x00000040) == 0x00000040);
        }
        /**
         * optional string base_name = 7;
         */
        public java.lang.String getBaseName() {
          java.lang.Object ref = baseName_;
          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()) {
              baseName_ = s;
            }
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * optional string base_name = 7;
         */
        public com.google.protobuf.ByteString
            getBaseNameBytes() {
          java.lang.Object ref = baseName_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            baseName_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * optional string base_name = 7;
         */
        public Builder setBaseName(
            java.lang.String value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000040;
          baseName_ = value;
          onChanged();
          return this;
        }
        /**
         * optional string base_name = 7;
         */
        public Builder clearBaseName() {
          bitField0_ = (bitField0_ & ~0x00000040);
          baseName_ = getDefaultInstance().getBaseName();
          onChanged();
          return this;
        }
        /**
         * optional string base_name = 7;
         */
        public Builder setBaseNameBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000040;
          baseName_ = value;
          onChanged();
          return this;
        }

        private int baseDetail_ ;
        /**
         * optional int32 base_detail = 8;
         */
        public boolean hasBaseDetail() {
          return ((bitField0_ & 0x00000080) == 0x00000080);
        }
        /**
         * optional int32 base_detail = 8;
         */
        public int getBaseDetail() {
          return baseDetail_;
        }
        /**
         * optional int32 base_detail = 8;
         */
        public Builder setBaseDetail(int value) {
          bitField0_ |= 0x00000080;
          baseDetail_ = value;
          onChanged();
          return this;
        }
        /**
         * optional int32 base_detail = 8;
         */
        public Builder clearBaseDetail() {
          bitField0_ = (bitField0_ & ~0x00000080);
          baseDetail_ = 0;
          onChanged();
          return this;
        }

        private int baseTime_ ;
        /**
         * optional int32 base_time = 9;
         */
        public boolean hasBaseTime() {
          return ((bitField0_ & 0x00000100) == 0x00000100);
        }
        /**
         * optional int32 base_time = 9;
         */
        public int getBaseTime() {
          return baseTime_;
        }
        /**
         * optional int32 base_time = 9;
         */
        public Builder setBaseTime(int value) {
          bitField0_ |= 0x00000100;
          baseTime_ = value;
          onChanged();
          return this;
        }
        /**
         * optional int32 base_time = 9;
         */
        public Builder clearBaseTime() {
          bitField0_ = (bitField0_ & ~0x00000100);
          baseTime_ = 0;
          onChanged();
          return this;
        }

        private int baseHash_ ;
        /**
         * optional int32 base_hash = 10;
         */
        public boolean hasBaseHash() {
          return ((bitField0_ & 0x00000200) == 0x00000200);
        }
        /**
         * optional int32 base_hash = 10;
         */
        public int getBaseHash() {
          return baseHash_;
        }
        /**
         * optional int32 base_hash = 10;
         */
        public Builder setBaseHash(int value) {
          bitField0_ |= 0x00000200;
          baseHash_ = value;
          onChanged();
          return this;
        }
        /**
         * optional int32 base_hash = 10;
         */
        public Builder clearBaseHash() {
          bitField0_ = (bitField0_ & ~0x00000200);
          baseHash_ = 0;
          onChanged();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:CUserMessage_Inventory_Response.InventoryDetail)
      }

      static {
        defaultInstance = new InventoryDetail(true);
        defaultInstance.initFields();
      }

      // @@protoc_insertion_point(class_scope:CUserMessage_Inventory_Response.InventoryDetail)
    }

    private int bitField0_;
    public static final int CRC_FIELD_NUMBER = 1;
    private int crc_;
    /**
     * optional fixed32 crc = 1;
     */
    public boolean hasCrc() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional fixed32 crc = 1;
     */
    public int getCrc() {
      return crc_;
    }

    public static final int ITEM_COUNT_FIELD_NUMBER = 2;
    private int itemCount_;
    /**
     * optional int32 item_count = 2;
     */
    public boolean hasItemCount() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional int32 item_count = 2;
     */
    public int getItemCount() {
      return itemCount_;
    }

    public static final int OSVERSION_FIELD_NUMBER = 5;
    private int osversion_;
    /**
     * optional int32 osversion = 5;
     */
    public boolean hasOsversion() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional int32 osversion = 5;
     */
    public int getOsversion() {
      return osversion_;
    }

    public static final int PERF_TIME_FIELD_NUMBER = 6;
    private int perfTime_;
    /**
     * optional int32 perf_time = 6;
     */
    public boolean hasPerfTime() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional int32 perf_time = 6;
     */
    public int getPerfTime() {
      return perfTime_;
    }

    public static final int CLIENT_TIMESTAMP_FIELD_NUMBER = 7;
    private int clientTimestamp_;
    /**
     * optional int32 client_timestamp = 7;
     */
    public boolean hasClientTimestamp() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional int32 client_timestamp = 7;
     */
    public int getClientTimestamp() {
      return clientTimestamp_;
    }

    public static final int PLATFORM_FIELD_NUMBER = 8;
    private int platform_;
    /**
     * optional int32 platform = 8;
     */
    public boolean hasPlatform() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * optional int32 platform = 8;
     */
    public int getPlatform() {
      return platform_;
    }

    public static final int INVENTORIES_FIELD_NUMBER = 9;
    private java.util.List inventories_;
    /**
     * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories = 9;
     */
    public java.util.List getInventoriesList() {
      return inventories_;
    }
    /**
     * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories = 9;
     */
    public java.util.List 
        getInventoriesOrBuilderList() {
      return inventories_;
    }
    /**
     * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories = 9;
     */
    public int getInventoriesCount() {
      return inventories_.size();
    }
    /**
     * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories = 9;
     */
    public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail getInventories(int index) {
      return inventories_.get(index);
    }
    /**
     * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories = 9;
     */
    public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetailOrBuilder getInventoriesOrBuilder(
        int index) {
      return inventories_.get(index);
    }

    public static final int INVENTORIES2_FIELD_NUMBER = 10;
    private java.util.List inventories2_;
    /**
     * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories2 = 10;
     */
    public java.util.List getInventories2List() {
      return inventories2_;
    }
    /**
     * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories2 = 10;
     */
    public java.util.List 
        getInventories2OrBuilderList() {
      return inventories2_;
    }
    /**
     * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories2 = 10;
     */
    public int getInventories2Count() {
      return inventories2_.size();
    }
    /**
     * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories2 = 10;
     */
    public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail getInventories2(int index) {
      return inventories2_.get(index);
    }
    /**
     * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories2 = 10;
     */
    public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetailOrBuilder getInventories2OrBuilder(
        int index) {
      return inventories2_.get(index);
    }

    public static final int INVENTORIES3_FIELD_NUMBER = 14;
    private java.util.List inventories3_;
    /**
     * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories3 = 14;
     */
    public java.util.List getInventories3List() {
      return inventories3_;
    }
    /**
     * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories3 = 14;
     */
    public java.util.List 
        getInventories3OrBuilderList() {
      return inventories3_;
    }
    /**
     * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories3 = 14;
     */
    public int getInventories3Count() {
      return inventories3_.size();
    }
    /**
     * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories3 = 14;
     */
    public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail getInventories3(int index) {
      return inventories3_.get(index);
    }
    /**
     * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories3 = 14;
     */
    public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetailOrBuilder getInventories3OrBuilder(
        int index) {
      return inventories3_.get(index);
    }

    public static final int INV_TYPE_FIELD_NUMBER = 11;
    private int invType_;
    /**
     * optional int32 inv_type = 11;
     */
    public boolean hasInvType() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * optional int32 inv_type = 11;
     */
    public int getInvType() {
      return invType_;
    }

    public static final int BUILD_VERSION_FIELD_NUMBER = 12;
    private int buildVersion_;
    /**
     * optional int32 build_version = 12;
     */
    public boolean hasBuildVersion() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * optional int32 build_version = 12;
     */
    public int getBuildVersion() {
      return buildVersion_;
    }

    public static final int INSTANCE_FIELD_NUMBER = 13;
    private int instance_;
    /**
     * optional int32 instance = 13;
     */
    public boolean hasInstance() {
      return ((bitField0_ & 0x00000100) == 0x00000100);
    }
    /**
     * optional int32 instance = 13;
     */
    public int getInstance() {
      return instance_;
    }

    public static final int START_TIME_FIELD_NUMBER = 15;
    private long startTime_;
    /**
     * optional int64 start_time = 15;
     */
    public boolean hasStartTime() {
      return ((bitField0_ & 0x00000200) == 0x00000200);
    }
    /**
     * optional int64 start_time = 15;
     */
    public long getStartTime() {
      return startTime_;
    }

    private void initFields() {
      crc_ = 0;
      itemCount_ = 0;
      osversion_ = 0;
      perfTime_ = 0;
      clientTimestamp_ = 0;
      platform_ = 0;
      inventories_ = java.util.Collections.emptyList();
      inventories2_ = java.util.Collections.emptyList();
      inventories3_ = java.util.Collections.emptyList();
      invType_ = 0;
      buildVersion_ = 0;
      instance_ = 0;
      startTime_ = 0L;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeFixed32(1, crc_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, itemCount_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt32(5, osversion_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeInt32(6, perfTime_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeInt32(7, clientTimestamp_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeInt32(8, platform_);
      }
      for (int i = 0; i < inventories_.size(); i++) {
        output.writeMessage(9, inventories_.get(i));
      }
      for (int i = 0; i < inventories2_.size(); i++) {
        output.writeMessage(10, inventories2_.get(i));
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeInt32(11, invType_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeInt32(12, buildVersion_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        output.writeInt32(13, instance_);
      }
      for (int i = 0; i < inventories3_.size(); i++) {
        output.writeMessage(14, inventories3_.get(i));
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        output.writeInt64(15, startTime_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFixed32Size(1, crc_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, itemCount_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(5, osversion_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(6, perfTime_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(7, clientTimestamp_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(8, platform_);
      }
      for (int i = 0; i < inventories_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(9, inventories_.get(i));
      }
      for (int i = 0; i < inventories2_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(10, inventories2_.get(i));
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(11, invType_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(12, buildVersion_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(13, instance_);
      }
      for (int i = 0; i < inventories3_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(14, inventories3_.get(i));
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(15, startTime_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessage_Inventory_Response}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessage_Inventory_Response)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_ResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_Inventory_Response_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_Inventory_Response_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getInventoriesFieldBuilder();
          getInventories2FieldBuilder();
          getInventories3FieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        crc_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        itemCount_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        osversion_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        perfTime_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        clientTimestamp_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        platform_ = 0;
        bitField0_ = (bitField0_ & ~0x00000020);
        if (inventoriesBuilder_ == null) {
          inventories_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000040);
        } else {
          inventoriesBuilder_.clear();
        }
        if (inventories2Builder_ == null) {
          inventories2_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000080);
        } else {
          inventories2Builder_.clear();
        }
        if (inventories3Builder_ == null) {
          inventories3_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000100);
        } else {
          inventories3Builder_.clear();
        }
        invType_ = 0;
        bitField0_ = (bitField0_ & ~0x00000200);
        buildVersion_ = 0;
        bitField0_ = (bitField0_ & ~0x00000400);
        instance_ = 0;
        bitField0_ = (bitField0_ & ~0x00000800);
        startTime_ = 0L;
        bitField0_ = (bitField0_ & ~0x00001000);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_Inventory_Response_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.crc_ = crc_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.itemCount_ = itemCount_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.osversion_ = osversion_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.perfTime_ = perfTime_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.clientTimestamp_ = clientTimestamp_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.platform_ = platform_;
        if (inventoriesBuilder_ == null) {
          if (((bitField0_ & 0x00000040) == 0x00000040)) {
            inventories_ = java.util.Collections.unmodifiableList(inventories_);
            bitField0_ = (bitField0_ & ~0x00000040);
          }
          result.inventories_ = inventories_;
        } else {
          result.inventories_ = inventoriesBuilder_.build();
        }
        if (inventories2Builder_ == null) {
          if (((bitField0_ & 0x00000080) == 0x00000080)) {
            inventories2_ = java.util.Collections.unmodifiableList(inventories2_);
            bitField0_ = (bitField0_ & ~0x00000080);
          }
          result.inventories2_ = inventories2_;
        } else {
          result.inventories2_ = inventories2Builder_.build();
        }
        if (inventories3Builder_ == null) {
          if (((bitField0_ & 0x00000100) == 0x00000100)) {
            inventories3_ = java.util.Collections.unmodifiableList(inventories3_);
            bitField0_ = (bitField0_ & ~0x00000100);
          }
          result.inventories3_ = inventories3_;
        } else {
          result.inventories3_ = inventories3Builder_.build();
        }
        if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
          to_bitField0_ |= 0x00000040;
        }
        result.invType_ = invType_;
        if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
          to_bitField0_ |= 0x00000080;
        }
        result.buildVersion_ = buildVersion_;
        if (((from_bitField0_ & 0x00000800) == 0x00000800)) {
          to_bitField0_ |= 0x00000100;
        }
        result.instance_ = instance_;
        if (((from_bitField0_ & 0x00001000) == 0x00001000)) {
          to_bitField0_ |= 0x00000200;
        }
        result.startTime_ = startTime_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.getDefaultInstance()) return this;
        if (other.hasCrc()) {
          setCrc(other.getCrc());
        }
        if (other.hasItemCount()) {
          setItemCount(other.getItemCount());
        }
        if (other.hasOsversion()) {
          setOsversion(other.getOsversion());
        }
        if (other.hasPerfTime()) {
          setPerfTime(other.getPerfTime());
        }
        if (other.hasClientTimestamp()) {
          setClientTimestamp(other.getClientTimestamp());
        }
        if (other.hasPlatform()) {
          setPlatform(other.getPlatform());
        }
        if (inventoriesBuilder_ == null) {
          if (!other.inventories_.isEmpty()) {
            if (inventories_.isEmpty()) {
              inventories_ = other.inventories_;
              bitField0_ = (bitField0_ & ~0x00000040);
            } else {
              ensureInventoriesIsMutable();
              inventories_.addAll(other.inventories_);
            }
            onChanged();
          }
        } else {
          if (!other.inventories_.isEmpty()) {
            if (inventoriesBuilder_.isEmpty()) {
              inventoriesBuilder_.dispose();
              inventoriesBuilder_ = null;
              inventories_ = other.inventories_;
              bitField0_ = (bitField0_ & ~0x00000040);
              inventoriesBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getInventoriesFieldBuilder() : null;
            } else {
              inventoriesBuilder_.addAllMessages(other.inventories_);
            }
          }
        }
        if (inventories2Builder_ == null) {
          if (!other.inventories2_.isEmpty()) {
            if (inventories2_.isEmpty()) {
              inventories2_ = other.inventories2_;
              bitField0_ = (bitField0_ & ~0x00000080);
            } else {
              ensureInventories2IsMutable();
              inventories2_.addAll(other.inventories2_);
            }
            onChanged();
          }
        } else {
          if (!other.inventories2_.isEmpty()) {
            if (inventories2Builder_.isEmpty()) {
              inventories2Builder_.dispose();
              inventories2Builder_ = null;
              inventories2_ = other.inventories2_;
              bitField0_ = (bitField0_ & ~0x00000080);
              inventories2Builder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getInventories2FieldBuilder() : null;
            } else {
              inventories2Builder_.addAllMessages(other.inventories2_);
            }
          }
        }
        if (inventories3Builder_ == null) {
          if (!other.inventories3_.isEmpty()) {
            if (inventories3_.isEmpty()) {
              inventories3_ = other.inventories3_;
              bitField0_ = (bitField0_ & ~0x00000100);
            } else {
              ensureInventories3IsMutable();
              inventories3_.addAll(other.inventories3_);
            }
            onChanged();
          }
        } else {
          if (!other.inventories3_.isEmpty()) {
            if (inventories3Builder_.isEmpty()) {
              inventories3Builder_.dispose();
              inventories3Builder_ = null;
              inventories3_ = other.inventories3_;
              bitField0_ = (bitField0_ & ~0x00000100);
              inventories3Builder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getInventories3FieldBuilder() : null;
            } else {
              inventories3Builder_.addAllMessages(other.inventories3_);
            }
          }
        }
        if (other.hasInvType()) {
          setInvType(other.getInvType());
        }
        if (other.hasBuildVersion()) {
          setBuildVersion(other.getBuildVersion());
        }
        if (other.hasInstance()) {
          setInstance(other.getInstance());
        }
        if (other.hasStartTime()) {
          setStartTime(other.getStartTime());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int crc_ ;
      /**
       * optional fixed32 crc = 1;
       */
      public boolean hasCrc() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional fixed32 crc = 1;
       */
      public int getCrc() {
        return crc_;
      }
      /**
       * optional fixed32 crc = 1;
       */
      public Builder setCrc(int value) {
        bitField0_ |= 0x00000001;
        crc_ = value;
        onChanged();
        return this;
      }
      /**
       * optional fixed32 crc = 1;
       */
      public Builder clearCrc() {
        bitField0_ = (bitField0_ & ~0x00000001);
        crc_ = 0;
        onChanged();
        return this;
      }

      private int itemCount_ ;
      /**
       * optional int32 item_count = 2;
       */
      public boolean hasItemCount() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional int32 item_count = 2;
       */
      public int getItemCount() {
        return itemCount_;
      }
      /**
       * optional int32 item_count = 2;
       */
      public Builder setItemCount(int value) {
        bitField0_ |= 0x00000002;
        itemCount_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 item_count = 2;
       */
      public Builder clearItemCount() {
        bitField0_ = (bitField0_ & ~0x00000002);
        itemCount_ = 0;
        onChanged();
        return this;
      }

      private int osversion_ ;
      /**
       * optional int32 osversion = 5;
       */
      public boolean hasOsversion() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional int32 osversion = 5;
       */
      public int getOsversion() {
        return osversion_;
      }
      /**
       * optional int32 osversion = 5;
       */
      public Builder setOsversion(int value) {
        bitField0_ |= 0x00000004;
        osversion_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 osversion = 5;
       */
      public Builder clearOsversion() {
        bitField0_ = (bitField0_ & ~0x00000004);
        osversion_ = 0;
        onChanged();
        return this;
      }

      private int perfTime_ ;
      /**
       * optional int32 perf_time = 6;
       */
      public boolean hasPerfTime() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional int32 perf_time = 6;
       */
      public int getPerfTime() {
        return perfTime_;
      }
      /**
       * optional int32 perf_time = 6;
       */
      public Builder setPerfTime(int value) {
        bitField0_ |= 0x00000008;
        perfTime_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 perf_time = 6;
       */
      public Builder clearPerfTime() {
        bitField0_ = (bitField0_ & ~0x00000008);
        perfTime_ = 0;
        onChanged();
        return this;
      }

      private int clientTimestamp_ ;
      /**
       * optional int32 client_timestamp = 7;
       */
      public boolean hasClientTimestamp() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional int32 client_timestamp = 7;
       */
      public int getClientTimestamp() {
        return clientTimestamp_;
      }
      /**
       * optional int32 client_timestamp = 7;
       */
      public Builder setClientTimestamp(int value) {
        bitField0_ |= 0x00000010;
        clientTimestamp_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 client_timestamp = 7;
       */
      public Builder clearClientTimestamp() {
        bitField0_ = (bitField0_ & ~0x00000010);
        clientTimestamp_ = 0;
        onChanged();
        return this;
      }

      private int platform_ ;
      /**
       * optional int32 platform = 8;
       */
      public boolean hasPlatform() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional int32 platform = 8;
       */
      public int getPlatform() {
        return platform_;
      }
      /**
       * optional int32 platform = 8;
       */
      public Builder setPlatform(int value) {
        bitField0_ |= 0x00000020;
        platform_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 platform = 8;
       */
      public Builder clearPlatform() {
        bitField0_ = (bitField0_ & ~0x00000020);
        platform_ = 0;
        onChanged();
        return this;
      }

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

      private com.google.protobuf.RepeatedFieldBuilder<
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.Builder, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetailOrBuilder> inventoriesBuilder_;

      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories = 9;
       */
      public java.util.List getInventoriesList() {
        if (inventoriesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(inventories_);
        } else {
          return inventoriesBuilder_.getMessageList();
        }
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories = 9;
       */
      public int getInventoriesCount() {
        if (inventoriesBuilder_ == null) {
          return inventories_.size();
        } else {
          return inventoriesBuilder_.getCount();
        }
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories = 9;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail getInventories(int index) {
        if (inventoriesBuilder_ == null) {
          return inventories_.get(index);
        } else {
          return inventoriesBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories = 9;
       */
      public Builder setInventories(
          int index, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail value) {
        if (inventoriesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureInventoriesIsMutable();
          inventories_.set(index, value);
          onChanged();
        } else {
          inventoriesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories = 9;
       */
      public Builder setInventories(
          int index, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.Builder builderForValue) {
        if (inventoriesBuilder_ == null) {
          ensureInventoriesIsMutable();
          inventories_.set(index, builderForValue.build());
          onChanged();
        } else {
          inventoriesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories = 9;
       */
      public Builder addInventories(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail value) {
        if (inventoriesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureInventoriesIsMutable();
          inventories_.add(value);
          onChanged();
        } else {
          inventoriesBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories = 9;
       */
      public Builder addInventories(
          int index, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail value) {
        if (inventoriesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureInventoriesIsMutable();
          inventories_.add(index, value);
          onChanged();
        } else {
          inventoriesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories = 9;
       */
      public Builder addInventories(
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.Builder builderForValue) {
        if (inventoriesBuilder_ == null) {
          ensureInventoriesIsMutable();
          inventories_.add(builderForValue.build());
          onChanged();
        } else {
          inventoriesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories = 9;
       */
      public Builder addInventories(
          int index, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.Builder builderForValue) {
        if (inventoriesBuilder_ == null) {
          ensureInventoriesIsMutable();
          inventories_.add(index, builderForValue.build());
          onChanged();
        } else {
          inventoriesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories = 9;
       */
      public Builder addAllInventories(
          java.lang.Iterable values) {
        if (inventoriesBuilder_ == null) {
          ensureInventoriesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, inventories_);
          onChanged();
        } else {
          inventoriesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories = 9;
       */
      public Builder clearInventories() {
        if (inventoriesBuilder_ == null) {
          inventories_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000040);
          onChanged();
        } else {
          inventoriesBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories = 9;
       */
      public Builder removeInventories(int index) {
        if (inventoriesBuilder_ == null) {
          ensureInventoriesIsMutable();
          inventories_.remove(index);
          onChanged();
        } else {
          inventoriesBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories = 9;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.Builder getInventoriesBuilder(
          int index) {
        return getInventoriesFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories = 9;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetailOrBuilder getInventoriesOrBuilder(
          int index) {
        if (inventoriesBuilder_ == null) {
          return inventories_.get(index);  } else {
          return inventoriesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories = 9;
       */
      public java.util.List 
           getInventoriesOrBuilderList() {
        if (inventoriesBuilder_ != null) {
          return inventoriesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(inventories_);
        }
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories = 9;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.Builder addInventoriesBuilder() {
        return getInventoriesFieldBuilder().addBuilder(
            skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.getDefaultInstance());
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories = 9;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.Builder addInventoriesBuilder(
          int index) {
        return getInventoriesFieldBuilder().addBuilder(
            index, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.getDefaultInstance());
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories = 9;
       */
      public java.util.List 
           getInventoriesBuilderList() {
        return getInventoriesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.Builder, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetailOrBuilder> 
          getInventoriesFieldBuilder() {
        if (inventoriesBuilder_ == null) {
          inventoriesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.Builder, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetailOrBuilder>(
                  inventories_,
                  ((bitField0_ & 0x00000040) == 0x00000040),
                  getParentForChildren(),
                  isClean());
          inventories_ = null;
        }
        return inventoriesBuilder_;
      }

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

      private com.google.protobuf.RepeatedFieldBuilder<
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.Builder, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetailOrBuilder> inventories2Builder_;

      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories2 = 10;
       */
      public java.util.List getInventories2List() {
        if (inventories2Builder_ == null) {
          return java.util.Collections.unmodifiableList(inventories2_);
        } else {
          return inventories2Builder_.getMessageList();
        }
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories2 = 10;
       */
      public int getInventories2Count() {
        if (inventories2Builder_ == null) {
          return inventories2_.size();
        } else {
          return inventories2Builder_.getCount();
        }
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories2 = 10;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail getInventories2(int index) {
        if (inventories2Builder_ == null) {
          return inventories2_.get(index);
        } else {
          return inventories2Builder_.getMessage(index);
        }
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories2 = 10;
       */
      public Builder setInventories2(
          int index, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail value) {
        if (inventories2Builder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureInventories2IsMutable();
          inventories2_.set(index, value);
          onChanged();
        } else {
          inventories2Builder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories2 = 10;
       */
      public Builder setInventories2(
          int index, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.Builder builderForValue) {
        if (inventories2Builder_ == null) {
          ensureInventories2IsMutable();
          inventories2_.set(index, builderForValue.build());
          onChanged();
        } else {
          inventories2Builder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories2 = 10;
       */
      public Builder addInventories2(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail value) {
        if (inventories2Builder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureInventories2IsMutable();
          inventories2_.add(value);
          onChanged();
        } else {
          inventories2Builder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories2 = 10;
       */
      public Builder addInventories2(
          int index, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail value) {
        if (inventories2Builder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureInventories2IsMutable();
          inventories2_.add(index, value);
          onChanged();
        } else {
          inventories2Builder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories2 = 10;
       */
      public Builder addInventories2(
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.Builder builderForValue) {
        if (inventories2Builder_ == null) {
          ensureInventories2IsMutable();
          inventories2_.add(builderForValue.build());
          onChanged();
        } else {
          inventories2Builder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories2 = 10;
       */
      public Builder addInventories2(
          int index, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.Builder builderForValue) {
        if (inventories2Builder_ == null) {
          ensureInventories2IsMutable();
          inventories2_.add(index, builderForValue.build());
          onChanged();
        } else {
          inventories2Builder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories2 = 10;
       */
      public Builder addAllInventories2(
          java.lang.Iterable values) {
        if (inventories2Builder_ == null) {
          ensureInventories2IsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, inventories2_);
          onChanged();
        } else {
          inventories2Builder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories2 = 10;
       */
      public Builder clearInventories2() {
        if (inventories2Builder_ == null) {
          inventories2_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000080);
          onChanged();
        } else {
          inventories2Builder_.clear();
        }
        return this;
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories2 = 10;
       */
      public Builder removeInventories2(int index) {
        if (inventories2Builder_ == null) {
          ensureInventories2IsMutable();
          inventories2_.remove(index);
          onChanged();
        } else {
          inventories2Builder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories2 = 10;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.Builder getInventories2Builder(
          int index) {
        return getInventories2FieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories2 = 10;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetailOrBuilder getInventories2OrBuilder(
          int index) {
        if (inventories2Builder_ == null) {
          return inventories2_.get(index);  } else {
          return inventories2Builder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories2 = 10;
       */
      public java.util.List 
           getInventories2OrBuilderList() {
        if (inventories2Builder_ != null) {
          return inventories2Builder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(inventories2_);
        }
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories2 = 10;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.Builder addInventories2Builder() {
        return getInventories2FieldBuilder().addBuilder(
            skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.getDefaultInstance());
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories2 = 10;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.Builder addInventories2Builder(
          int index) {
        return getInventories2FieldBuilder().addBuilder(
            index, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.getDefaultInstance());
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories2 = 10;
       */
      public java.util.List 
           getInventories2BuilderList() {
        return getInventories2FieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.Builder, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetailOrBuilder> 
          getInventories2FieldBuilder() {
        if (inventories2Builder_ == null) {
          inventories2Builder_ = new com.google.protobuf.RepeatedFieldBuilder<
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.Builder, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetailOrBuilder>(
                  inventories2_,
                  ((bitField0_ & 0x00000080) == 0x00000080),
                  getParentForChildren(),
                  isClean());
          inventories2_ = null;
        }
        return inventories2Builder_;
      }

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

      private com.google.protobuf.RepeatedFieldBuilder<
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.Builder, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetailOrBuilder> inventories3Builder_;

      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories3 = 14;
       */
      public java.util.List getInventories3List() {
        if (inventories3Builder_ == null) {
          return java.util.Collections.unmodifiableList(inventories3_);
        } else {
          return inventories3Builder_.getMessageList();
        }
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories3 = 14;
       */
      public int getInventories3Count() {
        if (inventories3Builder_ == null) {
          return inventories3_.size();
        } else {
          return inventories3Builder_.getCount();
        }
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories3 = 14;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail getInventories3(int index) {
        if (inventories3Builder_ == null) {
          return inventories3_.get(index);
        } else {
          return inventories3Builder_.getMessage(index);
        }
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories3 = 14;
       */
      public Builder setInventories3(
          int index, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail value) {
        if (inventories3Builder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureInventories3IsMutable();
          inventories3_.set(index, value);
          onChanged();
        } else {
          inventories3Builder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories3 = 14;
       */
      public Builder setInventories3(
          int index, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.Builder builderForValue) {
        if (inventories3Builder_ == null) {
          ensureInventories3IsMutable();
          inventories3_.set(index, builderForValue.build());
          onChanged();
        } else {
          inventories3Builder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories3 = 14;
       */
      public Builder addInventories3(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail value) {
        if (inventories3Builder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureInventories3IsMutable();
          inventories3_.add(value);
          onChanged();
        } else {
          inventories3Builder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories3 = 14;
       */
      public Builder addInventories3(
          int index, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail value) {
        if (inventories3Builder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureInventories3IsMutable();
          inventories3_.add(index, value);
          onChanged();
        } else {
          inventories3Builder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories3 = 14;
       */
      public Builder addInventories3(
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.Builder builderForValue) {
        if (inventories3Builder_ == null) {
          ensureInventories3IsMutable();
          inventories3_.add(builderForValue.build());
          onChanged();
        } else {
          inventories3Builder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories3 = 14;
       */
      public Builder addInventories3(
          int index, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.Builder builderForValue) {
        if (inventories3Builder_ == null) {
          ensureInventories3IsMutable();
          inventories3_.add(index, builderForValue.build());
          onChanged();
        } else {
          inventories3Builder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories3 = 14;
       */
      public Builder addAllInventories3(
          java.lang.Iterable values) {
        if (inventories3Builder_ == null) {
          ensureInventories3IsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, inventories3_);
          onChanged();
        } else {
          inventories3Builder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories3 = 14;
       */
      public Builder clearInventories3() {
        if (inventories3Builder_ == null) {
          inventories3_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000100);
          onChanged();
        } else {
          inventories3Builder_.clear();
        }
        return this;
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories3 = 14;
       */
      public Builder removeInventories3(int index) {
        if (inventories3Builder_ == null) {
          ensureInventories3IsMutable();
          inventories3_.remove(index);
          onChanged();
        } else {
          inventories3Builder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories3 = 14;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.Builder getInventories3Builder(
          int index) {
        return getInventories3FieldBuilder().getBuilder(index);
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories3 = 14;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetailOrBuilder getInventories3OrBuilder(
          int index) {
        if (inventories3Builder_ == null) {
          return inventories3_.get(index);  } else {
          return inventories3Builder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories3 = 14;
       */
      public java.util.List 
           getInventories3OrBuilderList() {
        if (inventories3Builder_ != null) {
          return inventories3Builder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(inventories3_);
        }
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories3 = 14;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.Builder addInventories3Builder() {
        return getInventories3FieldBuilder().addBuilder(
            skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.getDefaultInstance());
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories3 = 14;
       */
      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.Builder addInventories3Builder(
          int index) {
        return getInventories3FieldBuilder().addBuilder(
            index, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.getDefaultInstance());
      }
      /**
       * repeated .CUserMessage_Inventory_Response.InventoryDetail inventories3 = 14;
       */
      public java.util.List 
           getInventories3BuilderList() {
        return getInventories3FieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.Builder, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetailOrBuilder> 
          getInventories3FieldBuilder() {
        if (inventories3Builder_ == null) {
          inventories3Builder_ = new com.google.protobuf.RepeatedFieldBuilder<
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetail.Builder, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_Inventory_Response.InventoryDetailOrBuilder>(
                  inventories3_,
                  ((bitField0_ & 0x00000100) == 0x00000100),
                  getParentForChildren(),
                  isClean());
          inventories3_ = null;
        }
        return inventories3Builder_;
      }

      private int invType_ ;
      /**
       * optional int32 inv_type = 11;
       */
      public boolean hasInvType() {
        return ((bitField0_ & 0x00000200) == 0x00000200);
      }
      /**
       * optional int32 inv_type = 11;
       */
      public int getInvType() {
        return invType_;
      }
      /**
       * optional int32 inv_type = 11;
       */
      public Builder setInvType(int value) {
        bitField0_ |= 0x00000200;
        invType_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 inv_type = 11;
       */
      public Builder clearInvType() {
        bitField0_ = (bitField0_ & ~0x00000200);
        invType_ = 0;
        onChanged();
        return this;
      }

      private int buildVersion_ ;
      /**
       * optional int32 build_version = 12;
       */
      public boolean hasBuildVersion() {
        return ((bitField0_ & 0x00000400) == 0x00000400);
      }
      /**
       * optional int32 build_version = 12;
       */
      public int getBuildVersion() {
        return buildVersion_;
      }
      /**
       * optional int32 build_version = 12;
       */
      public Builder setBuildVersion(int value) {
        bitField0_ |= 0x00000400;
        buildVersion_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 build_version = 12;
       */
      public Builder clearBuildVersion() {
        bitField0_ = (bitField0_ & ~0x00000400);
        buildVersion_ = 0;
        onChanged();
        return this;
      }

      private int instance_ ;
      /**
       * optional int32 instance = 13;
       */
      public boolean hasInstance() {
        return ((bitField0_ & 0x00000800) == 0x00000800);
      }
      /**
       * optional int32 instance = 13;
       */
      public int getInstance() {
        return instance_;
      }
      /**
       * optional int32 instance = 13;
       */
      public Builder setInstance(int value) {
        bitField0_ |= 0x00000800;
        instance_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 instance = 13;
       */
      public Builder clearInstance() {
        bitField0_ = (bitField0_ & ~0x00000800);
        instance_ = 0;
        onChanged();
        return this;
      }

      private long startTime_ ;
      /**
       * optional int64 start_time = 15;
       */
      public boolean hasStartTime() {
        return ((bitField0_ & 0x00001000) == 0x00001000);
      }
      /**
       * optional int64 start_time = 15;
       */
      public long getStartTime() {
        return startTime_;
      }
      /**
       * optional int64 start_time = 15;
       */
      public Builder setStartTime(long value) {
        bitField0_ |= 0x00001000;
        startTime_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int64 start_time = 15;
       */
      public Builder clearStartTime() {
        bitField0_ = (bitField0_ & ~0x00001000);
        startTime_ = 0L;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessage_Inventory_Response)
    }

    static {
      defaultInstance = new CUserMessage_Inventory_Response(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessage_Inventory_Response)
  }

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

    /**
     * optional int32 ent_index = 1 [default = -1];
     */
    boolean hasEntIndex();
    /**
     * optional int32 ent_index = 1 [default = -1];
     */
    int getEntIndex();

    /**
     * repeated int32 player_slots = 2;
     */
    java.util.List getPlayerSlotsList();
    /**
     * repeated int32 player_slots = 2;
     */
    int getPlayerSlotsCount();
    /**
     * repeated int32 player_slots = 2;
     */
    int getPlayerSlots(int index);

    /**
     * optional string response = 3;
     */
    boolean hasResponse();
    /**
     * optional string response = 3;
     */
    java.lang.String getResponse();
    /**
     * optional string response = 3;
     */
    com.google.protobuf.ByteString
        getResponseBytes();

    /**
     * optional .CMsgVector ent_origin = 4;
     */
    boolean hasEntOrigin();
    /**
     * optional .CMsgVector ent_origin = 4;
     */
    skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector getEntOrigin();
    /**
     * optional .CMsgVector ent_origin = 4;
     */
    skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVectorOrBuilder getEntOriginOrBuilder();

    /**
     * optional float pre_delay = 5;
     */
    boolean hasPreDelay();
    /**
     * optional float pre_delay = 5;
     */
    float getPreDelay();

    /**
     * optional int32 mix_priority = 6;
     */
    boolean hasMixPriority();
    /**
     * optional int32 mix_priority = 6;
     */
    int getMixPriority();
  }
  /**
   * Protobuf type {@code CUserMessage_PlayResponseConditional}
   */
  public static final class CUserMessage_PlayResponseConditional extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:CUserMessage_PlayResponseConditional)
      CUserMessage_PlayResponseConditionalOrBuilder {
    // Use CUserMessage_PlayResponseConditional.newBuilder() to construct.
    private CUserMessage_PlayResponseConditional(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CUserMessage_PlayResponseConditional(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CUserMessage_PlayResponseConditional defaultInstance;
    public static CUserMessage_PlayResponseConditional getDefaultInstance() {
      return defaultInstance;
    }

    public CUserMessage_PlayResponseConditional getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CUserMessage_PlayResponseConditional(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              entIndex_ = input.readInt32();
              break;
            }
            case 16: {
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                playerSlots_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000002;
              }
              playerSlots_.add(input.readInt32());
              break;
            }
            case 18: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002) && input.getBytesUntilLimit() > 0) {
                playerSlots_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000002;
              }
              while (input.getBytesUntilLimit() > 0) {
                playerSlots_.add(input.readInt32());
              }
              input.popLimit(limit);
              break;
            }
            case 26: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000002;
              response_ = bs;
              break;
            }
            case 34: {
              skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) == 0x00000004)) {
                subBuilder = entOrigin_.toBuilder();
              }
              entOrigin_ = input.readMessage(skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(entOrigin_);
                entOrigin_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
            case 45: {
              bitField0_ |= 0x00000008;
              preDelay_ = input.readFloat();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000010;
              mixPriority_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          playerSlots_ = java.util.Collections.unmodifiableList(playerSlots_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_PlayResponseConditional_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_PlayResponseConditional_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_PlayResponseConditional.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_PlayResponseConditional.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public CUserMessage_PlayResponseConditional parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CUserMessage_PlayResponseConditional(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int ENT_INDEX_FIELD_NUMBER = 1;
    private int entIndex_;
    /**
     * optional int32 ent_index = 1 [default = -1];
     */
    public boolean hasEntIndex() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional int32 ent_index = 1 [default = -1];
     */
    public int getEntIndex() {
      return entIndex_;
    }

    public static final int PLAYER_SLOTS_FIELD_NUMBER = 2;
    private java.util.List playerSlots_;
    /**
     * repeated int32 player_slots = 2;
     */
    public java.util.List
        getPlayerSlotsList() {
      return playerSlots_;
    }
    /**
     * repeated int32 player_slots = 2;
     */
    public int getPlayerSlotsCount() {
      return playerSlots_.size();
    }
    /**
     * repeated int32 player_slots = 2;
     */
    public int getPlayerSlots(int index) {
      return playerSlots_.get(index);
    }

    public static final int RESPONSE_FIELD_NUMBER = 3;
    private java.lang.Object response_;
    /**
     * optional string response = 3;
     */
    public boolean hasResponse() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional string response = 3;
     */
    public java.lang.String getResponse() {
      java.lang.Object ref = response_;
      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()) {
          response_ = s;
        }
        return s;
      }
    }
    /**
     * optional string response = 3;
     */
    public com.google.protobuf.ByteString
        getResponseBytes() {
      java.lang.Object ref = response_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        response_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int ENT_ORIGIN_FIELD_NUMBER = 4;
    private skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector entOrigin_;
    /**
     * optional .CMsgVector ent_origin = 4;
     */
    public boolean hasEntOrigin() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional .CMsgVector ent_origin = 4;
     */
    public skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector getEntOrigin() {
      return entOrigin_;
    }
    /**
     * optional .CMsgVector ent_origin = 4;
     */
    public skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVectorOrBuilder getEntOriginOrBuilder() {
      return entOrigin_;
    }

    public static final int PRE_DELAY_FIELD_NUMBER = 5;
    private float preDelay_;
    /**
     * optional float pre_delay = 5;
     */
    public boolean hasPreDelay() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional float pre_delay = 5;
     */
    public float getPreDelay() {
      return preDelay_;
    }

    public static final int MIX_PRIORITY_FIELD_NUMBER = 6;
    private int mixPriority_;
    /**
     * optional int32 mix_priority = 6;
     */
    public boolean hasMixPriority() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional int32 mix_priority = 6;
     */
    public int getMixPriority() {
      return mixPriority_;
    }

    private void initFields() {
      entIndex_ = -1;
      playerSlots_ = java.util.Collections.emptyList();
      response_ = "";
      entOrigin_ = skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.getDefaultInstance();
      preDelay_ = 0F;
      mixPriority_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, entIndex_);
      }
      for (int i = 0; i < playerSlots_.size(); i++) {
        output.writeInt32(2, playerSlots_.get(i));
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(3, getResponseBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(4, entOrigin_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeFloat(5, preDelay_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeInt32(6, mixPriority_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, entIndex_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < playerSlots_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeInt32SizeNoTag(playerSlots_.get(i));
        }
        size += dataSize;
        size += 1 * getPlayerSlotsList().size();
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, getResponseBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, entOrigin_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(5, preDelay_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(6, mixPriority_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_PlayResponseConditional parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_PlayResponseConditional parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_PlayResponseConditional parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_PlayResponseConditional parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_PlayResponseConditional parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_PlayResponseConditional parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_PlayResponseConditional parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_PlayResponseConditional parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_PlayResponseConditional parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_PlayResponseConditional parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_PlayResponseConditional prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CUserMessage_PlayResponseConditional}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:CUserMessage_PlayResponseConditional)
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_PlayResponseConditionalOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_PlayResponseConditional_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_PlayResponseConditional_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_PlayResponseConditional.class, skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_PlayResponseConditional.Builder.class);
      }

      // Construct using skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_PlayResponseConditional.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getEntOriginFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        entIndex_ = -1;
        bitField0_ = (bitField0_ & ~0x00000001);
        playerSlots_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        response_ = "";
        bitField0_ = (bitField0_ & ~0x00000004);
        if (entOriginBuilder_ == null) {
          entOrigin_ = skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.getDefaultInstance();
        } else {
          entOriginBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        preDelay_ = 0F;
        bitField0_ = (bitField0_ & ~0x00000010);
        mixPriority_ = 0;
        bitField0_ = (bitField0_ & ~0x00000020);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.internal_static_CUserMessage_PlayResponseConditional_descriptor;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_PlayResponseConditional getDefaultInstanceForType() {
        return skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_PlayResponseConditional.getDefaultInstance();
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_PlayResponseConditional build() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_PlayResponseConditional result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_PlayResponseConditional buildPartial() {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_PlayResponseConditional result = new skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_PlayResponseConditional(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.entIndex_ = entIndex_;
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          playerSlots_ = java.util.Collections.unmodifiableList(playerSlots_);
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.playerSlots_ = playerSlots_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000002;
        }
        result.response_ = response_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000004;
        }
        if (entOriginBuilder_ == null) {
          result.entOrigin_ = entOrigin_;
        } else {
          result.entOrigin_ = entOriginBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000008;
        }
        result.preDelay_ = preDelay_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000010;
        }
        result.mixPriority_ = mixPriority_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_PlayResponseConditional) {
          return mergeFrom((skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_PlayResponseConditional)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_PlayResponseConditional other) {
        if (other == skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_PlayResponseConditional.getDefaultInstance()) return this;
        if (other.hasEntIndex()) {
          setEntIndex(other.getEntIndex());
        }
        if (!other.playerSlots_.isEmpty()) {
          if (playerSlots_.isEmpty()) {
            playerSlots_ = other.playerSlots_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensurePlayerSlotsIsMutable();
            playerSlots_.addAll(other.playerSlots_);
          }
          onChanged();
        }
        if (other.hasResponse()) {
          bitField0_ |= 0x00000004;
          response_ = other.response_;
          onChanged();
        }
        if (other.hasEntOrigin()) {
          mergeEntOrigin(other.getEntOrigin());
        }
        if (other.hasPreDelay()) {
          setPreDelay(other.getPreDelay());
        }
        if (other.hasMixPriority()) {
          setMixPriority(other.getMixPriority());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_PlayResponseConditional parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (skadistats.clarity.wire.shared.s2.proto.S2UserMessages.CUserMessage_PlayResponseConditional) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int entIndex_ = -1;
      /**
       * optional int32 ent_index = 1 [default = -1];
       */
      public boolean hasEntIndex() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * optional int32 ent_index = 1 [default = -1];
       */
      public int getEntIndex() {
        return entIndex_;
      }
      /**
       * optional int32 ent_index = 1 [default = -1];
       */
      public Builder setEntIndex(int value) {
        bitField0_ |= 0x00000001;
        entIndex_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 ent_index = 1 [default = -1];
       */
      public Builder clearEntIndex() {
        bitField0_ = (bitField0_ & ~0x00000001);
        entIndex_ = -1;
        onChanged();
        return this;
      }

      private java.util.List playerSlots_ = java.util.Collections.emptyList();
      private void ensurePlayerSlotsIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          playerSlots_ = new java.util.ArrayList(playerSlots_);
          bitField0_ |= 0x00000002;
         }
      }
      /**
       * repeated int32 player_slots = 2;
       */
      public java.util.List
          getPlayerSlotsList() {
        return java.util.Collections.unmodifiableList(playerSlots_);
      }
      /**
       * repeated int32 player_slots = 2;
       */
      public int getPlayerSlotsCount() {
        return playerSlots_.size();
      }
      /**
       * repeated int32 player_slots = 2;
       */
      public int getPlayerSlots(int index) {
        return playerSlots_.get(index);
      }
      /**
       * repeated int32 player_slots = 2;
       */
      public Builder setPlayerSlots(
          int index, int value) {
        ensurePlayerSlotsIsMutable();
        playerSlots_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * repeated int32 player_slots = 2;
       */
      public Builder addPlayerSlots(int value) {
        ensurePlayerSlotsIsMutable();
        playerSlots_.add(value);
        onChanged();
        return this;
      }
      /**
       * repeated int32 player_slots = 2;
       */
      public Builder addAllPlayerSlots(
          java.lang.Iterable values) {
        ensurePlayerSlotsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, playerSlots_);
        onChanged();
        return this;
      }
      /**
       * repeated int32 player_slots = 2;
       */
      public Builder clearPlayerSlots() {
        playerSlots_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }

      private java.lang.Object response_ = "";
      /**
       * optional string response = 3;
       */
      public boolean hasResponse() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional string response = 3;
       */
      public java.lang.String getResponse() {
        java.lang.Object ref = response_;
        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()) {
            response_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string response = 3;
       */
      public com.google.protobuf.ByteString
          getResponseBytes() {
        java.lang.Object ref = response_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          response_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string response = 3;
       */
      public Builder setResponse(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        response_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string response = 3;
       */
      public Builder clearResponse() {
        bitField0_ = (bitField0_ & ~0x00000004);
        response_ = getDefaultInstance().getResponse();
        onChanged();
        return this;
      }
      /**
       * optional string response = 3;
       */
      public Builder setResponseBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        response_ = value;
        onChanged();
        return this;
      }

      private skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector entOrigin_ = skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVectorOrBuilder> entOriginBuilder_;
      /**
       * optional .CMsgVector ent_origin = 4;
       */
      public boolean hasEntOrigin() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional .CMsgVector ent_origin = 4;
       */
      public skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector getEntOrigin() {
        if (entOriginBuilder_ == null) {
          return entOrigin_;
        } else {
          return entOriginBuilder_.getMessage();
        }
      }
      /**
       * optional .CMsgVector ent_origin = 4;
       */
      public Builder setEntOrigin(skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector value) {
        if (entOriginBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          entOrigin_ = value;
          onChanged();
        } else {
          entOriginBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * optional .CMsgVector ent_origin = 4;
       */
      public Builder setEntOrigin(
          skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.Builder builderForValue) {
        if (entOriginBuilder_ == null) {
          entOrigin_ = builderForValue.build();
          onChanged();
        } else {
          entOriginBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * optional .CMsgVector ent_origin = 4;
       */
      public Builder mergeEntOrigin(skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector value) {
        if (entOriginBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008) &&
              entOrigin_ != skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.getDefaultInstance()) {
            entOrigin_ =
              skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.newBuilder(entOrigin_).mergeFrom(value).buildPartial();
          } else {
            entOrigin_ = value;
          }
          onChanged();
        } else {
          entOriginBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      /**
       * optional .CMsgVector ent_origin = 4;
       */
      public Builder clearEntOrigin() {
        if (entOriginBuilder_ == null) {
          entOrigin_ = skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.getDefaultInstance();
          onChanged();
        } else {
          entOriginBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }
      /**
       * optional .CMsgVector ent_origin = 4;
       */
      public skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.Builder getEntOriginBuilder() {
        bitField0_ |= 0x00000008;
        onChanged();
        return getEntOriginFieldBuilder().getBuilder();
      }
      /**
       * optional .CMsgVector ent_origin = 4;
       */
      public skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVectorOrBuilder getEntOriginOrBuilder() {
        if (entOriginBuilder_ != null) {
          return entOriginBuilder_.getMessageOrBuilder();
        } else {
          return entOrigin_;
        }
      }
      /**
       * optional .CMsgVector ent_origin = 4;
       */
      private com.google.protobuf.SingleFieldBuilder<
          skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVectorOrBuilder> 
          getEntOriginFieldBuilder() {
        if (entOriginBuilder_ == null) {
          entOriginBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVector.Builder, skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.CMsgVectorOrBuilder>(
                  getEntOrigin(),
                  getParentForChildren(),
                  isClean());
          entOrigin_ = null;
        }
        return entOriginBuilder_;
      }

      private float preDelay_ ;
      /**
       * optional float pre_delay = 5;
       */
      public boolean hasPreDelay() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional float pre_delay = 5;
       */
      public float getPreDelay() {
        return preDelay_;
      }
      /**
       * optional float pre_delay = 5;
       */
      public Builder setPreDelay(float value) {
        bitField0_ |= 0x00000010;
        preDelay_ = value;
        onChanged();
        return this;
      }
      /**
       * optional float pre_delay = 5;
       */
      public Builder clearPreDelay() {
        bitField0_ = (bitField0_ & ~0x00000010);
        preDelay_ = 0F;
        onChanged();
        return this;
      }

      private int mixPriority_ ;
      /**
       * optional int32 mix_priority = 6;
       */
      public boolean hasMixPriority() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional int32 mix_priority = 6;
       */
      public int getMixPriority() {
        return mixPriority_;
      }
      /**
       * optional int32 mix_priority = 6;
       */
      public Builder setMixPriority(int value) {
        bitField0_ |= 0x00000020;
        mixPriority_ = value;
        onChanged();
        return this;
      }
      /**
       * optional int32 mix_priority = 6;
       */
      public Builder clearMixPriority() {
        bitField0_ = (bitField0_ & ~0x00000020);
        mixPriority_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CUserMessage_PlayResponseConditional)
    }

    static {
      defaultInstance = new CUserMessage_PlayResponseConditional(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CUserMessage_PlayResponseConditional)
  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageAchievementEvent_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageAchievementEvent_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageCloseCaption_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageCloseCaption_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageCloseCaptionDirect_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageCloseCaptionDirect_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageCloseCaptionPlaceholder_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageCloseCaptionPlaceholder_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageCurrentTimescale_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageCurrentTimescale_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageDesiredTimescale_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageDesiredTimescale_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageFade_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageFade_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageShake_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageShake_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageShakeDir_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageShakeDir_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageWaterShake_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageWaterShake_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageScreenTilt_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageScreenTilt_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageSayText_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageSayText_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageSayText2_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageSayText2_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageHudMsg_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageHudMsg_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageHudText_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageHudText_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageTextMsg_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageTextMsg_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageGameTitle_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageGameTitle_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageResetHUD_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageResetHUD_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageSendAudio_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageSendAudio_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageAudioParameter_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageAudioParameter_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageVoiceMask_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageVoiceMask_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageRequestState_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageRequestState_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageRumble_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageRumble_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageSayTextChannel_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageSayTextChannel_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageColoredText_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageColoredText_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageItemPickup_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageItemPickup_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageAmmoDenied_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageAmmoDenied_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageShowMenu_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageShowMenu_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageCreditsMsg_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageCreditsMsg_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageHapticPulse_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageHapticPulse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CEntityMessagePlayJingle_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CEntityMessagePlayJingle_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CEntityMessageScreenOverlay_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CEntityMessageScreenOverlay_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CEntityMessageRemoveAllDecals_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CEntityMessageRemoveAllDecals_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CEntityMessagePropagateForce_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CEntityMessagePropagateForce_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CEntityMessageDoSpark_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CEntityMessageDoSpark_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CEntityMessageFixAngle_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CEntityMessageFixAngle_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageCameraTransition_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageCameraTransition_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageCameraTransition_Transition_DataDriven_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageCameraTransition_Transition_DataDriven_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_HudError_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_HudError_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMsg_CustomGameEvent_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMsg_CustomGameEvent_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageHapticsManagerPulse_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageHapticsManagerPulse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageHapticsManagerEffect_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageHapticsManagerEffect_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageAnimStateGraphState_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageAnimStateGraphState_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageCommandQueueState_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageCommandQueueState_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageCommandQueueState_command_queue_info_t_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageCommandQueueState_command_queue_info_t_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageUpdateCssClasses_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageUpdateCssClasses_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageServerFrameTime_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageServerFrameTime_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageLagCompensationError_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageLagCompensationError_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageRequestDllStatus_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageRequestDllStatus_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageRequestUtilAction_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageRequestUtilAction_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessage_UtilMsg_Response_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessage_UtilMsg_Response_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessage_UtilMsg_Response_ItemDetail_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessage_UtilMsg_Response_ItemDetail_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessage_DllStatus_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessage_DllStatus_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessage_DllStatus_CVDiagnostic_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessage_DllStatus_CVDiagnostic_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessageRequestInventory_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessageRequestInventory_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessage_Inventory_Response_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessage_Inventory_Response_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessage_Inventory_Response_InventoryDetail_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessage_Inventory_Response_InventoryDetail_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CUserMessage_PlayResponseConditional_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CUserMessage_PlayResponseConditional_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\025usermessages-s2.proto\032\035networkbasetype" +
      "s-common.proto\032\033networkbasetypes-demo.pr" +
      "oto\"3\n\034CUserMessageAchievementEvent\022\023\n\013a" +
      "chievement\030\001 \001(\r\"f\n\030CUserMessageCloseCap" +
      "tion\022\014\n\004hash\030\001 \001(\007\022\020\n\010duration\030\002 \001(\002\022\023\n\013" +
      "from_player\030\003 \001(\010\022\025\n\tent_index\030\004 \001(\005:\002-1" +
      "\"l\n\036CUserMessageCloseCaptionDirect\022\014\n\004ha" +
      "sh\030\001 \001(\007\022\020\n\010duration\030\002 \001(\002\022\023\n\013from_playe" +
      "r\030\003 \001(\010\022\025\n\tent_index\030\004 \001(\005:\002-1\"s\n#CUserM" +
      "essageCloseCaptionPlaceholder\022\016\n\006string\030",
      "\001 \001(\t\022\020\n\010duration\030\002 \001(\002\022\023\n\013from_player\030\003" +
      " \001(\010\022\025\n\tent_index\030\004 \001(\005:\002-1\"/\n\034CUserMess" +
      "ageCurrentTimescale\022\017\n\007current\030\001 \001(\002\"y\n\034" +
      "CUserMessageDesiredTimescale\022\017\n\007desired\030" +
      "\001 \001(\002\022\024\n\014acceleration\030\002 \001(\002\022\024\n\014minblendr" +
      "ate\030\003 \001(\002\022\034\n\024blenddeltamultiplier\030\004 \001(\002\"" +
      "U\n\020CUserMessageFade\022\020\n\010duration\030\001 \001(\r\022\021\n" +
      "\thold_time\030\002 \001(\r\022\r\n\005flags\030\003 \001(\r\022\r\n\005color" +
      "\030\004 \001(\007\"\\\n\021CUserMessageShake\022\017\n\007command\030\001" +
      " \001(\r\022\021\n\tamplitude\030\002 \001(\002\022\021\n\tfrequency\030\003 \001",
      "(\002\022\020\n\010duration\030\004 \001(\002\"Y\n\024CUserMessageShak" +
      "eDir\022!\n\005shake\030\001 \001(\0132\022.CUserMessageShake\022" +
      "\036\n\tdirection\030\002 \001(\0132\013.CMsgVector\"a\n\026CUser" +
      "MessageWaterShake\022\017\n\007command\030\001 \001(\r\022\021\n\tam" +
      "plitude\030\002 \001(\002\022\021\n\tfrequency\030\003 \001(\002\022\020\n\010dura" +
      "tion\030\004 \001(\002\"z\n\026CUserMessageScreenTilt\022\017\n\007" +
      "command\030\001 \001(\r\022\023\n\013ease_in_out\030\002 \001(\010\022\032\n\005an" +
      "gle\030\003 \001(\0132\013.CMsgVector\022\020\n\010duration\030\004 \001(\002" +
      "\022\014\n\004time\030\005 \001(\002\"J\n\023CUserMessageSayText\022\027\n" +
      "\013playerindex\030\001 \001(\005:\002-1\022\014\n\004text\030\002 \001(\t\022\014\n\004",
      "chat\030\003 \001(\010\"\222\001\n\024CUserMessageSayText2\022\027\n\013e" +
      "ntityindex\030\001 \001(\005:\002-1\022\014\n\004chat\030\002 \001(\010\022\023\n\013me" +
      "ssagename\030\003 \001(\t\022\016\n\006param1\030\004 \001(\t\022\016\n\006param" +
      "2\030\005 \001(\t\022\016\n\006param3\030\006 \001(\t\022\016\n\006param4\030\007 \001(\t\"" +
      "|\n\022CUserMessageHudMsg\022\017\n\007channel\030\001 \001(\r\022\t" +
      "\n\001x\030\002 \001(\002\022\t\n\001y\030\003 \001(\002\022\016\n\006color1\030\004 \001(\007\022\016\n\006" +
      "color2\030\005 \001(\007\022\016\n\006effect\030\006 \001(\r\022\017\n\007message\030" +
      "\013 \001(\t\"&\n\023CUserMessageHudText\022\017\n\007message\030" +
      "\001 \001(\t\"2\n\023CUserMessageTextMsg\022\014\n\004dest\030\001 \001" +
      "(\r\022\r\n\005param\030\002 \003(\t\"\027\n\025CUserMessageGameTit",
      "le\"\026\n\024CUserMessageResetHUD\"8\n\025CUserMessa" +
      "geSendAudio\022\021\n\tsoundname\030\001 \001(\t\022\014\n\004stop\030\002" +
      " \001(\010\"n\n\032CUserMessageAudioParameter\022\026\n\016pa" +
      "rameter_type\030\001 \001(\r\022\026\n\016name_hash_code\030\002 \001" +
      "(\r\022\r\n\005value\030\003 \001(\002\022\021\n\tint_value\030\004 \001(\r\"W\n\025" +
      "CUserMessageVoiceMask\022\027\n\017gamerules_masks" +
      "\030\001 \003(\r\022\021\n\tban_masks\030\002 \003(\r\022\022\n\nmod_enable\030" +
      "\003 \001(\010\"\032\n\030CUserMessageRequestState\"@\n\022CUs" +
      "erMessageRumble\022\r\n\005index\030\001 \001(\005\022\014\n\004data\030\002" +
      " \001(\005\022\r\n\005flags\030\003 \001(\005\"K\n\032CUserMessageSayTe",
      "xtChannel\022\016\n\006player\030\001 \001(\005\022\017\n\007channel\030\002 \001" +
      "(\005\022\014\n\004text\030\003 \001(\t\"\226\001\n\027CUserMessageColored" +
      "Text\022\r\n\005color\030\001 \001(\r\022\014\n\004text\030\002 \001(\t\022\r\n\005res" +
      "et\030\003 \001(\010\022\037\n\023context_player_slot\030\004 \001(\005:\002-" +
      "1\022\025\n\rcontext_value\030\005 \001(\005\022\027\n\017context_team" +
      "_id\030\006 \001(\005\"*\n\026CUserMessageItemPickup\022\020\n\010i" +
      "temname\030\001 \001(\t\")\n\026CUserMessageAmmoDenied\022" +
      "\017\n\007ammo_id\030\001 \001(\r\"e\n\024CUserMessageShowMenu" +
      "\022\022\n\nvalidslots\030\001 \001(\r\022\023\n\013displaytime\030\002 \001(" +
      "\r\022\020\n\010needmore\030\003 \001(\010\022\022\n\nmenustring\030\004 \001(\t\"",
      "V\n\026CUserMessageCreditsMsg\022\'\n\010rolltype\030\001 " +
      "\001(\0162\n.eRollType:\tROLL_NONE\022\023\n\013logo_lengt" +
      "h\030\002 \001(\002\"m\n\027CUserMessageHapticPulse\022\017\n\007ha" +
      "nd_id\030\001 \001(\005\022A\n\npulse_type\030\002 \001(\0162\021.EHapti" +
      "cPulseType:\032VR_HAND_HAPTIC_PULSE_LIGHT\";" +
      "\n\030CEntityMessagePlayJingle\022\037\n\nentity_msg" +
      "\030\001 \001(\0132\013.CEntityMsg\"T\n\033CEntityMessageScr" +
      "eenOverlay\022\024\n\014start_effect\030\001 \001(\010\022\037\n\nenti" +
      "ty_msg\030\002 \001(\0132\013.CEntityMsg\"W\n\035CEntityMess" +
      "ageRemoveAllDecals\022\025\n\rremove_decals\030\001 \001(",
      "\010\022\037\n\nentity_msg\030\002 \001(\0132\013.CEntityMsg\"]\n\034CE" +
      "ntityMessagePropagateForce\022\034\n\007impulse\030\001 " +
      "\001(\0132\013.CMsgVector\022\037\n\nentity_msg\030\002 \001(\0132\013.C" +
      "EntityMsg\"\275\001\n\025CEntityMessageDoSpark\022\033\n\006o" +
      "rigin\030\001 \001(\0132\013.CMsgVector\022\027\n\013entityindex\030" +
      "\002 \001(\005:\002-1\022\016\n\006radius\030\003 \001(\002\022\r\n\005color\030\004 \001(\007" +
      "\022\r\n\005beams\030\005 \001(\r\022\r\n\005thick\030\006 \001(\002\022\020\n\010durati" +
      "on\030\007 \001(\002\022\037\n\nentity_msg\030\010 \001(\0132\013.CEntityMs" +
      "g\"g\n\026CEntityMessageFixAngle\022\020\n\010relative\030" +
      "\001 \001(\010\022\032\n\005angle\030\002 \001(\0132\013.CMsgQAngle\022\037\n\nent",
      "ity_msg\030\003 \001(\0132\013.CEntityMsg\"\361\001\n\034CUserMess" +
      "ageCameraTransition\022\023\n\013camera_type\030\001 \001(\r" +
      "\022\020\n\010duration\030\002 \001(\002\022O\n\022params_data_driven" +
      "\030\003 \001(\01323.CUserMessageCameraTransition.Tr" +
      "ansition_DataDriven\032Y\n\025Transition_DataDr" +
      "iven\022\020\n\010filename\030\001 \001(\t\022\034\n\020attach_ent_ind" +
      "ex\030\002 \001(\005:\002-1\022\020\n\010duration\030\003 \001(\002\"%\n\021CUserM" +
      "sg_HudError\022\020\n\010order_id\030\001 \001(\005\"<\n\030CUserMs" +
      "g_CustomGameEvent\022\022\n\nevent_name\030\001 \001(\t\022\014\n" +
      "\004data\030\002 \001(\014\"\177\n\037CUserMessageHapticsManage",
      "rPulse\022\017\n\007hand_id\030\001 \001(\005\022\030\n\020effect_amplit" +
      "ude\030\002 \001(\002\022\030\n\020effect_frequency\030\003 \001(\002\022\027\n\017e" +
      "ffect_duration\030\004 \001(\002\"h\n CUserMessageHapt" +
      "icsManagerEffect\022\017\n\007hand_id\030\001 \001(\005\022\035\n\025eff" +
      "ect_name_hash_code\030\002 \001(\r\022\024\n\014effect_scale" +
      "\030\003 \001(\002\"E\n\037CUserMessageAnimStateGraphStat" +
      "e\022\024\n\014entity_index\030\001 \001(\005\022\014\n\004data\030\002 \001(\014\"\235\002" +
      "\n\035CUserMessageCommandQueueState\022\027\n\013playe" +
      "r_slot\030\001 \001(\005:\002-1\022O\n\022command_queue_info\030\002" +
      " \001(\01323.CUserMessageCommandQueueState.com",
      "mand_queue_info_t\032\221\001\n\024command_queue_info" +
      "_t\022\027\n\017commands_queued\030\001 \001(\r\022\"\n\032command_q" +
      "ueue_desired_size\030\002 \001(\r\022\035\n\025starved_comma" +
      "nd_ticks\030\003 \001(\r\022\035\n\025time_dilation_percent\030" +
      "\004 \001(\005\"_\n\034CUserMessageUpdateCssClasses\022\032\n" +
      "\022target_world_panel\030\001 \001(\005\022\023\n\013css_classes" +
      "\030\002 \001(\t\022\016\n\006is_add\030\003 \001(\010\"1\n\033CUserMessageSe" +
      "rverFrameTime\022\022\n\nframe_time\030\001 \001(\002\"4\n CUs" +
      "erMessageLagCompensationError\022\020\n\010distanc" +
      "e\030\001 \001(\002\"G\n\034CUserMessageRequestDllStatus\022",
      "\022\n\ndll_action\030\001 \001(\t\022\023\n\013full_report\030\002 \001(\010" +
      "\"j\n\035CUserMessageRequestUtilAction\022\r\n\005uti" +
      "l1\030\002 \001(\005\022\r\n\005util2\030\003 \001(\005\022\r\n\005util3\030\004 \001(\005\022\r" +
      "\n\005util4\030\005 \001(\005\022\r\n\005util5\030\006 \001(\005\"\370\002\n\035CUserMe" +
      "ssage_UtilMsg_Response\022\013\n\003crc\030\001 \001(\007\022\022\n\ni" +
      "tem_count\030\002 \001(\005\022\014\n\004crc2\030\003 \001(\007\022\023\n\013item_co" +
      "unt2\030\004 \001(\005\022\020\n\010crc_part\030\005 \003(\005\022\021\n\tcrc_part" +
      "2\030\006 \003(\005\022\030\n\020client_timestamp\030\007 \001(\005\022\020\n\010pla" +
      "tform\030\010 \001(\005\022>\n\013itemdetails\030\t \003(\0132).CUser" +
      "Message_UtilMsg_Response.ItemDetail\022\021\n\ti",
      "temgroup\030\n \001(\005\022\023\n\013total_count\030\013 \001(\005\022\024\n\014t" +
      "otal_count2\030\014 \001(\005\032D\n\nItemDetail\022\r\n\005index" +
      "\030\001 \001(\005\022\014\n\004hash\030\002 \001(\005\022\013\n\003crc\030\003 \001(\005\022\014\n\004nam" +
      "e\030\004 \001(\t\"\242\002\n\026CUserMessage_DllStatus\022\023\n\013fi" +
      "le_report\030\001 \001(\t\022\024\n\014command_line\030\002 \001(\t\022\023\n" +
      "\013total_files\030\003 \001(\r\022\022\n\nprocess_id\030\004 \001(\r\022\021" +
      "\n\tosversion\030\005 \001(\005\022\023\n\013client_time\030\006 \001(\004\0229" +
      "\n\013diagnostics\030\007 \003(\0132$.CUserMessage_DllSt" +
      "atus.CVDiagnostic\032Q\n\014CVDiagnostic\022\n\n\002id\030" +
      "\001 \001(\r\022\020\n\010extended\030\002 \001(\r\022\r\n\005value\030\003 \001(\004\022\024",
      "\n\014string_value\030\004 \001(\t\"R\n\034CUserMessageRequ" +
      "estInventory\022\021\n\tinventory\030\001 \001(\005\022\016\n\006offse" +
      "t\030\002 \001(\005\022\017\n\007options\030\003 \001(\005\"\367\004\n\037CUserMessag" +
      "e_Inventory_Response\022\013\n\003crc\030\001 \001(\007\022\022\n\nite" +
      "m_count\030\002 \001(\005\022\021\n\tosversion\030\005 \001(\005\022\021\n\tperf" +
      "_time\030\006 \001(\005\022\030\n\020client_timestamp\030\007 \001(\005\022\020\n" +
      "\010platform\030\010 \001(\005\022E\n\013inventories\030\t \003(\01320.C" +
      "UserMessage_Inventory_Response.Inventory" +
      "Detail\022F\n\014inventories2\030\n \003(\01320.CUserMess" +
      "age_Inventory_Response.InventoryDetail\022F",
      "\n\014inventories3\030\016 \003(\01320.CUserMessage_Inve" +
      "ntory_Response.InventoryDetail\022\020\n\010inv_ty" +
      "pe\030\013 \001(\005\022\025\n\rbuild_version\030\014 \001(\005\022\020\n\010insta" +
      "nce\030\r \001(\005\022\022\n\nstart_time\030\017 \001(\003\032\272\001\n\017Invent" +
      "oryDetail\022\r\n\005index\030\001 \001(\005\022\017\n\007primary\030\002 \001(" +
      "\003\022\016\n\006offset\030\003 \001(\003\022\r\n\005first\030\004 \001(\003\022\014\n\004base" +
      "\030\005 \001(\003\022\014\n\004name\030\006 \001(\t\022\021\n\tbase_name\030\007 \001(\t\022" +
      "\023\n\013base_detail\030\010 \001(\005\022\021\n\tbase_time\030\t \001(\005\022" +
      "\021\n\tbase_hash\030\n \001(\005\"\257\001\n$CUserMessage_Play" +
      "ResponseConditional\022\025\n\tent_index\030\001 \001(\005:\002",
      "-1\022\024\n\014player_slots\030\002 \003(\005\022\020\n\010response\030\003 \001" +
      "(\t\022\037\n\nent_origin\030\004 \001(\0132\013.CMsgVector\022\021\n\tp" +
      "re_delay\030\005 \001(\002\022\024\n\014mix_priority\030\006 \001(\005*o\n\t" +
      "eRollType\022\026\n\tROLL_NONE\020\377\377\377\377\377\377\377\377\377\001\022\016\n\nROL" +
      "L_STATS\020\000\022\020\n\014ROLL_CREDITS\020\001\022\027\n\023ROLL_LATE" +
      "_JOIN_LOGO\020\002\022\017\n\013ROLL_OUTTRO\020\003*t\n\020EHaptic" +
      "PulseType\022\036\n\032VR_HAND_HAPTIC_PULSE_LIGHT\020" +
      "\000\022\037\n\033VR_HAND_HAPTIC_PULSE_MEDIUM\020\001\022\037\n\033VR" +
      "_HAND_HAPTIC_PULSE_STRONG\020\002B9\n\'skadistat" +
      "s.clarity.wire.shared.s2.protoB\016S2UserMe",
      "ssages"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
          public com.google.protobuf.ExtensionRegistry assignDescriptors(
              com.google.protobuf.Descriptors.FileDescriptor root) {
            descriptor = root;
            return null;
          }
        };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.getDescriptor(),
          skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.getDescriptor(),
        }, assigner);
    internal_static_CUserMessageAchievementEvent_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_CUserMessageAchievementEvent_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageAchievementEvent_descriptor,
        new java.lang.String[] { "Achievement", });
    internal_static_CUserMessageCloseCaption_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_CUserMessageCloseCaption_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageCloseCaption_descriptor,
        new java.lang.String[] { "Hash", "Duration", "FromPlayer", "EntIndex", });
    internal_static_CUserMessageCloseCaptionDirect_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_CUserMessageCloseCaptionDirect_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageCloseCaptionDirect_descriptor,
        new java.lang.String[] { "Hash", "Duration", "FromPlayer", "EntIndex", });
    internal_static_CUserMessageCloseCaptionPlaceholder_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_CUserMessageCloseCaptionPlaceholder_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageCloseCaptionPlaceholder_descriptor,
        new java.lang.String[] { "String", "Duration", "FromPlayer", "EntIndex", });
    internal_static_CUserMessageCurrentTimescale_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_CUserMessageCurrentTimescale_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageCurrentTimescale_descriptor,
        new java.lang.String[] { "Current", });
    internal_static_CUserMessageDesiredTimescale_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_CUserMessageDesiredTimescale_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageDesiredTimescale_descriptor,
        new java.lang.String[] { "Desired", "Acceleration", "Minblendrate", "Blenddeltamultiplier", });
    internal_static_CUserMessageFade_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_CUserMessageFade_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageFade_descriptor,
        new java.lang.String[] { "Duration", "HoldTime", "Flags", "Color", });
    internal_static_CUserMessageShake_descriptor =
      getDescriptor().getMessageTypes().get(7);
    internal_static_CUserMessageShake_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageShake_descriptor,
        new java.lang.String[] { "Command", "Amplitude", "Frequency", "Duration", });
    internal_static_CUserMessageShakeDir_descriptor =
      getDescriptor().getMessageTypes().get(8);
    internal_static_CUserMessageShakeDir_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageShakeDir_descriptor,
        new java.lang.String[] { "Shake", "Direction", });
    internal_static_CUserMessageWaterShake_descriptor =
      getDescriptor().getMessageTypes().get(9);
    internal_static_CUserMessageWaterShake_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageWaterShake_descriptor,
        new java.lang.String[] { "Command", "Amplitude", "Frequency", "Duration", });
    internal_static_CUserMessageScreenTilt_descriptor =
      getDescriptor().getMessageTypes().get(10);
    internal_static_CUserMessageScreenTilt_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageScreenTilt_descriptor,
        new java.lang.String[] { "Command", "EaseInOut", "Angle", "Duration", "Time", });
    internal_static_CUserMessageSayText_descriptor =
      getDescriptor().getMessageTypes().get(11);
    internal_static_CUserMessageSayText_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageSayText_descriptor,
        new java.lang.String[] { "Playerindex", "Text", "Chat", });
    internal_static_CUserMessageSayText2_descriptor =
      getDescriptor().getMessageTypes().get(12);
    internal_static_CUserMessageSayText2_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageSayText2_descriptor,
        new java.lang.String[] { "Entityindex", "Chat", "Messagename", "Param1", "Param2", "Param3", "Param4", });
    internal_static_CUserMessageHudMsg_descriptor =
      getDescriptor().getMessageTypes().get(13);
    internal_static_CUserMessageHudMsg_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageHudMsg_descriptor,
        new java.lang.String[] { "Channel", "X", "Y", "Color1", "Color2", "Effect", "Message", });
    internal_static_CUserMessageHudText_descriptor =
      getDescriptor().getMessageTypes().get(14);
    internal_static_CUserMessageHudText_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageHudText_descriptor,
        new java.lang.String[] { "Message", });
    internal_static_CUserMessageTextMsg_descriptor =
      getDescriptor().getMessageTypes().get(15);
    internal_static_CUserMessageTextMsg_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageTextMsg_descriptor,
        new java.lang.String[] { "Dest", "Param", });
    internal_static_CUserMessageGameTitle_descriptor =
      getDescriptor().getMessageTypes().get(16);
    internal_static_CUserMessageGameTitle_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageGameTitle_descriptor,
        new java.lang.String[] { });
    internal_static_CUserMessageResetHUD_descriptor =
      getDescriptor().getMessageTypes().get(17);
    internal_static_CUserMessageResetHUD_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageResetHUD_descriptor,
        new java.lang.String[] { });
    internal_static_CUserMessageSendAudio_descriptor =
      getDescriptor().getMessageTypes().get(18);
    internal_static_CUserMessageSendAudio_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageSendAudio_descriptor,
        new java.lang.String[] { "Soundname", "Stop", });
    internal_static_CUserMessageAudioParameter_descriptor =
      getDescriptor().getMessageTypes().get(19);
    internal_static_CUserMessageAudioParameter_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageAudioParameter_descriptor,
        new java.lang.String[] { "ParameterType", "NameHashCode", "Value", "IntValue", });
    internal_static_CUserMessageVoiceMask_descriptor =
      getDescriptor().getMessageTypes().get(20);
    internal_static_CUserMessageVoiceMask_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageVoiceMask_descriptor,
        new java.lang.String[] { "GamerulesMasks", "BanMasks", "ModEnable", });
    internal_static_CUserMessageRequestState_descriptor =
      getDescriptor().getMessageTypes().get(21);
    internal_static_CUserMessageRequestState_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageRequestState_descriptor,
        new java.lang.String[] { });
    internal_static_CUserMessageRumble_descriptor =
      getDescriptor().getMessageTypes().get(22);
    internal_static_CUserMessageRumble_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageRumble_descriptor,
        new java.lang.String[] { "Index", "Data", "Flags", });
    internal_static_CUserMessageSayTextChannel_descriptor =
      getDescriptor().getMessageTypes().get(23);
    internal_static_CUserMessageSayTextChannel_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageSayTextChannel_descriptor,
        new java.lang.String[] { "Player", "Channel", "Text", });
    internal_static_CUserMessageColoredText_descriptor =
      getDescriptor().getMessageTypes().get(24);
    internal_static_CUserMessageColoredText_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageColoredText_descriptor,
        new java.lang.String[] { "Color", "Text", "Reset", "ContextPlayerSlot", "ContextValue", "ContextTeamId", });
    internal_static_CUserMessageItemPickup_descriptor =
      getDescriptor().getMessageTypes().get(25);
    internal_static_CUserMessageItemPickup_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageItemPickup_descriptor,
        new java.lang.String[] { "Itemname", });
    internal_static_CUserMessageAmmoDenied_descriptor =
      getDescriptor().getMessageTypes().get(26);
    internal_static_CUserMessageAmmoDenied_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageAmmoDenied_descriptor,
        new java.lang.String[] { "AmmoId", });
    internal_static_CUserMessageShowMenu_descriptor =
      getDescriptor().getMessageTypes().get(27);
    internal_static_CUserMessageShowMenu_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageShowMenu_descriptor,
        new java.lang.String[] { "Validslots", "Displaytime", "Needmore", "Menustring", });
    internal_static_CUserMessageCreditsMsg_descriptor =
      getDescriptor().getMessageTypes().get(28);
    internal_static_CUserMessageCreditsMsg_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageCreditsMsg_descriptor,
        new java.lang.String[] { "Rolltype", "LogoLength", });
    internal_static_CUserMessageHapticPulse_descriptor =
      getDescriptor().getMessageTypes().get(29);
    internal_static_CUserMessageHapticPulse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageHapticPulse_descriptor,
        new java.lang.String[] { "HandId", "PulseType", });
    internal_static_CEntityMessagePlayJingle_descriptor =
      getDescriptor().getMessageTypes().get(30);
    internal_static_CEntityMessagePlayJingle_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CEntityMessagePlayJingle_descriptor,
        new java.lang.String[] { "EntityMsg", });
    internal_static_CEntityMessageScreenOverlay_descriptor =
      getDescriptor().getMessageTypes().get(31);
    internal_static_CEntityMessageScreenOverlay_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CEntityMessageScreenOverlay_descriptor,
        new java.lang.String[] { "StartEffect", "EntityMsg", });
    internal_static_CEntityMessageRemoveAllDecals_descriptor =
      getDescriptor().getMessageTypes().get(32);
    internal_static_CEntityMessageRemoveAllDecals_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CEntityMessageRemoveAllDecals_descriptor,
        new java.lang.String[] { "RemoveDecals", "EntityMsg", });
    internal_static_CEntityMessagePropagateForce_descriptor =
      getDescriptor().getMessageTypes().get(33);
    internal_static_CEntityMessagePropagateForce_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CEntityMessagePropagateForce_descriptor,
        new java.lang.String[] { "Impulse", "EntityMsg", });
    internal_static_CEntityMessageDoSpark_descriptor =
      getDescriptor().getMessageTypes().get(34);
    internal_static_CEntityMessageDoSpark_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CEntityMessageDoSpark_descriptor,
        new java.lang.String[] { "Origin", "Entityindex", "Radius", "Color", "Beams", "Thick", "Duration", "EntityMsg", });
    internal_static_CEntityMessageFixAngle_descriptor =
      getDescriptor().getMessageTypes().get(35);
    internal_static_CEntityMessageFixAngle_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CEntityMessageFixAngle_descriptor,
        new java.lang.String[] { "Relative", "Angle", "EntityMsg", });
    internal_static_CUserMessageCameraTransition_descriptor =
      getDescriptor().getMessageTypes().get(36);
    internal_static_CUserMessageCameraTransition_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageCameraTransition_descriptor,
        new java.lang.String[] { "CameraType", "Duration", "ParamsDataDriven", });
    internal_static_CUserMessageCameraTransition_Transition_DataDriven_descriptor =
      internal_static_CUserMessageCameraTransition_descriptor.getNestedTypes().get(0);
    internal_static_CUserMessageCameraTransition_Transition_DataDriven_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageCameraTransition_Transition_DataDriven_descriptor,
        new java.lang.String[] { "Filename", "AttachEntIndex", "Duration", });
    internal_static_CUserMsg_HudError_descriptor =
      getDescriptor().getMessageTypes().get(37);
    internal_static_CUserMsg_HudError_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMsg_HudError_descriptor,
        new java.lang.String[] { "OrderId", });
    internal_static_CUserMsg_CustomGameEvent_descriptor =
      getDescriptor().getMessageTypes().get(38);
    internal_static_CUserMsg_CustomGameEvent_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMsg_CustomGameEvent_descriptor,
        new java.lang.String[] { "EventName", "Data", });
    internal_static_CUserMessageHapticsManagerPulse_descriptor =
      getDescriptor().getMessageTypes().get(39);
    internal_static_CUserMessageHapticsManagerPulse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageHapticsManagerPulse_descriptor,
        new java.lang.String[] { "HandId", "EffectAmplitude", "EffectFrequency", "EffectDuration", });
    internal_static_CUserMessageHapticsManagerEffect_descriptor =
      getDescriptor().getMessageTypes().get(40);
    internal_static_CUserMessageHapticsManagerEffect_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageHapticsManagerEffect_descriptor,
        new java.lang.String[] { "HandId", "EffectNameHashCode", "EffectScale", });
    internal_static_CUserMessageAnimStateGraphState_descriptor =
      getDescriptor().getMessageTypes().get(41);
    internal_static_CUserMessageAnimStateGraphState_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageAnimStateGraphState_descriptor,
        new java.lang.String[] { "EntityIndex", "Data", });
    internal_static_CUserMessageCommandQueueState_descriptor =
      getDescriptor().getMessageTypes().get(42);
    internal_static_CUserMessageCommandQueueState_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageCommandQueueState_descriptor,
        new java.lang.String[] { "PlayerSlot", "CommandQueueInfo", });
    internal_static_CUserMessageCommandQueueState_command_queue_info_t_descriptor =
      internal_static_CUserMessageCommandQueueState_descriptor.getNestedTypes().get(0);
    internal_static_CUserMessageCommandQueueState_command_queue_info_t_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageCommandQueueState_command_queue_info_t_descriptor,
        new java.lang.String[] { "CommandsQueued", "CommandQueueDesiredSize", "StarvedCommandTicks", "TimeDilationPercent", });
    internal_static_CUserMessageUpdateCssClasses_descriptor =
      getDescriptor().getMessageTypes().get(43);
    internal_static_CUserMessageUpdateCssClasses_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageUpdateCssClasses_descriptor,
        new java.lang.String[] { "TargetWorldPanel", "CssClasses", "IsAdd", });
    internal_static_CUserMessageServerFrameTime_descriptor =
      getDescriptor().getMessageTypes().get(44);
    internal_static_CUserMessageServerFrameTime_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageServerFrameTime_descriptor,
        new java.lang.String[] { "FrameTime", });
    internal_static_CUserMessageLagCompensationError_descriptor =
      getDescriptor().getMessageTypes().get(45);
    internal_static_CUserMessageLagCompensationError_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageLagCompensationError_descriptor,
        new java.lang.String[] { "Distance", });
    internal_static_CUserMessageRequestDllStatus_descriptor =
      getDescriptor().getMessageTypes().get(46);
    internal_static_CUserMessageRequestDllStatus_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageRequestDllStatus_descriptor,
        new java.lang.String[] { "DllAction", "FullReport", });
    internal_static_CUserMessageRequestUtilAction_descriptor =
      getDescriptor().getMessageTypes().get(47);
    internal_static_CUserMessageRequestUtilAction_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageRequestUtilAction_descriptor,
        new java.lang.String[] { "Util1", "Util2", "Util3", "Util4", "Util5", });
    internal_static_CUserMessage_UtilMsg_Response_descriptor =
      getDescriptor().getMessageTypes().get(48);
    internal_static_CUserMessage_UtilMsg_Response_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessage_UtilMsg_Response_descriptor,
        new java.lang.String[] { "Crc", "ItemCount", "Crc2", "ItemCount2", "CrcPart", "CrcPart2", "ClientTimestamp", "Platform", "Itemdetails", "Itemgroup", "TotalCount", "TotalCount2", });
    internal_static_CUserMessage_UtilMsg_Response_ItemDetail_descriptor =
      internal_static_CUserMessage_UtilMsg_Response_descriptor.getNestedTypes().get(0);
    internal_static_CUserMessage_UtilMsg_Response_ItemDetail_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessage_UtilMsg_Response_ItemDetail_descriptor,
        new java.lang.String[] { "Index", "Hash", "Crc", "Name", });
    internal_static_CUserMessage_DllStatus_descriptor =
      getDescriptor().getMessageTypes().get(49);
    internal_static_CUserMessage_DllStatus_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessage_DllStatus_descriptor,
        new java.lang.String[] { "FileReport", "CommandLine", "TotalFiles", "ProcessId", "Osversion", "ClientTime", "Diagnostics", });
    internal_static_CUserMessage_DllStatus_CVDiagnostic_descriptor =
      internal_static_CUserMessage_DllStatus_descriptor.getNestedTypes().get(0);
    internal_static_CUserMessage_DllStatus_CVDiagnostic_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessage_DllStatus_CVDiagnostic_descriptor,
        new java.lang.String[] { "Id", "Extended", "Value", "StringValue", });
    internal_static_CUserMessageRequestInventory_descriptor =
      getDescriptor().getMessageTypes().get(50);
    internal_static_CUserMessageRequestInventory_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessageRequestInventory_descriptor,
        new java.lang.String[] { "Inventory", "Offset", "Options", });
    internal_static_CUserMessage_Inventory_Response_descriptor =
      getDescriptor().getMessageTypes().get(51);
    internal_static_CUserMessage_Inventory_Response_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessage_Inventory_Response_descriptor,
        new java.lang.String[] { "Crc", "ItemCount", "Osversion", "PerfTime", "ClientTimestamp", "Platform", "Inventories", "Inventories2", "Inventories3", "InvType", "BuildVersion", "Instance", "StartTime", });
    internal_static_CUserMessage_Inventory_Response_InventoryDetail_descriptor =
      internal_static_CUserMessage_Inventory_Response_descriptor.getNestedTypes().get(0);
    internal_static_CUserMessage_Inventory_Response_InventoryDetail_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessage_Inventory_Response_InventoryDetail_descriptor,
        new java.lang.String[] { "Index", "Primary", "Offset", "First", "Base", "Name", "BaseName", "BaseDetail", "BaseTime", "BaseHash", });
    internal_static_CUserMessage_PlayResponseConditional_descriptor =
      getDescriptor().getMessageTypes().get(52);
    internal_static_CUserMessage_PlayResponseConditional_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_CUserMessage_PlayResponseConditional_descriptor,
        new java.lang.String[] { "EntIndex", "PlayerSlots", "Response", "EntOrigin", "PreDelay", "MixPriority", });
    skadistats.clarity.wire.shared.common.proto.CommonNetworkBaseTypes.getDescriptor();
    skadistats.clarity.wire.shared.demo.proto.DemoNetworkBaseTypes.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy